code-context-map

code-context-map is a command for Claude Code from Mozurok/fhorja.dev. It costs 126 tokens per session (7,111 once invoked), scanned A, original, MIT.

A generated map of a codebase that shows important files, imports, function signatures, call paths, and connections to databases, HTTP services, or queues. It is designed to give an AI assistant a structured starting point for reading the project.

In plain words
What is it for?
Use it for onboarding, structural code exploration, or refreshing an outdated understanding of a project.
Why use it?
It helps an agent orient itself in a large or unfamiliar repository before inspecting or changing code. The map narrows the search while leaving the actual code as the source of truth.

Command for Claude Code

Written for Claude Code: a Claude Code command (commands/*.md). Also seen: reads .claude/ paths; reads ~/.codex paths; mentions Codex.

Good fit Use it for onboarding, structural code exploration, or refreshing an outdated understanding of a project.

Compare 6 commands from other repositories ↓
Install with agentmods
npx agentmods add commands/mozurok/fhorja.dev/code-context-map
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Clone the repo
git clone --depth 1 https://github.com/Mozurok/fhorja.dev

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for code-context-map

README.md
[![agentmods](https://agentmods.dev/badge/commands/mozurok/fhorja.dev/code-context-map/github.svg)](https://agentmods.dev/commands/mozurok/fhorja.dev/code-context-map)
Your own site
<a href="https://agentmods.dev/commands/mozurok/fhorja.dev/code-context-map"><img src="https://agentmods.dev/badge/commands/mozurok/fhorja.dev/code-context-map/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for code-context-map

Your own site · 80×15
<a href="https://agentmods.dev/commands/mozurok/fhorja.dev/code-context-map"><img src="https://agentmods.dev/badge/commands/mozurok/fhorja.dev/code-context-map.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 126 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 7,111 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00126 $0.07111
Opus 5.5 $0.00050 $0.02844
Sonnet 5.5 $0.00025 $0.01422
Haiku 4.5 $0.00013 $0.00711

Measured 9d ago against content hash 1071cb5e38b5, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

code-context-map scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

commands/code-context-map.md · 149 lines

How it starts

The opening of the file, as written. The whole thing — 149 lines — stays where its author put it; the contents beside it link to each section on GitHub.

code-context-map

Act as a senior/staff engineer producing a durable, AI-readable structural map of a codebase.

Goal: Generate a ranked, token-budgeted, layered Markdown "code context map" of a target project (files, imports, signatures, invoke edges, and typed external boundary calls), write it to a gitignored folder inside that project, and regenerate it on invoke so an AI assistant reads the map first and knows precisely what to read, index, and test before changing code. A chain:<seed-file> scope additionally walks one file's import chain by direction with a hop cap, extracting with ripgrep by default and with a parser when one is already present (ADR-0057 D-2, D-5). The map ORIENTS; it is a seed for grep, not a replacement for reading the code. Follows templates/CODE_CONTEXT_MAP.template.md.

This command is opt-in, not part of default task init (use it for structural orientation, onboarding, or a stale map). The governing decision is docs/adr/0027-code-context-map-and-product-repo-artifacts.md.

Mandatory context bootstrap (before any output):

  • Read these sections in WORKFLOW_OPERATING_SYSTEM.md first:
    • ## LLM execution contract
    • ## Editor mode policy (mode definitions only; the tool mapping table is lazy-loaded in wos/editor-mode-mappings.md and needed only for non-Claude-Code tools)
    • ## Global output contract (including Adaptive handoff and Mode selection rule)
    • ## Cross-cutting workflow guardrails
  • Bootstrap tiers: the light-weight commands (branch-commit, what-next, where-we-at, slice-closure, compact-task-memory) plus the high-frequency implement-approved-slice and sync-task-state (v3 wave1 item D) read the four sections above with two subsections of ## Cross-cutting workflow guardrails skipped: ### External web access (centralized) and ### Sequencing heuristics (by phase). Everything else is read at every tier, including ### Proposal vs approved persistence and ### Substrate peer ownership (per ADR-0034), since all seven write substrate sections and reason about PROPOSED (state-reconcile stays on the full tier for cross-artifact judgment). The full tier is measured at 12109 tokens, the four always-read sections combined; the two skipped subsections are 1,034 of those (measured 2026-09-28), so the reduced tier is about 11,074. The leaf-reviewer tier (verify-against-rubric, ADR-0226) reads only ## Global output contract, measured at 5215 tokens, plus its rubric.
  • Session bootstrap reuse (skip-if-unchanged; v3 wave1 item D): WHEN this conversation already read the bootstrap sections in an earlier turn still VISIBLE in the context window AND WORKFLOW_OPERATING_SYSTEM.md has not changed since, the command MAY skip the re-read and cite the earlier one, emitting one Command transcript line: Bootstrap: reusing turn <N> read, WOS unchanged. Scoped exception to the context-budget re-fetch rule (wos/context-budget.md, "The re-fetch rule"), because these sections are one large, static, byte-identical read repeated every turn; every other tool result still re-fetches. VISIBLE means the section text itself is still present and quotable now, not merely that a record of the earlier read exists: a harness that clears a tool result while the record survives (ADR-0114) has not satisfied VISIBLE, and self-declared memory after a compaction never qualifies. A stateless-per-turn harness is excluded. The transcript line is mandatory; a silent skip is invalid output.
  • Resolving the spec and wos/<topic>.md: canonical repository FIRST. Otherwise use active-adapter docs: ~/.claude/workflow-docs (CLAUDE_WORKFLOW_DOCS_DIR), ~/.cursor/workflow-docs (WORKFLOW_DOCS_DIR; project .cursor/workflow-docs on project installs), ~/.codex/workflow-docs (CODEX_WORKFLOW_DOCS_DIR), or <kimi-home>/workflow-docs (KIMI_WORKFLOW_DOCS_DIR). Nonempty overrides win. Kimi home: KIMI_CODE_HOME, else existing ~/.kimi-code, else existing ~/.kimi, default ~/.kimi-code. Use one root for both paths; try other adapters if absent or unknown. Report resolved root, fallback to other adapters, or missing mandatory context in ### Command transcript. Installed snapshots refresh and prune retired topics only on sync.
  • Read additional sections only when relevant to this command's role.
  • Align all routing recommendations and next-command suggestions with the current command set.
  • Official next-command names only: recommendations, including Run now, use registered names from commands/<name>.md or commands/<name>/SKILL.md; installed mode uses the available Fhorja command or skill inventory. No invented aliases. Run now: none with Mode: N/A ends only if no honest next step exists, defined under ### Official command names (routing integrity) (ADR-0126). Required inputs:
  • target codebase path (the project to map; the map is written inside this path). When a task is active and SOURCE_OF_TRUTH.md names the workspace, default to that.
  • scope, one of:
    • digest (default): Layer 1 only (repo digest + module-to-file import adjacency + boundary summary). Cheapest; always safe for a whole repo.
    • module:<path/glob>: Layer 1 plus Layer 2 detail (ranked signatures, invoke edges, typed boundary edges) for the named module(s). Use for the area the current task touches.
    • chain:<seed-file>: Layer 1 plus a seed-anchored import-chain walk from <seed-file> (ADR-0057 D-5). Answers "what does this file pull in, and in what order does the wiring run". Walks by direction with a hop cap and a cycle guard.
  • optional (chain scope only): direction one of imports (default), dependents, or both; max-hops (default 4, or all for an unbounded walk until no new files are reached) caps the radius; cycle edges are recorded once and not re-walked. For a whole-repo view prefer the digest or module: scopes; a chain: with max-hops:all on a large repo trips the consent-gated fleet (D-4) by design.
  • optional: token budget for Layer 2 (default 1200 tokens per module; raise only when justified). Layer 1 is always generated regardless of budget.
  • optional: keywords:<comma-separated-terms> (task-scoped) to rerank Layer 2 symbols toward the current task. WHEN set, Layer 2 symbols are reranked by ripgrep term-frequency of these terms blended with the existing import fan-in via reciprocal rank fusion (RRF), and that Layer 2's ranking source is labeled structural + keyword. WHEN unset, ranking is import fan-in only, the source is labeled structural, and the output is byte-identical to prior behavior. Ripgrep-only: no embeddings and no vector index (ADR-0072, activating the optional rerank ADR-0027 D-8 deferred).
  • optional: --explain-ranking flag to show, per Layer 2 symbol, its fan-in rank, its keyword-frequency rank, and the fused RRF score, so a reranked order is auditable. Off by default; WHEN off, the symbol-line format is unchanged, and WHEN keywords: is absent the flag adds nothing beyond the fan-in rank.
  • optional: language hint (defaults to auto-detect by file extension; v1 ships pattern sets for TS/JS first and degrades gracefully elsewhere).
  • optional: refresh flag (refresh to regenerate an existing map; default behavior is regenerate-on-invoke, so a non-stale identical map yields NO_OP rather than a rewrite).
  • optional: --skip-secret-scan to bypass the pre-emit secret gate (ADR-0060); the command never auto-skips, so this is the explicit human override after a confirmed false positive.
  • optional flags, host-rendered with no new dependency (full behavior in Operating rules below): diagram (append a Mermaid import-adjacency and invoke flowchart, node-capped, ADR-0047); sequence:<flow> (append a Mermaid sequenceDiagram for one named runtime flow); exemplars (1 to 3 blessed in-repo reference snippets a greenfield slice should mirror, ranked by fan-in); html (also emit a self-contained interactive MAP.html in the same gitignored folder, ADR-0057 D-3).

Read the full file on GitHub · 149 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 9d ago Changed · +126 tokens per session 1071cb5e38b5
  2. 12d ago Changed · -1 lines 33dc17051a2e
  3. 19d ago Changed · -1 lines d785c11119bf
  4. 20d ago Changed · -2 lines 8716a757d953
  5. 1mo ago First seen · 153 lines · 0 tokens per session scan A 0eddde6fdaa2

Subscribe to this mod's changes

code-context-map is a command published in the GitHub repository Mozurok/fhorja.dev (10 stars, last pushed 10d ago), licensed MIT. It adds 126 tokens to every session and 7,111 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.