enola/Docs/Reference

Documentation

Reference

The graph vocabulary and the entry points available to MCP clients and shell scripts.

01 · Graph

Kinds and relations

A snapshot is a typed, directed graph extracted from source files and project metadata.

KindRepresents
moduleA package or directory.
symbolA function, method, type, class, interface, or constant.
routeAn HTTP, API, or RPC endpoint.
storageA database model, cache, or messaging topic.
dependencyAn imported internal or external package.
serviceA repository in a multi-repo graph.
intentAn expected architectural boundary declared in Intent configuration.
test_refA reference from test code to a production symbol.
file_refA call from file-scope code with no enclosing symbol.
RelationMeaning
declaresA module owns a symbol, route, or storage entity.
importsOne module imports another.
callsOne symbol invokes another.
implementsA type implements an interface or mixes in a module.
depends_onA general dependency between nodes.
instantiatesA symbol creates a type instance.
injectsA dependency is provided through a supported DI pattern.
has_methodA type owns a method.
handled_byA route is served by a symbol.
Edges reflect what the enabled extractors resolved. Absence of an edge is not proof that no runtime relationship exists.

02 · MCP tools

Tool catalogue

ToolUse
Snapshot
generate_snapshotExtract or refresh a repository graph. append: true adds another repository.
Navigation
exploreSummarize a module, file, directory, or symbol.
query_factsFilter facts by kind, name, file, relation, or repository.
show_symbolReturn source surrounding a named symbol.
Graph analysis
traverseWalk relations forward or in reverse.
find_pathFind a shortest graph path between two nodes.
impact_analysisReturn transitive dependents grouped by depth.
endpoint_impactWalk an HTTP endpoint to its controller, models, tables and callers.
governing_intentFind the architectural declarations that apply to a code target, or list the code covered by a declaration.
query_insightsFilter computed findings.
coverage_reportReport resolved and unresolved cross-repo calls.
Before the edit
constraints_forThe declared components and rules governing a file or fact, and the violations naming it. The path need not exist yet.
plan_checkGoverning constraints and blast radius for an intended change; with a patch, the verdicts it would introduce, over a scratch copy.
Change control
set_baselinePin the current snapshot.
diff_snapshotCompare the current snapshot with its baseline.
snapshot_receiptReturn snapshot provenance and extraction metadata.
compare_receiptsCheck whether two snapshots can be compared.
History
architecture_historyShow recorded architectural changes over time.
architecture_blameFind when a fact, relation, or finding entered or left the architecture.
Enterprise
package_metricsRank packages by coupling, instability, and distance from the main sequence.
find_orphansFind isolated and unreferenced symbols, with confidence tiers.
analyze_performanceRank parser-derived performance risks with estimated Big-O and evidence.
Exact parameters, defaults, result shapes, and examples are maintained in ARCHITECTURE.md. The three Enterprise tools require a licensed seat — see Enola Enterprise.

03 · Languages

Extractor coverage

None of this is a setting. Enola detects the following from project markers or source extensions and runs every extractor that matches, so a repository that is two languages is indexed as two languages without being told — and the graph, the baseline and the verdict are one each, across all of them. A language that is not listed is a gap worth reporting.

CategoryLanguages and formats
SystemsGo, Rust, C, C++
JVMJava, Kotlin, Scala
.NETC#, F#, VB.NET, Razor/Blazor, XAML
WebTypeScript/JavaScript, Vue/Nuxt, Svelte/SvelteKit, Ember
MobileSwift, Dart/Flutter
ScriptingPython, Ruby, PHP
InfrastructureTerraform/HCL, Ansible
Interface formatsOpenAPI, AsyncAPI, Protocol Buffers/gRPC, GraphQL

Coverage differs by language and framework. Declaration parsing, call resolution, routes, dependency injection, storage, and cross-repo linking are separate capabilities. Check the snapshot receipt and coverage report for the repository you are evaluating.

04 · CLI

Shell entry points

CommandPurpose
enola installAdd agent instructions; --hooks adds supported session hooks.
enola uninstallRemove the instructions and hooks written by the installer.
enola doctorReport hook activity and baseline state.
enola baseline pinCreate the comparison baseline.
enola checkCheck the current change and return a CI-safe exit code.
enola coverageReport cross-repo edge resolution.
enola constraintslint validates declared rules against the snapshot; mine proposes candidates from the graph.
enola planWhich rules govern an intended change, its blast radius, and — for a patch — the verdicts it would introduce.
enola endpointReport what changing an HTTP endpoint reaches, from route to tables.
enola historyShare recorded history between machines: push, pull, verify, gc.
enola --generateGenerate persistent snapshot artifacts without starting the MCP server.
enola --explainPrint a human-readable architecture report without writing snapshot artifacts.
enola --statusList running servers, repositories, and dashboard URLs.
The complete CLI contract is in docs/CLI.md.