todo-for-ai

πŸ€– A comprehensive task management system specifically designed for AI assistants. Supports project management, task tracking, team collaboration, and seamless AI integration through MCP (Model Context Protocol). Built with modern tech stack including React, Flask, and Docker. Try it now at https://todo4ai.org/

GitHub Stars

168

User Rating

Not Rated

Favorites

0

Views

8

Forks

18

Issues

1

README
Todo for AI

GitHub stars
GitHub license
GitHub issues
GitHub forks
npm version
Docker Pulls
Website

δΈ­ζ–‡η‰ˆζœ¬ | English

πŸš€ A powerful task management system specifically designed for AI assistants, supporting intelligent project management, automated task tracking, and seamless team collaboration through MCP (Model Context Protocol) integration.

πŸš€ Try it now: Visit https://todo4ai.org/ to experience our product!

πŸ€– Why Todo for AI?

Todo for AI bridges the gap between AI assistants and human productivity workflows. Unlike traditional task management tools, our system is built from the ground up to work seamlessly with AI agents through the Model Context Protocol (MCP).

🎯 Core Value Propositions
  • πŸ”— Native AI Integration: First-class support for AI assistants through MCP, enabling natural language task management
  • 🧠 Intelligent Automation: AI agents can create, update, and manage tasks autonomously based on context and user needs
  • πŸ“Š Smart Project Insights: AI-powered analytics and recommendations for better project planning and execution
  • πŸ”„ Seamless Workflow: Bridge between AI capabilities and human oversight with intelligent task delegation
  • 🌐 Universal Compatibility: Works with Claude, GPT, and other AI assistants through standardized MCP protocol
  • ⚑ Real-time Collaboration: Instant synchronization between AI agents and human team members
πŸš€ Perfect For
  • AI-First Teams building the future of work
  • Developers integrating AI assistants into their workflows
  • Product Managers coordinating between AI agents and human teams
  • Researchers managing complex AI-driven projects
  • Anyone looking to supercharge their productivity with AI assistance
πŸ“Έ Screenshots & Demo
πŸ–₯️ Web Interface

Todo for AI Dashboard
Modern, intuitive dashboard for project and task management

Task Management
Comprehensive task management with AI integration

AI Assistant Integration
Seamless AI assistant integration through MCP

🎬 Demo Video

Todo for AI Demo

Click to watch a full demo of Todo for AI in action

✨ Key Features in Action
  • πŸ€– AI-Powered Task Creation: Watch AI assistants create and organize tasks naturally
  • πŸ“Š Real-time Analytics: See project progress and insights update live
  • πŸ”„ Seamless Collaboration: Experience smooth coordination between AI and human team members
  • 🎯 Smart Prioritization: Observe AI-driven task prioritization and scheduling
πŸ“ Project Structure

This project uses Git Submodule architecture, splitting different modules into independent repositories:

πŸš€ Installation & Quick Start

Choose your preferred installation method:

🐳 Option 1: Docker (Recommended)

The fastest way to get started - everything included in one container:

# Pull and run the latest image
docker run -d --name todo-for-ai \
  -p 50111:80 \
  -p 50110:50110 \
  -e DATABASE_URL="mysql+pymysql://username:password@host.docker.internal:3306/todo_for_ai" \
  -e GMAIL_USER="your-email@gmail.com" \
  -e GMAIL_PASSWORD="your-app-password" \
  -e GITHUB_TOKEN="your-github-token" \
  -e SECRET_KEY="your-secret-key-here" \
  -e JWT_SECRET_KEY="your-jwt-secret-key-here" \
  --add-host=host.docker.internal:host-gateway \
  todoforai/todo-for-ai:latest

# Access the application
# Frontend: http://localhost:50111/todo-for-ai/pages/projects
# API: http://localhost:50110/todo-for-ai/api/v1/
πŸ“¦ Option 2: MCP Package Only

If you only need the MCP server for AI assistant integration:

# Install via npm
npm install -g @todo-for-ai/mcp

# Or install locally
npm install @todo-for-ai/mcp

# Configure and start
todo-for-ai-mcp --config config.json
πŸ› οΈ Option 3: Development Setup

For developers who want to contribute or customize:

# 1. Clone the project (including submodules)
git clone --recursive https://github.com/todo-for-ai/todo-for-ai.git
cd todo-for-ai

# 2. Initialize submodules (if not using --recursive)
git submodule update --init --recursive

