{"id":48996490,"url":"https://github.com/programmersd21/kairo","last_synced_at":"2026-05-07T13:05:37.489Z","repository":{"id":351598411,"uuid":"1211341525","full_name":"programmersd21/kairo","owner":"programmersd21","description":"🤩 Kairo is a fast, keyboard-first terminal task manager in Go 🐹 with offline-first SQLite, Git sync 🔁, fuzzy search 🔍 \u0026 Lua plugins 🧩","archived":false,"fork":false,"pushed_at":"2026-04-20T14:06:23.000Z","size":336,"stargazers_count":26,"open_issues_count":2,"forks_count":1,"subscribers_count":6,"default_branch":"main","last_synced_at":"2026-04-20T19:03:34.770Z","etag":null,"topics":["bubbletea","command-palette","cross-platform","developer-tools","fuzzy-search","git","go","golang","lipgloss","lua","minimal-ui","offline","open-source","plugin-system","productivity","sqlite","task-manager","terminal","tui"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/programmersd21.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-15T09:46:34.000Z","updated_at":"2026-04-20T14:06:54.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/programmersd21/kairo","commit_stats":null,"previous_names":["programmersd21/kairo"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/programmersd21/kairo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/programmersd21%2Fkairo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/programmersd21%2Fkairo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/programmersd21%2Fkairo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/programmersd21%2Fkairo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/programmersd21","download_url":"https://codeload.github.com/programmersd21/kairo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/programmersd21%2Fkairo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32108187,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-21T11:25:29.218Z","status":"ssl_error","status_checked_at":"2026-04-21T11:25:28.499Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bubbletea","command-palette","cross-platform","developer-tools","fuzzy-search","git","go","golang","lipgloss","lua","minimal-ui","offline","open-source","plugin-system","productivity","sqlite","task-manager","terminal","tui"],"created_at":"2026-04-18T17:09:27.554Z","updated_at":"2026-05-07T13:05:37.482Z","avatar_url":"https://github.com/programmersd21.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\r\n\r\n\u003cimg src=\"screenshots/logo.png\" alt=\"Kairo\" width=\"80\" /\u003e\r\n\r\n# Kairo\r\n\r\n**The terminal task manager for developers who live in their editor.**\r\n\r\nA premium, minimalist task manager designed for focus. Kairo strips away the noise, relying on structured whitespace and refined typography to keep you in your flow.\r\n\r\n\u003cbr/\u003e\r\n\r\n[![Release](https://img.shields.io/github/v/release/programmersd21/kairo?style=for-the-badge\u0026logo=github\u0026color=7c3aed)](https://github.com/programmersd21/kairo/releases)\r\n[![CI](https://img.shields.io/github/actions/workflow/status/programmersd21/kairo/ci.yml?branch=main\u0026style=for-the-badge\u0026logo=github\u0026color=2563eb)](https://github.com/programmersd21/kairo/actions)\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-f59e0b?style=for-the-badge)](https://opensource.org/licenses/MIT)\r\n\r\n\u003cbr/\u003e\r\n\r\n![Kairo Demo](screenshots/demo.gif)\r\n\r\n\u003c/div\u003e\r\n\r\n---\r\n\r\n## Why Kairo?\r\n\r\nKairo is built on the philosophy of \"Calm Tech.\" We focus on your data, not our UI.\r\n\r\n| Premium Minimalist Feature | Benefit |\r\n|---|---|\r\n| **Momentum Dashboard** | Empty states are now data-rich, bordered modules. |\r\n| **White-Space-First UI** | No borders, no clutter — just content. |\r\n| **Monochrome Design** | Neutral core, semantic-only color highlights. |\r\n| **Typography Hierarchy** | Clear visual focus through font weight and scale. |\r\n| **Fluid Motion** | Sub-300ms transitions that feel \"alive.\" |\r\n\r\n---\r\n\r\n## Quick Start\r\n\r\n**macOS (Homebrew)**\r\n```bash\r\nbrew install programmersd21/kairo/kairo\r\n```\r\n\r\n**Linux / macOS**\r\n```bash\r\ncurl -fsSL https://raw.githubusercontent.com/programmersd21/kairo/main/scripts/install.sh | bash\r\n```\r\n\r\n**Windows (PowerShell)**\r\n```powershell\r\niwr -useb https://raw.githubusercontent.com/programmersd21/kairo/main/scripts/install.ps1 | iex\r\n```\r\n\r\n**Go**\r\n```bash\r\ngo install github.com/programmersd21/kairo/cmd/kairo@latest\r\n```\r\n\r\nThen just run:\r\n```bash\r\nkairo\r\n```\r\n\r\nPress `n` to create your first task. `ctrl+s` to save. That's it.\r\n\r\n\u003e Works best on Alacritty. Some terminals may have rendering quirks — see [#16](https://github.com/programmersd21/kairo/issues/16).\r\n\r\n---\r\n\r\n## Features\r\n\r\n![Kairo Home Screen](screenshots/home_screen.png)\r\n\r\n### ⚡ Genuinely Fast\r\nSub-millisecond fuzzy search. Vim bindings (`j/k/gg/G`). Natural language deadlines like `tomorrow 10am` or `next friday`. Full keyboard control — you never touch the mouse.\r\n\r\n### 🗂 Nested Tasks \u0026 Hierarchy\r\nOrganize work into deep hierarchies. Nest tasks via the **Parent** field in the editor, collapse/expand with `Space`, and export/import with full structure preserved — across JSON, CSV, Markdown, and plain text.\r\n\r\n### 🔁 Recurring Tasks\r\nTasks reappear automatically on a schedule. Weekly (`mon,wed,fri`) or monthly (`15`). When completed, Kairo generates the next instance immediately with a smart due-date preview.\r\n\r\n### 🔒 Your Data, Locally\r\nSQLite with WAL mode. Fully offline. Optional Git-backed sync — no backend, no account, no lock-in. Export to JSON, CSV, Markdown, or plain text on demand.\r\n\r\n### 🧭 Interactive Stats Dashboard\r\nPress `s` to open a next-gen \"Command Center\". Visualize your **Productivity DNA**, track real-time momentum, and get behavioral insights like \"You complete 73% more tasks at night\". Fully animated, keyboard-driven, and deeply insightful.\r\n\r\n### 🤖 AI — Optional, Never Intrusive\r\nGemini integration (`gemini-3.1-flash-lite-preview` / `gemini-2.5-flash-lite` / `gemini-2.0-flash-lite`). Toggle with `ctrl+a`. Create and manage complex recurring tasks with natural language. Invisible until you need it.\r\n\r\n### 🎨 Beautiful by Default\r\n32 built-in themes with edge-to-edge background coverage. Live switching with `t`. Bento-style layout. Real-time Markdown preview (`ctrl+p`). Cinematic create/complete/delete animations — or disable them entirely in `config.toml`.\r\n\r\n### 🧩 Extensible to the Core\r\nA Lua plugin system hooks into task events. A headless CLI API enables full scripting. An MCP server opens Kairo to AI agents — with complete support for recurring schedules and nested hierarchies.\r\n\r\n---\r\n\r\n## Keyboard Shortcuts\r\n\r\n| Key | Action |\r\n|---|---|\r\n| `n` | New task |\r\n| `e` | Edit task |\r\n| `z` | Complete task |\r\n| `d` | Delete task |\r\n| `Space` | Collapse / expand subtasks |\r\n| `s` | Stats dashboard |\r\n| `f` | Filter by tag |\r\n| `t` | Switch theme |\r\n| `ctrl+p` | Command palette / Markdown preview |\r\n| `ctrl+a` | AI panel |\r\n| `ctrl+s` | Settings |\r\n| `x` | Import / Export |\r\n| `?` | Help |\r\n| `ctrl+d` | Welcome tour |\r\n\r\n\u003cdiv align=\"center\"\u003e\r\n  \u003cimg src=\"screenshots/new_task.png\" width=\"30%\" /\u003e\r\n  \u003cimg src=\"screenshots/filter_tags.png\" width=\"30%\" /\u003e\r\n  \u003cimg src=\"screenshots/help_menu.png\" width=\"30%\" /\u003e\r\n  \u003cimg src=\"screenshots/settings_menu.png\" width=\"30%\" /\u003e\r\n  \u003cimg src=\"screenshots/theme_menu.png\" width=\"30%\" /\u003e\r\n  \u003cimg src=\"screenshots/dashboard.png\" width=\"30%\" /\u003e\r\n\u003c/div\u003e\r\n\r\n---\r\n\r\n## CLI Automation\r\n\r\nKairo exposes a full CLI API for scripting and CI pipelines, with complete support for `parent_id` and `collapsed` state:\r\n\r\n```bash\r\n# Create a task\r\nkairo api create --title \"Finish report\" --priority 1\r\n\r\n# List by tag\r\nkairo api list --tag work\r\n\r\n# Mark complete\r\nkairo api update --id \u003cid\u003e --status done\r\n\r\n# Export everything\r\nkairo export --format markdown\r\n```\r\n\r\n---\r\n\r\n## Lua Plugin System\r\n\r\n```lua\r\nlocal plugin = {\r\n    id = \"my-plugin\",\r\n    name = \"My Plugin\",\r\n    version = \"1.0.0\"\r\n}\r\n\r\nkairo.on(\"task_create\", function(event)\r\n    kairo.notify(\"New task: \" .. event.task.title)\r\nend)\r\n\r\nreturn plugin\r\n```\r\n\r\nBrowse [sample plugins →](https://github.com/programmersd21/kairo/tree/main/plugins)\r\n\r\n---\r\n\r\n## Architecture\r\n\r\n```\r\nInput  (CLI · TUI · Lua · AI)\r\n       ↓\r\nTask Service  (single source of truth)\r\n       ↓\r\nSQLite (WAL)  +  optional Git sync\r\n       ↓\r\nBubble Tea TUI  (instant rendering)\r\n```\r\n\r\n**Stack:** Bubble Tea · Lip Gloss · SQLite (WAL) · GopherLua · Gemini API · Git\r\n\r\n---\r\n\r\n## Everything Included\r\n\r\n| Feature | Status |\r\n|---|---|\r\n| Local-first SQLite storage | ✅ |\r\n| Nested tasks \u0026 folders | ✅ |\r\n| 32 themes, live switching | ✅ |\r\n| Keyboard-only workflow | ✅ |\r\n| Recurring tasks | ✅ |\r\n| Git sync (no backend) | ✅ |\r\n| Lua plugin system | ✅ |\r\n| CLI automation API | ✅ |\r\n| AI assistant (optional) | ✅ |\r\n| MCP server | ✅ |\r\n| Free \u0026 open source | ✅ |\r\n\r\n---\r\n\r\n## Configuration\r\n\r\nKairo can be configured via `config.toml` in your application data directory.\r\n\r\n### Task List\r\nYou can customize the fields shown on the right side of the task list:\r\n\r\n```toml\r\n[list.order]\r\nright = [\"tags\", \"due\", \"priority\"]\r\n```\r\n\r\nValid values for `right` are: `tags`, `due`, `priority`.\r\n\r\n### Task Fields\r\n*   **Minimal Due Mode**: Abbreviate \"overdue\" to \"OD\" and use a fixed-width column for consistent task list alignment. Enabled by default.\r\n    ```toml\r\n    [list.fields.due]\r\n    minimal = true\r\n    ```\r\n*   **wait_until**: Hide a task from the task list until the specified datetime. If the task is recurring, new instances are not generated/shown until `wait_until` has passed. Format: `yyyy-MM-dd HH:mm`.\r\n*   **until**: Stop generating new recurring instances after the specified datetime. Existing instances may remain visible. Format: `yyyy-MM-dd HH:mm`.\r\n\r\nAuto-generated on first run at:\r\n\r\n- **Linux:** `~/.config/kairo/config.toml`\r\n- **macOS:** `~/Library/Application Support/kairo/config.toml`\r\n- **Windows:** `%APPDATA%\\kairo\\config.toml`\r\n\r\n| Option | Description | Default |\r\n|---|---|---|\r\n| `theme` | UI theme name | `catppuccin` |\r\n| `vim_mode` | Vim keybindings | `false` |\r\n| `show_help` | Help footer | `true` |\r\n| `show_id` | Task IDs in detail view | `true` |\r\n| `animations` | UI animations | `true` |\r\n| `rainbow` | Animated rainbow logo | `false` |\r\n\r\nPrefer not to edit files? `ctrl+s` opens the in-app settings menu.\r\n\r\n---\r\n\r\n## Roadmap\r\n\r\n- Encrypted multi-workspace support\r\n- Event-sourced sync engine\r\n- Sandboxed plugin environment\r\n- Smart task suggestions\r\n- Plugin marketplace\r\n- Streaming performance optimizations\r\n\r\n---\r\n\r\n## Star History\r\n\r\n\u003ca href=\"https://www.star-history.com/?repos=programmersd21%2Fkairo\u0026type=date\u0026legend=top-left\"\u003e\r\n  \u003cpicture\u003e\r\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/chart?repos=programmersd21/kairo\u0026type=date\u0026theme=dark\u0026legend=top-left\" /\u003e\r\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://api.star-history.com/chart?repos=programmersd21/kairo\u0026type=date\u0026legend=top-left\" /\u003e\r\n    \u003cimg alt=\"Star History Chart\" src=\"https://api.star-history.com/chart?repos=programmersd21/kairo\u0026type=date\u0026legend=top-left\" /\u003e\r\n  \u003c/picture\u003e\r\n\u003c/a\u003e\r\n\r\n---\r\n\r\n## Contributing\r\n\r\nPRs are welcome — especially for themes, plugins, performance, and docs. If something bugs you, fix it.\r\n\r\nHuge thanks to [@Tornado300](https://github.com/Tornado300) for key bug fixes that made Kairo better for everyone.\r\n\r\n---\r\n\r\n\u003cdiv align=\"center\"\u003e\r\n\r\n**If Kairo saves you time, a ⭐ helps other developers find it.**\r\n\r\n\u003cbr/\u003e\r\n\r\n*Built for the terminal. Built for focus. Built for you.*\r\n\r\n\u003c/div\u003e\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprogrammersd21%2Fkairo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprogrammersd21%2Fkairo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprogrammersd21%2Fkairo/lists"}