{"id":48996490,"url":"https://github.com/programmersd21/kairo","last_synced_at":"2026-04-21T20:00:57.130Z","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-04-21T20:00:57.103Z","avatar_url":"https://github.com/programmersd21.png","language":"Go","readme":"\u003cdiv align=\"center\"\u003e\r\n\r\n# 📝 Kairo\r\n\r\n![Main App](screenshots/app.png)\r\n\r\n[![CI](https://img.shields.io/github/actions/workflow/status/programmersd21/kairo/ci.yml?branch=main\u0026style=for-the-badge)](https://github.com/programmersd21/kairo/actions)\r\n[![Go Report Card](https://img.shields.io/badge/go%20report-A%2B-brightgreen?style=for-the-badge)](https://goreportcard.com/report/github.com/programmersd21/kairo)\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge)](https://opensource.org/licenses/MIT)\r\n\r\n**⌛ Time, executed well.**\r\n\r\n\u003c/div\u003e\r\n\r\n---\r\n\r\n### ✨ A Premium Terminal Task Manager Designed for Focused Execution\r\n\r\n🏃🏻 **Kairo** is a *lightning-fast*, **keyboard-first** task management application  \r\nbuilt for developers and power users.\r\n\r\nIt combines the simplicity of a **command-line tool**  \r\nwith the sophistication of a *modern, premium design system*.\r\n\r\n🎯 **Instant Responsiveness** — Sub-millisecond task searching and navigation  \r\n🎨 **Premium UI Design** — Modern color palette with accessibility at its core  \r\n⌨️ **Keyboard-First** — Complete control without ever touching a mouse  \r\n🔐 **Offline-First** — Your data lives locally in SQLite, always under your control  \r\n🔗 **Git-Backed Sync** — Optional distributed sync leveraging Git's architecture  \r\n🧩 **Extensible** — Lua-based plugins for custom workflows  \r\n📱 **Responsive Layout** — Gracefully adapts to any terminal size  \r\n\r\nBuilt with [Bubble Tea](https://github.com/charmbracelet/bubbletea) (TUI framework), [Lip Gloss](https://github.com/charmbracelet/lipgloss) (terminal styling), and SQLite (local storage).\r\n\r\n---\r\n\r\n## ✨ Core Features\r\n\r\n| Feature | Description |\r\n|---------|-------------|\r\n| **Task Engine** | Title, description (Markdown), tags, priority levels, deadlines, status tracking |\r\n| **Smart Filtering** | Multiple views: Inbox, Today, Upcoming, Completed, by Tag, by Priority |\r\n| **Fuzzy Search** | Lightning-fast command palette with ranked results |\r\n| **Strike Animation** | Visual feedback when completing tasks with 'z' |\r\n| **Offline Storage** | SQLite with WAL for reliability and concurrent access |\r\n| **Git Sync** | Optional repository-backed sync with per-task JSON files |\r\n| **Lua Plugins** | Extend the app with custom commands and views |\r\n| **Import/Export** | JSON and Markdown support for data portability |\r\n| **Modern Themes** | 4 built-in themes (Midnight, Dracula, Nord, Paper) with user customization |\r\n| **Minimalist UI** | Breathable, clean design system with standard Unicode compatibility |\r\n\r\n---\r\n\r\n## 🎨 Design System\r\n\r\nKairo features a **minimalist design system** optimized for clarity and focus.\r\n\r\n### Design Philosophy\r\n\r\n- **Breathable Layout** — Reduced padding and thin borders for a clean, modern look\r\n- **Instant Feedback** — Smooth strikethrough animations when completing tasks\r\n- **Keyboard-First** — All interactions optimized for speed\r\n- **High Compatibility** — Uses standard Unicode symbols for consistent rendering across all terminals\r\n\r\n---\r\n\r\n## ⌨️ Keyboard Navigation\r\n\r\n### Essential Commands\r\n\r\n| Shortcut | Action |\r\n|----------|--------|\r\n| `ctrl+p` | 🔍 Open Command Palette |\r\n| `z` | ⚡ **Strike (toggle completion with animation)** |\r\n| `tab` / `shift+tab` | → / ← Switch views |\r\n| `n` | ➕ Create new task |\r\n| `e` | ✏️ Edit selected task |\r\n| `enter` | 👁️ View task details |\r\n| `d` | 🗑️ Delete task |\r\n| `t` | 🎨 Cycle themes |\r\n| `?` | ❓ Show help menu |\r\n| `q` | ❌ Quit |\r\n\r\n### View Filters\r\n\r\n| Shortcut | View |\r\n|----------|------|\r\n| `1` | **Inbox** — Active tasks |\r\n| `2` | **Today** — Due today |\r\n| `3` | **Upcoming** — Future deadlines |\r\n| `4` | **Completed** — Done tasks |\r\n| `5` | **Tags** — Filter by tag |\r\n| `6` | **Priority** — Filter by priority |\r\n\r\n### Pro Tips\r\n- Type `#tag` in the command palette to jump to a specific tag\r\n- Type `pri:0` to filter tasks by priority level\r\n- Use `ctrl+s` to save while editing\r\n- Press `esc` to cancel and return to the list\r\n\r\n---\r\n\r\n## ⚙️ Configuration\r\n\r\n### Config Location\r\n\r\n| OS | Path |\r\n|----|------|\r\n| **Windows** | `%APPDATA%\\kairo\\config.toml` |\r\n| **macOS** | `~/Library/Application Support/kairo/config.toml` |\r\n| **Linux** | `~/.config/kairo/config.toml` |\r\n\r\n### Quick Setup\r\n\r\n```bash\r\ncp configs/kairo.example.toml ~/.config/kairo/config.toml\r\n```\r\n\r\nThen edit to customize:\r\n- **Theme selection** — Choose from 12 built-in themes:\r\n    - **Dark:** Catppuccin (Default), Midnight, Aurora, Cyberpunk, Dracula, Nord\r\n    - **Light:** Vanilla, Solarized, Rose, Matcha, Cloud, Sepia\r\n- **Keybindings** — Rebind any keyboard shortcut\r\n- **View ordering** — Customize your task view tabs\r\n- **Sync settings** — Configure Git repository sync\r\n\r\n---\r\n\r\n## 🔄 Git Sync\r\n\r\nEnable optional distributed sync by setting `sync.repo_path` in your config.\r\n\r\nKairo uses a unique no-backend approach:\r\n- Each task is stored as an individual JSON file\r\n- Changes are committed locally with automatic messages\r\n- Perform sync manually or on-demand\r\n- Git's branching and merging handle conflicts transparently\r\n\r\n```bash\r\n# Manual sync\r\nkairo sync\r\n```\r\n\r\n---\r\n\r\n## 🏗 Architecture\r\n\r\nKairo is built with a modular architecture designed for performance, extensibility, and data sovereignty.\r\n\r\n### Core Components\r\n\r\n| Component | Role |\r\n|-----------|------|\r\n| **UI Layer** ([Bubble Tea](https://github.com/charmbracelet/bubbletea)) | Elm-inspired TUI framework with state-machine pattern for mode management |\r\n| **Storage** (SQLite) | Pure Go database with WAL for reliability and concurrent access |\r\n| **Sync Engine** (Git) | Distributed \"no-backend\" sync with per-task JSON files |\r\n| **Search** (Fuzzy Index) | In-memory ranked matching with sub-millisecond results |\r\n| **Plugins** ([Gopher-Lua](https://github.com/yuin/gopher-lua)) | Lightweight Lua VM for user extensions |\r\n\r\n### Data Flow\r\n\r\n```\r\nUser Input → Bubble Tea Loop → Active Component\r\n    ↓\r\nImmediate DB Persistence → Optional Git Sync\r\n    ↓\r\nUI Re-render → Instant User Feedback\r\n```\r\n\r\n---\r\n\r\n## 🔌 Plugins (Lua)\r\n\r\nExtend Kairo with custom commands and views using Lua. Place `.lua` files in your plugins directory.\r\n\r\n### Plugin Metadata\r\n\r\n```lua\r\nreturn {\r\n    id = \"my-plugin\",\r\n    name = \"My Custom Plugin\",\r\n    description = \"Does something awesome\",\r\n    author = \"You\",\r\n    version = \"1.0.0\",\r\n    -- commands and views defined below\r\n}\r\n```\r\n\r\n### API: Tasks\r\n\r\n```lua\r\n-- Create, read, update, delete tasks\r\nkairo.create_task({title, description, status, priority, tags})\r\nkairo.get_task(id)\r\nkairo.update_task(id, {title, status, ...})\r\nkairo.delete_task(id)\r\nkairo.list_tasks({statuses, tag, priority, sort})\r\n```\r\n\r\n### API: UI\r\n\r\n```lua\r\n-- Send notifications to the user\r\nkairo.notify(message, is_error)\r\n```\r\n\r\n### Example: Cleanup Command\r\n\r\n```lua\r\n-- plugins/cleanup.lua\r\nreturn {\r\n    id = \"cleanup\",\r\n    name = \"Cleanup Done Tasks\",\r\n    description = \"Removes all completed tasks\",\r\n    commands = {\r\n        {\r\n            id = \"run-cleanup\",\r\n            title = \"Cleanup: Remove Done\",\r\n            run = function()\r\n                local tasks = kairo.list_tasks({statuses = {\"done\"}})\r\n                for _, t in ipairs(tasks) do\r\n                    kairo.delete_task(t.id)\r\n                end\r\n                kairo.notify(\"Cleanup complete!\", false)\r\n            end\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n---\r\n\r\n## 🌴 Project Structure\r\n\r\n```\r\nkairo/\r\n├── cmd/kairo/              # Main entry point\r\n├── internal/\r\n│   ├── app/                # Application state \u0026 messages\r\n│   ├── core/               # Task model \u0026 core logic\r\n│   ├── config/             # Configuration parsing\r\n│   ├── storage/            # SQLite repository\r\n│   ├── sync/               # Git sync engine\r\n│   ├── search/             # Fuzzy search index\r\n│   ├── plugins/            # Lua plugin host\r\n│   └── ui/                 # Terminal UI components\r\n│       ├── styles/         # Premium design system\r\n│       ├── theme/          # Color themes\r\n│       ├── tasklist/       # Main task list view\r\n│       ├── detail/         # Task detail view\r\n│       ├── editor/         # Task editor\r\n│       ├── palette/        # Command palette\r\n│       ├── keymap/         # Keyboard bindings\r\n│       ├── help/           # Help overlay\r\n│       ├── theme_menu/     # Theme switcher\r\n│       └── plugin_menu/    # Plugin manager\r\n├── configs/                # Example configuration\r\n├── plugins/                # Sample plugins\r\n├── DESIGN_SYSTEM.md        # Complete design documentation\r\n├── CONTRIBUTING.md         # Contributing guidelines\r\n└── README.md               # This file\r\n```\r\n\r\n---\r\n\r\n## 🤝 Contributing\r\n\r\nWe welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines and [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) for our code of conduct.\r\n\r\n### Areas for Contribution\r\n- ✨ New themes and design improvements\r\n- 🐛 Bug fixes and performance enhancements\r\n- 📚 Documentation and tutorials\r\n- 🧩 Plugins and extensions\r\n- 🌍 Translations and localization\r\n\r\n---\r\n\r\n## 📜 License\r\n\r\nKairo is released under the [MIT License](LICENSE).\r\n\r\n---\r\n\r\n## 🗺 Roadmap\r\n\r\n- [ ] Multi-workspace support with encryption at rest\r\n- [ ] Incremental DB-to-UI streaming for large datasets\r\n- [ ] Conflict-free sync via append-only event log\r\n- [ ] Sandboxed Plugin SDK\r\n- [ ] Smart suggestions and spaced repetition\r\n- [ ] Enhanced mobile/SSH terminal support\r\n- [ ] Community plugin marketplace\r\n\r\n---\r\n\r\n## 💡 Philosophy\r\n\r\nKairo is built on the belief that task management should be **fast, simple, and under your control**. We prioritize:\r\n\r\n✅ **Your Privacy** — Data stays on your machine  \r\n✅ **Your Freedom** — Open source, MIT licensed  \r\n✅ **Your Time** — Lightning-fast interactions  \r\n✅ **Your Experience** — Premium, thoughtful design  \r\n\r\nEvery feature is carefully considered to maintain focus and avoid complexity creep.\r\n\r\n---\r\n\r\n## 📞 Support\r\n\r\n- 🐛 Report bugs on [GitHub Issues](https://github.com/programmersd21/kairo/issues)\r\n- 💬 Discuss ideas on [GitHub Discussions](https://github.com/programmersd21/kairo/discussions)\r\n- ⭐ Show your support with a star!\r\n\r\n---\r\n\r\n**Made with ❤️ for focused execution. Start organizing your time today.**\r\n","funding_links":[],"categories":[],"sub_categories":[],"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"}