concepts

The Genome

How Empryo scans your repo into a ranked dependency graph (PageRank, git co-change, 30+ languages) and injects the map into every prompt.

Copy & share

Loading sections…

Connect MCP or install the Empryo skill

Section exports contain only that heading’s content. Markdown and text links fetch the selected content directly, without the rest of the page.

On startup, the Genome engine scans your codebase and builds a graph - every file, symbol, and import edge - then ranks it. The rendered result, injected at the top of every prompt, is the Genome: what the agent actually sees.

The agent never wastes a turn grepping for "where does auth live" - it already sees the map.

What you see

The Genome appears in every prompt, looking like this:

src/services/auth/session.ts (→12)
  +SessionManager  Tracks active sessions, refresh tokens, expiry
  +SessionStore
  • + - exported symbol
  • (→12) - blast radius: 12 files depend on this one
  • [NEW] - file changed recently
  • One-line summary after the name (when semantic summaries are on)

What makes it useful

  • Ranked by PageRank - files imported by lots of others rank higher.
  • Personalized per turn - files you just edited or read get boosted.
  • Git-aware - files that always change together get pulled in too.
  • Real-time - edits re-index immediately.
  • 30+ languages - TypeScript, Python, Rust, Go, Java, Ruby, C/C++, Swift, Kotlin, and more.

Config

Everything runs out of the box. If you want to tune it:

{
  "genome": true,
  "semanticSummaries": "synthetic"
}
FieldValues
genometrue (default) or false to disable
semanticSummaries"synthetic" (fast, code-derived, default), "ast", "llm" (one-line LLM descriptions), "off"

/Genome opens the settings panel (the genome config keys below tune the engine that builds the map).

Skip the scan

For quick one-shot questions, skip the startup scan:

empryo --headless --no-genome "what's the version?"

Or set EMPRYO_NO_GENOME=1.

Documentation