mirror of
https://github.com/johannesjo/super-productivity.git
synced 2026-01-23 10:45:57 +00:00
- Add @super-productivity/plugin-api package with TypeScript definitions - Define core plugin interfaces, types, and manifest structure - Add plugin hooks system for event-driven architecture - Create plugin API type definitions and constants - Add documentation and development guidelines
2.5 KiB
2.5 KiB
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
# 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
- Run
npm run build - Upload the generated
dist/plugin.zipin Super Productivity - Or copy the
distfolder tosrc/assets/procrastination-buster/
Usage
- Shortcut: Use keyboard shortcut for quick access
- Side Panel: Open the plugin via the side panel
- Automatic: After 15 minutes of inactivity on a task
Procrastination Types
- Overwhelm - "Too much at once"
- Perfectionism - "It's not perfect enough"
- Unclear - "I don't know what to do"
- Boredom - "It's boring"
- Fear - "I might fail"
- Low Energy - "I'm too tired"
- Distraction - "Other things are more interesting"
- 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:
- plugin.ts - Backend logic that communicates with Super Productivity
- 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