A collection of productivity-enhancing integrations for Todoist, built with TypeScript and deployed on Cloudflare Workers.
Automatically sets default times for tasks without due times. Perfect for throwing tasks at Todoist without worrying about scheduling.
- Features: Timezone-aware scheduling between 8-11 AM
- URL: https://deftime.todoist.rosenpin.io
Automatically adds strikethrough formatting to completed tasks in Google Calendar.
- Features: Visual completion feedback, removes time components
- URL: https://done.todoist.rosenpin.io
Sets Google Calendar event durations based on Todoist labels.
- Features: Label-based duration setting (15m, 30m, 1h, etc.)
- URL: https://durations.todoist.rosenpin.io
- Runtime: Cloudflare Workers
- Language: TypeScript
- Framework: Hono.js
- Database: Cloudflare D1 (SQLite)
- API: @doist/todoist-api-typescript v5.0.0
- UI: Tailwind CSS
todoist-plugins/
├── apps/
│ ├── deftime/ # DefTime app
│ ├── done/ # Done app
│ └── durations/ # Durations app
├── shared/
│ ├── auth/ # OAuth handling
│ ├── db/ # Database operations
│ ├── todoist-client/ # Todoist API wrapper
│ └── utils/ # Common utilities
├── database/ # D1 schemas and migrations
└── .github/ # CI/CD workflows
- Node.js 18+
- npm or yarn
- Wrangler CLI
# Clone and install
git clone https://github.com/rosenpin/todoist-plugins
cd todoist-plugins
npm install
# Build all packages
npm run build
# Run individual app in development
cd apps/deftime
npm run dev
npm test
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
If you find these tools useful, consider buying me a coffee ☕
Made with ❤️ for the Todoist community