Contributing
We welcome contributions of all kinds! Whether you're fixing a bug, adding a theme, or improving documentation, your help makes Kairo better for everyone.
Development Setup
Kairo is written in Go. You'll need Go 1.21 or later to build it from source.
-
Clone the repository:
git clone https://github.com/programmersd21/kairo.gitcd kairo -
Build the binary:
go build -o kairo ./cmd/kairo -
Run tests:
go test ./...
Architecture Overview
Kairo follows a clean architecture pattern:
cmd/kairo: Entry point and CLI command parsing.internal/core: Core domain models (Task, Filter, Project).internal/service: Business logic and service orchestration.internal/storage: Persistence layer (SQLite).internal/ui: Bubble Tea components and TUI logic.internal/lua: Lua engine and plugin bindings.internal/api: External CLI and MCP API.
Ways to Contribute
- Themes: Add a new theme to
internal/ui/theme/theme.go. - Plugins: Create and share Lua plugins in the
plugins/directory. - Documentation: Improve these docs by editing files in the
docs/folder. - Bug Fixes: Check the GitHub issues and submit a PR.
Pull Request Process
- Fork the repo and create your branch from
main. - If you've added code that should be tested, add tests.
- Ensure the test suite passes.
- Issue that pull request!
Code of Conduct
Please be respectful and helpful. We follow the Contributor Covenant Code of Conduct.