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.
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
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
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.
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.
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
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.
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.
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
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.
Related