Skip to content

rosenpin/todoist-plugins

Repository files navigation

Rosenpin's Todoist Plugins

A collection of productivity-enhancing integrations for Todoist, built with TypeScript and deployed on Cloudflare Workers.

🚀 Services

Automatically sets default times for tasks without due times. Perfect for throwing tasks at Todoist without worrying about scheduling.

Automatically adds strikethrough formatting to completed tasks in Google Calendar.

Sets Google Calendar event durations based on Todoist labels.

🏗️ Architecture

  • Runtime: Cloudflare Workers
  • Language: TypeScript
  • Framework: Hono.js
  • Database: Cloudflare D1 (SQLite)
  • API: @doist/todoist-api-typescript v5.0.0
  • UI: Tailwind CSS

📁 Project Structure

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

🛠️ Development

Prerequisites

  • Node.js 18+
  • npm or yarn
  • Wrangler CLI

Setup

# 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

Testing

npm test

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

💝 Support

If you find these tools useful, consider buying me a coffee

🔗 Links


Made with ❤️ for the Todoist community

About

A collection of my productivity-enhancing integrations for Todoist.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published