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

  1. Create a branch: feat/<short-slug> for features, fix/<short-slug> for bug fixes.
  2. Make your change. Keep edits minimal and match the surrounding style.
  3. Add or update tests under tests/unit. Tests run offline against a faked SDK client.
  4. Run the full check suite locally (see below). All checks must pass.
  5. 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.