Thank you for your interest in contributing. This repository holds the
Codna CLI — codna on PyPI: understand, fix, evolve. It maps a
repository before it spends a token, reviews pull requests, fixes bugs and
proves which scanner findings are reachable, and ships the codna mcp MCP
server. This is the part of the product that is open source and meant to be
forked, read, and improved by anyone.
The Algenta engine beneath Codna (the deterministic execution substrate and its signed runtime) is closed and lives in a separate, private repository. Nothing in this repository grants access to it, and nothing you contribute here can change how much execution capacity any license is entitled to — that's enforced entirely on the engine side. See SECURITY.md for the trust boundary this implies for security reports.
Every file here is mirrored from cli/ (plus a fixed root allowlist) of the
private thyn-ai/codna repository by an automated sync — nothing is exempt,
including these community files. A pull request that lands here is reviewed
and merged normally, and a maintainer then ports the change upstream; it
flows back out here on the next sync run. You do not need to do anything
special — just open the PR here — but please don't be surprised when the
commit that "sticks" arrives via the sync rather than your original commit.
| Area | Status | Notes |
|---|---|---|
codna/ (the CLI package) |
✅ Open | Bug fixes, type fixes, new commands, tests |
codna/mcp_server.py + MCP surface |
✅ Open | Tool fixes, new read-only tools |
tests/, bench/ |
✅ Open | Test coverage, benchmarks |
| Docs / examples | ✅ Open | Corrections, new guides |
| Staged release artifacts | 🔒 Never | codna/_agent_core_runtime/, _telys_runtime/ are build-time only |
git clone https://github.com/thyn-ai/codna-cli
cd codna-cli
pip install -e .
pytest tests/ -vPython 3.12–3.13, git on your PATH. Local commands need no Codna key;
fix and review use your own model provider key (codna key set anthropic, stored in the OS keychain). You do not need a running Algenta
engine for most of this code.
feat/short-description— new featurefix/short-description— bug fixdocs/short-description— documentation only
We follow Conventional Commits:
feat(cli): add --since flag to triage
fix(mcp): correct tool result pagination
docs(readme): document pipx install path
- Tests pass locally (
pytest tests/ -v) - New features have tests
- Documentation updated if needed
- No hardcoded credentials or secrets
- I understand a maintainer will port the merged change upstream (see "automated mirror" above)
All required checks must pass, including on forked-repository pull requests — CI runs with no secrets and no elevated permissions, so it's safe to run automatically on every PR.
This project follows the all-contributors
specification: everyone who contributes — code, docs, bug reports, reviews,
or any other contribution type —
is recognized in the README. Maintainers add
contributors by commenting @all-contributors please add @user for code
(replacing code with the relevant contribution type) on an issue or pull
request, and the bot opens a pull request updating the contributors table.
By submitting a pull request you agree that your contribution is licensed under the project's Apache-2.0 license (inbound=outbound, GitHub Terms of Service §D.6).
- Security vulnerabilities → see SECURITY.md (do NOT open a public issue)
- Bugs → GitHub Issues
with the
buglabel - Feature requests → GitHub Issues with the
enhancementlabel - Questions → GitHub Issues with the
questionlabel, or https://discord.gg/w8NDsph9an
- Discord: https://discord.gg/w8NDsph9an
- Web: https://codna.ai
- Email: community@algenta.ai