Natural-language task management for humans and AI agents. Type one sentence — AI parses it into a structured task, shows you a preview, and executes only after you confirm.
简体中文 | English
Most todo apps make you fill forms. ai-todo makes the input box the only interface:
- One sentence, fully parsed — "Move the weekly review to Friday 3pm and make it high priority" locates the right task, extracts date and priority, and shows a diff preview before anything changes.
- Preview before execute — every operation lands as a reviewable action first. No accidental edits, no lost tasks.
- Deep structure — unlimited parent/child nesting, cascading complete/delete, and any top-level task can be pinned into a shared project space with
@memberassignment and a Gantt view.
ai-todo ships a CLI designed for agents like Claude Code — commands are discovered dynamically from the server, and every output is pure JSON (no scraping, no guessing):
npm install -g ai-todo-cli
ai-todo login
ai-todo tasks:list --filter today
ai-todo tasks:create --title "Ship v0.13"
ai-todo tasks:add-log --id <id> --content "progress note"Install the Claude Code skill and task-related intents route straight into ai-todo:
npx skills add strzhao/ai-todo-cliCLI source: apps/cli in this monorepo (published to npm as ai-todo-cli)
- Open ai-todo.stringzhao.life and sign in
- Press
Cmd/Ctrl + Kto focus the AI input - Describe the task or operation in one sentence, review the preview, confirm
Note: the UI is currently Chinese-only; the AI parser understands English input fine, and an English UI is on the roadmap.
Next.js 16 monorepo (apps/web + apps/cli). You provide: a Postgres database (POSTGRES_URL), a DeepSeek API key for NL parsing (DEEPSEEK_API_KEY), and an OIDC provider (AUTH_ISSUER; set AUTH_DEV_BYPASS=true for local development). Then:
npm install && npm run dev # http://localhost:4000- Natural-language create / update / complete / delete / add-progress, with batch operations in one input
- Preview-and-confirm for every action
- Unlimited task nesting; completing a parent completes the subtree
- Project spaces: pin any top-level task, invite members, assign with
@email, Gantt timeline Cmd/Ctrl + Kfocus input ·Cmd/Ctrl + Enterparse · focus a parent task to default-create subtasks
| ai-todo | Taskosaur | TaskFlow AI | |
|---|---|---|---|
| Input paradigm | NL-first, one box | conversational AI in-app | NL → daily plans |
| Preview before execute | ✅ per-action diff | — | — |
| Dedicated agent CLI (pure JSON) | ✅ | — | — |
| Claude Code skill | ✅ | — | — |
| Unlimited nesting + shared spaces | ✅ | project-based | plan-based |
- i18n (English UI)
- More agent integrations (MCP server)
- Mobile PWA polish
Issues and PRs are welcome — see CONTRIBUTING.md. The API surface is documented in documents/api/.
MIT © 2026 strzhao

