Skip to content

programmersd21/kairo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

29 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

πŸ“ Kairo

Main App

CI Go Report Card License: MIT

βŒ› Time, executed well.


A Premium Terminal Task Manager Designed for Focused Execution

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).


✨ Core Features

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

🎨 Design System

Kairo features a minimalist design system optimized for clarity and focus.

Design Philosophy

  • 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

⌨️ Keyboard Navigation

Essential Commands

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

View Filters

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

Pro Tips

  • Type #tag in the command palette to jump to a specific tag
  • Type pri:0 to filter tasks by priority level
  • Use ctrl+s to save while editing
  • Press esc to cancel and return to the list

βš™οΈ Configuration

Config Location

OS Path
Windows %APPDATA%\kairo\config.toml
macOS ~/Library/Application Support/kairo/config.toml
Linux ~/.config/kairo/config.toml

Quick Setup

cp configs/kairo.example.toml ~/.config/kairo/config.toml

Then 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

πŸ”„ Git 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 sync

πŸ— Architecture

Kairo is built with a modular architecture designed for performance, extensibility, and data sovereignty.

Core Components

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

Data Flow

User Input β†’ Bubble Tea Loop β†’ Active Component
    ↓
Immediate DB Persistence β†’ Optional Git Sync
    ↓
UI Re-render β†’ Instant User Feedback

πŸ”Œ Plugins (Lua)

Extend Kairo with custom commands and views using Lua. Place .lua files in your plugins directory.

Plugin Metadata

return {
    id = "my-plugin",
    name = "My Custom Plugin",
    description = "Does something awesome",
    author = "You",
    version = "1.0.0",
    -- commands and views defined below
}

API: Tasks

-- 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})

API: UI

-- Send notifications to the user
kairo.notify(message, is_error)

Example: Cleanup Command

-- 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
        }
    }
}

🌴 Project Structure

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

🀝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines and CODE_OF_CONDUCT.md for our code of conduct.

Areas for Contribution

  • ✨ New themes and design improvements
  • πŸ› Bug fixes and performance enhancements
  • πŸ“š Documentation and tutorials
  • 🧩 Plugins and extensions
  • 🌍 Translations and localization

πŸ“œ License

Kairo is released under the MIT License.


πŸ—Ί Roadmap

  • 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

πŸ’‘ Philosophy

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.


πŸ“ž Support


Made with ❀️ for focused execution. Start organizing your time today.

About

🀩 Kairo is a fast, keyboard-first terminal task manager in Go 🐹 with offline-first SQLite, Git sync πŸ”, fuzzy search πŸ” & Lua plugins 🧩

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors

Languages