Contributing to otari-cli
June 10, 2026 ยท View on GitHub
Thanks for your interest in improving otari-cli! Contributions of all sizes are welcome, from typo fixes to new commands.
Getting started
otari-cli uses uv for dependency management and
task running.
# Clone and enter the repo
git clone https://github.com/mozilla-ai/otari-cli.git
cd otari-cli
# Install the project with dev dependencies
uv sync --extra dev
# Run the CLI
uv run otari --help
Development workflow
- Create a branch:
feat/<short-slug>for features,fix/<short-slug>for bug fixes. - Make your change. Keep edits minimal and match the surrounding style.
- Add or update tests under
tests/unit. Tests run offline against a faked SDK client. - Run the full check suite locally (see below). All checks must pass.
- Open a pull request and fill in the template. Reference any related issue
(for example
Fixes #123).
Checks
uv run ruff check . # lint
uv run mypy src/ # type check (strict)
uv run pytest # tests
Optionally, install the pre-commit hooks to run ruff automatically:
uv run pre-commit install
Conventions
See AGENTS.md for the project's architecture notes and coding
conventions (typing, the client test seam, the --json contract, and the
writing-style rule against em dashes in prose).
Code of Conduct
By participating in this project you agree to abide by our Code of Conduct.