Thanks for your interest in contributing to Ohno! This guide covers everything you need to get started.
- Node.js >= 18.0.0
- npm >= 10.0.0
- Git
- Fork and clone the repo:
git clone https://github.com/<your-username>/ohno.git
cd ohno- Install dependencies:
cd packages
npm install- Build all packages:
make build- Run tests:
make testOhno is a TypeScript monorepo managed with Turborepo:
packages/
ohno-core/ # Shared database layer (sql.js/WebAssembly SQLite)
ohno-mcp/ # MCP server (Model Context Protocol tools)
ohno-cli/ # CLI tool and visual kanban board
- ohno-core is the shared foundation. Changes here affect both the MCP server and CLI.
- ohno-mcp exposes task management as MCP tools for AI agents (e.g., Claude Code).
- ohno-cli provides shell commands and the
ohno servekanban board.
Start development mode (watches for changes and rebuilds):
make devBuild and test:
make build
make testClean build artifacts:
make clean- Create a branch from
master:
git checkout -b my-feature-
Make your changes. Keep commits focused and well-described.
-
Ensure tests pass:
make test- Push your branch and open a pull request against
master.
- TypeScript throughout. All packages use strict TypeScript.
- Vitest for testing.
- No native dependencies. Ohno uses sql.js (WebAssembly) instead of native SQLite bindings to ensure zero-install compatibility via
npx. - Keep the CLI and MCP outputs consistent - both read from the same SQLite database and should behave identically.
- Bug fixes
- New CLI commands or MCP tools
- Improvements to the kanban board UI
- Documentation improvements
- Test coverage
Open an issue on GitHub with:
- Steps to reproduce
- Expected vs actual behavior
- Node.js version and OS
By contributing, you agree that your contributions will be licensed under the MIT License.