Use case

Fix monorepo bugs with Codna

In a monorepo, a bug's cause often lives in a different package than the symptom. Codna maps the cross-package dependency graph deterministically, hands its AI coding agent a tight evidence bundle, and proves the patch with your tests — so a monorepo bug fix never quietly breaks a sibling package.

The problem

The cause crosses a package boundary

A symptom shows up in the web app, but the cause is a change three packages deep in a shared utility. Workspace links, path aliases, and re-exports hide which packages actually consume the code you are about to touch, so the real blast radius is invisible from the file you opened. Edit it blind and you fix one consumer while breaking two others — and the breakage only surfaces in a downstream package's CI hours later. The slow part of any monorepo bug fix or cross-package refactor is rebuilding that map of who-depends-on-what in your head, every single time.

How Codna fixes it

How Codna fixes a cross-package bug

1

Map the workspace graph deterministically

Codna resolves cross-package imports, path aliases, and re-exports into one dependency and blast-radius graph — in about 60ms for zero LLM tokens, no embeddings or RAG.

2

Fix from a ~600-token evidence bundle

The AI coding agent works from a bundle scoped to the suspect package and the consumers a change would reach — measured 162x less context than reading the whole workspace.

3

Verify across consumers with your tests

Codna runs your own test suite, including the affected downstream packages, so the fix lands only when every consumer stays green.

codna fix . --issue "auth token refresh broke after the shared http-client change"

What you get

What you get on a monorepo

Cross-package blast radius, mapped for zero tokens

The deterministic engine resolves the whole workspace graph — every import, alias, and re-export — so a cross-package refactor sees its real reach before a line changes. No LLM tokens spent on understanding.

A ~600-token evidence bundle, not the whole repo

The agent fixes from a tight bundle scoped to the suspect package and its consumers — measured 162x less context — instead of streaming a 100,000-token monorepo into a model.

Every fix verified by your own tests

The patch lands only after your test suite passes across the affected downstream packages, so a fix in one workspace package can't silently regress another.

The proof

Fewer tokens. Faster. Verified.

Codna16K
Cline65K
Cursor81K
Total tokens to fix 8 verified bug-fix scenarios — measured head-to-head vs the Codex and Gemini CLIs.

Frequently asked

It builds a cross-package blast-radius graph first, so it knows every package that consumes the code you're touching. The patch lands only after your own test suite passes across those affected packages — so a fix in one package can't silently break another.

Yes. Codna resolves imports, path aliases, and re-exports across the whole workspace into one dependency graph, so a refactor that spans several packages starts from the real structure instead of a guess about who depends on what.

Reading files into a model is slow, costly, and misses the implicit cross-package links that workspace tooling hides. Codna's deterministic map captures those links for zero LLM tokens, then hands the agent a ~600-token evidence bundle — measured 162x less context — so it fixes from evidence, not from a partial read of the repo.

Yes. The deterministic engine maps the dependency graph from the source itself, so it works regardless of which workspace tool drives your monorepo.

Because the agent works from a ~600-token bundle rather than the whole workspace, a verified fix runs about $0.04 at public model rates — measured, not estimated.

Yes. Codna supports self-hosting with your own API keys (BYOK), fail-closed egress, and no training on your code — so a private workspace stays private.

Understand. Fix. Evolve.