Engineering intelligence layer
Enola. builds a deterministic map of your codebase so every developer and AI agent can answer architectural questions — not by searching, but by knowing.
$ claude "Where is auth applied?" → list_files src/ 2.1K tokens → read src/middleware/auth.ts 4.7K tokens → read src/server/index.ts 6.2K tokens → grep -r "requireAuth" . 8.4K tokens → read src/routes/api/users.ts 5.1K tokens → read src/routes/api/billing.ts 6.8K tokens → … 64 more tool calls
$ claude "Where is auth applied?" → enola.snapshot(scope=auth) ~5K tokens ✓ Auth applied at src/middleware/auth.ts mounted by src/server/index.ts:42 wraps 47 routes across 6 modules bypassed by 3 public endpoints → 14 scoped lookups — all served from the map
Every team raises these questions
Every feature, refactoring, dependency update, or security fix raises these questions. Neither developers of large codebases nor AI agents can answer them deterministically — so they assume. And assumptions at speed lead to regressions.
The faster code is produced, the more critical it becomes to have continuous, deterministic architectural guidance.
Pick your path
Every tier runs fully local — your code and graph never leave your infrastructure.
Self-hosted, Apache 2.0. No data leaves your machine.
Up in three steps. One binary, one config file, one prompt. Works with any MCP-compatible agent out of the box.
View on GitHubAdvanced analyzers for teams that need deeper risk signal before a change ships.
package_metrics — spot fragile packages before a rewritefind_orphans — delete dead code to keep codebase healthyanalyze_performance — catch slow code before it shipsvalidate_architecture_change — ensure that changes are safe and guide agents to refactorMultiple seats, starting from 10. Everything in Pro, plus what it takes to roll this out safely at scale.
Book a 20-min call — pilot on your repo within a day.
The solution
A parser can tell you a function exists and that one file imports another. It can't tell you what that relationship means. enola. builds the deterministic architecture graph underneath — typed, directional relationships, not just matching text.
Under the hood
Every relationship looks the same. Looks complete. Answers almost nothing about impact.
Every edge is typed and directional. Impact analysis, dead-code checks, and drift detection can trust it.