Eddo
GTD-inspired todo & time tracking with AI integration
πΊ Watch the sneak peek intro on YouTube
πΊ Setup walkthrough & pi-coding-agent demo
β οΈ Alpha Software: This is a solo side project under active development. Feel free to try it and provide feedback, but expect rough edges, breaking changes, and don't rely on data integrity across updates.
Overview
Eddo is a personal project that combines classic GTD (Getting Things Done) methodology with modern AI capabilities. Born from a notebook-based system refined over 10+ years, it's my attempt to digitize that workflow while exploring what's possible with AI assistants.
Manage todos through a web interface, Telegram bot with Claude AI, or programmatically via MCP. Includes pi-coding-agent integration with custom skills and extensions for AI-assisted development workflows.
| Inspiration | Eddo (initial 2022 verrsion) |
|---|---|
![]() |
![]() |
Features
- GTD Contexts β Organize todos by context (work, home, projects) in Kanban columns
- Calendar Week View β Navigate todos by week with date-range queries
- Dependency Graph β Open focused parent/child + blockedBy graph from table row actions with Graphviz leveling
- Time Tracking β Start/pause timers with daily summaries and filter views by active tracking state
- Offline-First β PouchDB local storage with real-time sync
- AI Agent β Telegram bot with Claude for natural language todo management
- GitHub Sync β Auto-import issues assigned to you
- RSS Feeds β Subscribe to feeds, create todos from items
- Email Sync β Gmail OAuth integration for email-to-todo
- MCP Server β Programmatic access via Model Context Protocol
- pi-coding-agent Skills β AI coding assistant integration
Quick Start
Requirements: Node.js β₯18.11.0, pnpm β₯7.1.0, Docker
# Clone repository
git clone https://github.com/walterra/eddoapp.git
cd eddoapp
# Optional: Use latest stable release instead of main branch
git checkout $(git describe --tags --abbrev=0)
# Install dependencies
pnpm install
# Run interactive setup wizard
pnpm dev:setup
# Start development server
pnpm dev
# Open http://localhost:3000
What Setup Does
The pnpm dev:setup wizard:
- Checks prerequisites β Node.js, pnpm, Docker, Git
- Starts Docker services β CouchDB and Elasticsearch
- Generates
.envβ Development defaults - Builds packages β Core libraries and setup tools
- Creates user β
eddo_pi_agentfor MCP/agent access - Links pi-coding-agent skills β If pi is installed globally
Troubleshooting
pnpm dev:doctor
Diagnoses: prerequisites, Docker status, service health, port availability, configuration.
Code Quality
pnpm check:commit
Runs TypeScript build checks, ESLint, and Prettier verification.
Architecture
Monorepo with these packages:
| Package | Description |
|---|---|
web-client |
React frontend with PouchDB offline storage |
web-api |
Hono API server, CouchDB proxy, sync schedulers |
core-shared |
Shared types, utilities, data models |
core-server |
Server-side database and config |
core-client |
Client-side config |
mcp-server |
Model Context Protocol server |
telegram-bot |
AI bot with Claude integration |
setup |
Setup wizard and doctor tools |
chat-agent |
Skills and extensions for pi-coding-agent |
Data Flow
Browser (PouchDB) ββ Web API ββ CouchDB
β
Elasticsearch (search)
Telegram Bot β MCP Server β CouchDB
Integrations
Telegram Bot
AI-powered assistant for natural language todo management:
"Add a work todo for tomorrow's meeting"
"What's overdue?"
"Start tracking time on the API refactor"
Setup: Set TELEGRAM_BOT_TOKEN and ANTHROPIC_API_KEY in .env
pnpm dev:telegram-bot
Features:
- Multi-step instruction handling
- Daily briefings at scheduled times
- GitHub/RSS/Email sync configuration via bot commands
GitHub Issue Sync
Sync issues assigned to you into Eddo todos:
- Create PAT at https://github.com/settings/tokens (scope:
repoorpublic_repo) - Configure:
/github token ghp_your_token - Enable:
/github on - Check:
/github status
Each repository becomes its own context. Issues auto-complete when closed on GitHub.
RSS Feed Sync
Subscribe to RSS/Atom feeds:
- Add feed:
/rss add https://example.com/feed.xml - Enable:
/rss on - List feeds:
/rss list
Supports autodiscovery β add a website URL and Eddo finds the feed.
Email Sync (Gmail)
Sync emails from a designated folder to todos:
- Start OAuth:
/email auth - Authorize in browser
- Enable:
/email on - Set folder:
/email folder Eddo
Requires Google Cloud project setup. See Gmail OAuth Setup.
MCP Server
Programmatic todo access via Model Context Protocol:
pnpm dev:mcp-server
pnpm test:mcp-server # Interactive testing
Note: MCP requests require an API key via
Authorization: Bearer <key>orX-API-Key. Generate the API key in User Profile β Security or frompnpm dev:create-useroutput. Don't expose the MCP server to untrusted networks.
pi-coding-agent Integration
If you use pi-coding-agent, Eddo provides skills and extensions:
Skills:
eddo-todoβ Task management commandseddo-workβ Structured implementation workfloweddo-spawnβ Multi-agent git worktree orchestrationelasticsearch-esqlβ ES|QL query generationsearxng-searchβ Web search integration
Extensions:
graphviz-chartβ Diagram renderingvega-chartβ Data visualization
The setup wizard auto-links these if pi is installed globally (npm i -g @mariozechner/pi-coding-agent).
Backup & Recovery
# Interactive backup/restore
pnpm backup:interactive
pnpm restore:interactive
# Automated backups
pnpm backup:auto --pattern "eddo_user_*"
# Retention policy
pnpm backup:retention
Development
pnpm dev # Start all services
pnpm test # Run tests
pnpm lint # Check code style
pnpm build # Production build
pnpm dev:create-user # Create user manually
See DEVELOPMENT.md for architecture details, testing, and contribution guidelines.
License
MIT