# 3. Set up environment variables
cp .env.example .env
# Edit .env with your configuration

# 4. Start with Docker Compose
docker-compose up -d

# Or build and run manually
docker build -t todo-for-ai:latest .
docker run -d --name todo-for-ai [environment variables] todo-for-ai:latest
⚑ Option 4: Source Installation

For advanced users who prefer manual setup:

# 1. Clone and setup
git clone --recursive https://github.com/todo-for-ai/todo-for-ai.git
cd todo-for-ai

# 2. Backend setup
cd todo-for-ai-api-server
pip install -r requirements.txt
python app.py

# 3. Frontend setup (new terminal)
cd ../todo-for-ai-webpage
npm install
npm run build
npm run preview

# 4. MCP server setup (new terminal)
cd ../todo-for-ai-mcp
npm install
npm run build
npm start
🎯 Quick Start Examples
πŸ€– Using with AI Assistants (MCP)

Once installed, you can immediately start using Todo for AI with your favorite AI assistant:

// Example: Claude Desktop MCP Configuration
{
  "mcpServers": {
    "todo-for-ai": {
      "command": "npx",
      "args": ["@todo-for-ai/mcp"],
      "env": {
        "TODO_API_URL": "http://localhost:50110/todo-for-ai/api/v1",
        "TODO_API_KEY": "your-api-key"
      }
    }
  }
}
# Example AI Commands (Natural Language)
"Create a new project called 'Website Redesign'"
"Add a task 'Design homepage mockup' to the Website Redesign project"
"List all my pending tasks"
"Mark the homepage mockup task as completed"
"Show me project progress for this week"
🌐 Web Interface Usage
# 1. Access the web interface
open http://localhost:50111/todo-for-ai/pages/projects

# 2. Login with GitHub OAuth or create account
# 3. Create your first project
# 4. Add tasks and start collaborating with AI assistants
πŸ”§ API Integration
// Example: Creating a project via API
const response = await fetch('http://localhost:50110/todo-for-ai/api/v1/projects', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer your-jwt-token'
  },
  body: JSON.stringify({
    name: 'My AI Project',
    description: 'A project managed by AI assistants'
  })
});

// Example: Adding a task
const taskResponse = await fetch('http://localhost:50110/todo-for-ai/api/v1/tasks', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer your-jwt-token'
  },
  body: JSON.stringify({
    project_id: 1,
    title: 'Implement user authentication',
    content: 'Add OAuth integration for secure user login',
    priority: 'high',
    is_ai_task: true
  })
});
πŸ“± MCP Server Configuration
// config.json for MCP server
{
  "server": {
    "host": "localhost",
    "port": 3001
  },
  "api": {
    "baseUrl": "http://localhost:50110/todo-for-ai/api/v1",
    "timeout": 30000
  },
  "auth": {
    "type": "jwt",
    "token": "your-jwt-token"
  },
  "features": {
    "autoCreateProjects": true,
    "smartTaskBreakdown": true,
    "contextualInsights": true
  }
}
πŸš€ Docker Deployment
1. Build image
docker build -t todo-for-ai:latest .
2. Start container
docker run -d --name todo-for-ai \
  -p 50111:80 \
  -p 50110:50110 \
  -e DATABASE_URL="mysql+pymysql://username:password@host.docker.internal:3306/todo_for_ai" \
  -e GMAIL_USER="your-email@gmail.com" \
  -e GMAIL_PASSWORD="your-app-password" \
  -e GITHUB_TOKEN="your-github-token" \
  -e SECRET_KEY="your-secret-key-here" \
  -e JWT_SECRET_KEY="your-jwt-secret-key-here" \
  --add-host=host.docker.internal:host-gateway \
  todo-for-ai:latest
3. Access URLs
4. Environment Variables
Variable Description
DATABASE_URL Database connection string
GMAIL_USER Gmail email address
GMAIL_PASSWORD Gmail app password
GITHUB_TOKEN GitHub access token
GITHUB_CLIENT_ID GitHub OAuth app ID
GITHUB_CLIENT_SECRET GitHub OAuth app secret
SECRET_KEY Flask secret key
JWT_SECRET_KEY JWT secret key
πŸ”§ Configuration
GitHub OAuth App Setup
  1. Visit GitHub Developer Settings
  2. Click "New OAuth App"
  3. Fill in application information:
  4. Get Client ID and Client Secret after creation
