β Time, executed well.
Kairo is a lightning-fast, keyboard-first task management application built for developers and power users. It combines the simplicity of a command-line tool with the sophistication of a modern, premium design system.
π― Instant Responsiveness β Sub-millisecond task searching and navigation
π¨ Premium UI Design β Modern color palette with accessibility at its core
β¨οΈ Keyboard-First β Complete control without ever touching a mouse
π Offline-First β Your data lives locally in SQLite, always under your control
π Git-Backed Sync β Optional distributed sync leveraging Git's architecture
π§© Extensible β Lua-based plugins for custom workflows
π± Responsive Layout β Gracefully adapts to any terminal size
Built with Bubble Tea (TUI framework), Lip Gloss (terminal styling), and SQLite (local storage).
| Feature | Description |
|---|---|
| Task Engine | Title, description (Markdown), tags, priority levels, deadlines, status tracking |
| Smart Filtering | Multiple views: Inbox, Today, Upcoming, Completed, by Tag, by Priority |
| Fuzzy Search | Lightning-fast command palette with ranked results |
| Strike Animation | Visual feedback when completing tasks with 'z' |
| Offline Storage | SQLite with WAL for reliability and concurrent access |
| Git Sync | Optional repository-backed sync with per-task JSON files |
| Lua Plugins | Extend the app with custom commands and views |
| Import/Export | JSON and Markdown support for data portability |
| Modern Themes | 4 built-in themes (Midnight, Dracula, Nord, Paper) with user customization |
| Minimalist UI | Breathable, clean design system with standard Unicode compatibility |
Kairo features a minimalist design system optimized for clarity and focus.
- Breathable Layout β Reduced padding and thin borders for a clean, modern look
- Instant Feedback β Smooth strikethrough animations when completing tasks
- Keyboard-First β All interactions optimized for speed
- High Compatibility β Uses standard Unicode symbols for consistent rendering across all terminals
| Shortcut | Action |
|---|---|
ctrl+p |
π Open Command Palette |
z |
β‘ Strike (toggle completion with animation) |
tab / shift+tab |
β / β Switch views |
n |
β Create new task |
e |
βοΈ Edit selected task |
enter |
ποΈ View task details |
d |
ποΈ Delete task |
t |
π¨ Cycle themes |
? |
β Show help menu |
q |
β Quit |
| Shortcut | View |
|---|---|
1 |
Inbox β Active tasks |
2 |
Today β Due today |
3 |
Upcoming β Future deadlines |
4 |
Completed β Done tasks |
5 |
Tags β Filter by tag |
6 |
Priority β Filter by priority |
- Type
#tagin the command palette to jump to a specific tag - Type
pri:0to filter tasks by priority level - Use
ctrl+sto save while editing - Press
escto cancel and return to the list
| OS | Path |
|---|---|
| Windows | %APPDATA%\kairo\config.toml |
| macOS | ~/Library/Application Support/kairo/config.toml |
| Linux | ~/.config/kairo/config.toml |
cp configs/kairo.example.toml ~/.config/kairo/config.tomlThen edit to customize:
- Theme selection β Choose from 12 built-in themes:
- Dark: Catppuccin (Default), Midnight, Aurora, Cyberpunk, Dracula, Nord
- Light: Vanilla, Solarized, Rose, Matcha, Cloud, Sepia
- Keybindings β Rebind any keyboard shortcut
- View ordering β Customize your task view tabs
- Sync settings β Configure Git repository sync
Enable optional distributed sync by setting sync.repo_path in your config.
Kairo uses a unique no-backend approach:
- Each task is stored as an individual JSON file
- Changes are committed locally with automatic messages
- Perform sync manually or on-demand
- Git's branching and merging handle conflicts transparently
# Manual sync
kairo syncKairo is built with a modular architecture designed for performance, extensibility, and data sovereignty.
| Component | Role |
|---|---|
| UI Layer (Bubble Tea) | Elm-inspired TUI framework with state-machine pattern for mode management |
| Storage (SQLite) | Pure Go database with WAL for reliability and concurrent access |
| Sync Engine (Git) | Distributed "no-backend" sync with per-task JSON files |
| Search (Fuzzy Index) | In-memory ranked matching with sub-millisecond results |
| Plugins (Gopher-Lua) | Lightweight Lua VM for user extensions |
User Input β Bubble Tea Loop β Active Component
β
Immediate DB Persistence β Optional Git Sync
β
UI Re-render β Instant User Feedback
Extend Kairo with custom commands and views using Lua. Place .lua files in your plugins directory.
return {
id = "my-plugin",
name = "My Custom Plugin",
description = "Does something awesome",
author = "You",
version = "1.0.0",
-- commands and views defined below
}-- Create, read, update, delete tasks
kairo.create_task({title, description, status, priority, tags})
kairo.get_task(id)
kairo.update_task(id, {title, status, ...})
kairo.delete_task(id)
kairo.list_tasks({statuses, tag, priority, sort})-- Send notifications to the user
kairo.notify(message, is_error)-- plugins/cleanup.lua
return {
id = "cleanup",
name = "Cleanup Done Tasks",
description = "Removes all completed tasks",
commands = {
{
id = "run-cleanup",
title = "Cleanup: Remove Done",
run = function()
local tasks = kairo.list_tasks({statuses = {"done"}})
for _, t in ipairs(tasks) do
kairo.delete_task(t.id)
end
kairo.notify("Cleanup complete!", false)
end
}
}
}kairo/
βββ cmd/kairo/ # Main entry point
βββ internal/
β βββ app/ # Application state & messages
β βββ core/ # Task model & core logic
β βββ config/ # Configuration parsing
β βββ storage/ # SQLite repository
β βββ sync/ # Git sync engine
β βββ search/ # Fuzzy search index
β βββ plugins/ # Lua plugin host
β βββ ui/ # Terminal UI components
β βββ styles/ # Premium design system
β βββ theme/ # Color themes
β βββ tasklist/ # Main task list view
β βββ detail/ # Task detail view
β βββ editor/ # Task editor
β βββ palette/ # Command palette
β βββ keymap/ # Keyboard bindings
β βββ help/ # Help overlay
β βββ theme_menu/ # Theme switcher
β βββ plugin_menu/ # Plugin manager
βββ configs/ # Example configuration
βββ plugins/ # Sample plugins
βββ DESIGN_SYSTEM.md # Complete design documentation
βββ CONTRIBUTING.md # Contributing guidelines
βββ README.md # This file
We welcome contributions! Please see CONTRIBUTING.md for guidelines and CODE_OF_CONDUCT.md for our code of conduct.
- β¨ New themes and design improvements
- π Bug fixes and performance enhancements
- π Documentation and tutorials
- π§© Plugins and extensions
- π Translations and localization
Kairo is released under the MIT License.
- Multi-workspace support with encryption at rest
- Incremental DB-to-UI streaming for large datasets
- Conflict-free sync via append-only event log
- Sandboxed Plugin SDK
- Smart suggestions and spaced repetition
- Enhanced mobile/SSH terminal support
- Community plugin marketplace
Kairo is built on the belief that task management should be fast, simple, and under your control. We prioritize:
β
Your Privacy β Data stays on your machine
β
Your Freedom β Open source, MIT licensed
β
Your Time β Lightning-fast interactions
β
Your Experience β Premium, thoughtful design
Every feature is carefully considered to maintain focus and avoid complexity creep.
- π Report bugs on GitHub Issues
- π¬ Discuss ideas on GitHub Discussions
- β Show your support with a star!
Made with β€οΈ for focused execution. Start organizing your time today.
