Back to Super Productivity

Procrastination Buster Plugin

packages/plugin-dev/procrastination-buster/README.md

18.4.42.5 KB
Original Source

Procrastination Buster Plugin

A Super Productivity plugin that helps identify procrastination blockers and provides tailored strategies to overcome them.

Features

  • šŸŽÆ Identify 8 different procrastination types
  • šŸ’” Get tailored strategies for each type
  • ā±ļø Start Pomodoro timer directly from strategies
  • āž• Add strategies as tasks
  • šŸŒ“ Dark mode support using CSS variables

Installation

Development

bash
# Install dependencies
npm install

# Start development server
npm run dev

# Build for production
npm run build

# Create plugin ZIP
npm run package

Use in Super Productivity

  1. Run npm run build
  2. Upload the generated dist/plugin.zip in Super Productivity
  3. Or copy the dist folder to src/assets/procrastination-buster/

Usage

  1. Shortcut: Use keyboard shortcut for quick access
  2. Side Panel: Open the plugin via the side panel
  3. Automatic: After 15 minutes of inactivity on a task

Procrastination Types

  1. Overwhelm - "Too much at once"
  2. Perfectionism - "It's not perfect enough"
  3. Unclear - "I don't know what to do"
  4. Boredom - "It's boring"
  5. Fear - "I might fail"
  6. Low Energy - "I'm too tired"
  7. Distraction - "Other things are more interesting"
  8. Resistance - "I don't want to do this"

Technology

  • SolidJS for reactive UI
  • Vite for fast development and builds
  • TypeScript for type safety
  • Super Productivity Plugin API
  • CSS Variables for theme integration

Development

The plugin consists of two parts:

  1. plugin.ts - Backend logic that communicates with Super Productivity
  2. SolidJS App - Frontend UI in iframe

Project Structure

procrastination-buster/
ā”œā”€ā”€ src/
│   ā”œā”€ā”€ plugin.ts         # Plugin backend
│   ā”œā”€ā”€ App.tsx          # Main component
│   ā”œā”€ā”€ types.ts         # TypeScript definitions
│   ā”œā”€ā”€ BlockerSelector.tsx
│   └── StrategyList.tsx
ā”œā”€ā”€ manifest.json        # Plugin metadata
ā”œā”€ā”€ index.html          # HTML entry
└── vite.config.ts      # Build configuration

Customization

Add New Strategies

Edit src/types.ts and add new strategies to the appropriate types.

Styling Customization

Edit src/App.css for visual adjustments. The plugin uses CSS variables for seamless theme integration:

  • --primary-color - Main theme color
  • --text-color - Primary text
  • --background-color - Background
  • --card-background - Card backgrounds
  • --border-radius - Standard radius
  • And many more...

License

MIT