Gmail App Password Setup
  1. Login to Gmail account
  2. Go to "Manage your Google Account"
  3. Select "Security" β†’ "2-Step Verification"
  4. Generate "App passwords"
GitHub Token Setup
  1. Login to GitHub
  2. Go to Settings β†’ Developer settings β†’ Personal access tokens
  3. Generate new token with appropriate permissions
✨ Key Features
🎯 Core Task Management
  • πŸ“‹ Smart Project Organization - Hierarchical project and task structure with AI-powered categorization
  • βœ… Intelligent Task Tracking - Real-time status updates with automated progress monitoring
  • 🏷️ Dynamic Tagging System - Flexible labeling with AI-suggested tags for better organization
  • ⏰ Smart Scheduling - AI-assisted deadline management and priority optimization
  • πŸ“Š Progress Analytics - Visual dashboards with AI-generated insights and recommendations
πŸ€– AI Integration
  • πŸ”Œ MCP Protocol Support - Native integration with Claude, GPT, and other AI assistants
  • πŸ—£οΈ Natural Language Interface - Create and manage tasks using conversational commands
  • 🧠 Intelligent Automation - AI agents can autonomously manage tasks based on context
  • πŸ“ Smart Task Generation - AI-powered task breakdown and subtask creation
  • πŸ” Contextual Insights - AI-driven project analysis and optimization suggestions
πŸ‘₯ Collaboration & Communication
  • πŸ” Secure Authentication - Multi-factor authentication with GitHub OAuth integration
  • πŸ“§ Smart Notifications - Intelligent email alerts with customizable triggers
  • πŸ”„ Real-time Sync - Instant updates across all connected AI agents and team members
  • πŸ’¬ Integrated Feedback - Seamless communication between AI assistants and human users
  • 🌐 Cross-platform Access - Web interface with API access for custom integrations
πŸ› οΈ Developer Experience
  • 🐳 Docker Ready - One-command deployment with full containerization
  • πŸ”§ RESTful API - Comprehensive API for custom integrations and extensions
  • πŸ“š Rich Documentation - Detailed guides for setup, usage, and customization
  • πŸ”’ Enterprise Security - Production-ready security features and compliance
  • πŸš€ Scalable Architecture - Microservices design for high-performance deployments
πŸ” Troubleshooting
Common Issues
1. Database Connection Failed
# Check if database is running
mysql -u username -p -h localhost

# Check container logs
docker logs todo-for-ai
2. Port Already in Use
# Check port usage
lsof -i :50110
lsof -i :50111

# Kill process
kill -9 <PID>
3. Frontend Page Cannot Load
# Check nginx configuration
docker exec todo-for-ai nginx -t

# Restart nginx
docker exec todo-for-ai supervisorctl restart nginx
4. API Authentication Failed
  • Check if environment variables are set correctly
  • Confirm Gmail app password format is correct
  • Verify GitHub Token permissions
Log Viewing
# View all logs
docker logs todo-for-ai

# View Flask logs
docker exec todo-for-ai tail -f /var/log/supervisor/flask.out.log

# View Nginx logs
docker exec todo-for-ai tail -f /var/log/nginx/access.log
πŸ§ͺ Testing
API Testing
# Test backend health
curl http://localhost:50110/

# Test API proxy
curl http://localhost:50111/todo-for-ai/api/v1/projects

# Test frontend page
curl http://localhost:50111/todo-for-ai/pages/projects
Functional Testing
  1. Access frontend page
  2. Try login functionality
  3. Create projects and tasks
  4. Test email notifications
πŸš€ Production Deployment
Security Configuration
  1. Use Strong Passwords: Ensure database and application keys are complex enough
  2. HTTPS Configuration: Configure SSL certificates for production environment
  3. Firewall Settings: Restrict unnecessary port access
  4. Regular Backups: Set up automatic database backups
Performance Optimization
  1. Resource Limits: Set memory and CPU limits for containers
  2. Load Balancing: Configure load balancing for multi-instance deployment
  3. Cache Configuration: Consider adding Redis cache
  4. Monitoring & Alerting: Configure application monitoring and alerting
🀝 Contributing

Issues and Pull Requests are welcome!

Development Workflow
  1. Fork the project
  2. Create a feature branch
  3. Commit your changes
  4. Create a Pull Request
πŸ“„ License

MIT License


🌟 Ready to get started? Visit https://todo4ai.org/ and experience the power of AI-driven task management!