β‘ Install & run in seconds
Pick your platform:
πΊ macOS (Homebrew)
brew tap programmersd21/kairo_tap && brew install --cask kairo
π§ Linux / macOS (curl)
curl -fsSL https://raw.githubusercontent.com/programmersd21/kairo/main/scripts/install.sh | bash
πͺ Windows (PowerShell)
iwr -useb https://raw.githubusercontent.com/programmersd21/kairo/main/scripts/install.ps1 | iex
π§° Go install
go install github.com/programmersd21/kairo/cmd/kairo@latest
βΆοΈ Run
kairo
Press n β create your first task.
Done writing? β ctrl+s to save your task!
π§ One-line definition
Kairo is a terminal task manager built in Go for developers who want speed, structure, and full local control.
π₯ Why this exists
Most task managers are built wrong for developers:
- GUI apps β slow, mouse-driven, context switching
- Plain-text tools β flexible but no structure or querying
- Cloud apps β lock-in, subscriptions, data ownership loss
- Legacy TUIs β powerful but outdated UX
Kairo is the missing middle:
A modern, scriptable, AI-aware, local-first task system inside your terminal
β¨ Core capabilities
π Data sovereignty
- SQLite storage (WAL-enabled)
- Fully offline operation
- Optional Git-backed sync (no backend)
- Export: JSON / CSV / Markdown / plain text
β‘ Speed at every layer
- Sub-millisecond fuzzy search with ranked results
- Full keyboard control (no mouse)
- Vim mode (j/k/gg/G)
- Natural language deadlines (tomorrow 10am, next friday, in 2 hours)
π§© Extensibility
- Lua plugin system (event hooks: task_create, task_update, app_start, etc.)
- Headless CLI API for automation
- MCP server exposing full task schema to AI agents
- Custom themes via Lua or config
π€ AI (optional)
- Gemini integration (2.0 / 2.5 / 3.1 flash)
- Full task CRUD from chat panel
- Toggle anytime (
ctrl+a)
- Fully disabled unless invoked
π¨ Terminal UI
- Bento-style layout with Lip Gloss styling
- 32 built-in themes (dark/light/hybrid)
- Live theme switching (
t)
- Full-viewport rendering (no terminal bleed-through)
- Cinematic animations for create/complete/delete
π§ Feature snapshot
| Capability |
Status |
| Local-first storage |
β
|
| Full TUI with themes |
β
|
| Keyboard-only workflow |
β
|
| Git sync (no backend) |
β
|
| Lua plugin system |
β
|
| CLI automation API |
β
|
| AI assistant |
β
|
| MCP server |
β
|
| Free & open source |
β
|
π Quick commands
kairo api create --title "Finish report"
kairo api list --tag work
kairo api update --id <id> --status done
kairo export --format markdown
kairo sync
kairo mcp
π§± Architecture
User Input (CLI / UI / Lua / AI)
β
Task Service (single source of truth)
β
SQLite (WAL) + optional Git sync
β
Bubble Tea TUI (instant rendering)
π§ Plugin system (Lua)
kairo.on("task_create", function(event)
kairo.notify("New task: " .. event.task.title)
end)
Lua API: create_task, update_task, delete_task, list_tasks, on, notify
Events: task_create Β· task_update Β· task_delete Β· app_start Β· app_stop
β¨οΈ Keyboard shortcuts
| Key |
Action |
| n |
New task |
| e |
Edit |
| z |
Complete |
| d |
Delete |
| t |
Switch theme |
| f |
Filter tags |
| ctrl+p |
Command palette |
| ctrl+a |
AI panel |
| ? |
Help |
π¦ Full capability set
- Views: Inbox, Today, Upcoming, Completed, by Tag, Priority
- Fuzzy command palette (ctrl+p)
- Shell completions (bash/zsh/fish/powershell)
- Import/export: JSON, CSV, Markdown
- Git-backed sync (per-task JSON)
- MCP server for AI agents
- Plugin hooks for automation
π Automation API
kairo api create --title "task" --priority 1
kairo api list --tag work
kairo api update --id <id> --status done
kairo api delete all
JSON mode:
kairo api --json '{"action":"create","payload":{"title":"API task"}}'
Extras:
kairo api set_theme --theme nord
kairo api plugin_list
kairo export --format csv
kairo sync
kairo mcp
π§© Plugin system (full example)
local plugin = {
id = "my-plugin",
name = "My Plugin",
version = "1.0.0"
}
kairo.on("task_create", function(event)
kairo.notify("New task: " .. event.task.title)
end)
return plugin
π§± Architecture stack
- TUI: Bubble Tea (state machine)
- Styling: Lip Gloss
- Storage: SQLite (WAL)
- Search: in-memory fuzzy index
- Plugins: GopherLua VM
- Sync: Git-based per-task files
- AI: Gemini tool-calling API
πΊ Roadmap
- encrypted multi-workspace support
- event-sourced sync engine
- sandboxed plugins
- smart task suggestions
- plugin marketplace
- streaming performance optimizations
βοΈ Configuration
Auto-generated on first run:
- Linux:
~/.config/kairo/config.toml
- macOS:
~/Library/Application Support/kairo/config.toml
- Windows:
%APPDATA%\\kairo\\config.toml
In-app config: ctrl+s (settings menu)
π€ Contributing
PRs welcome:
- themes
- plugins
- performance
- docs
Special thanks to @Tornado300 for key bug fixes and contributions.
β Star this repo
If Kairo improves your workflow, star it so more developers can discover it.
Fast. Local. Scriptable. Terminal-native.