One unified graph across your repos, not a federation of isolated ones. Built for teams running many services as one system.
Not a federation of isolated per-repo indexes. A single knowledge graph that spans the whole workspace.
Producer-to-consumer event topology, canonical QA evidence, and cross-repo PR surface diffs through shared virtual nodes. Your AI sees the edges between repos, not just inside them.
Re-indexes incrementally on every file save. What the code looks like today, not what a README said two years ago.
Producer-to-consumer graphs across repos. Cross-repo edges meet at shared virtual nodes, so blast radius is a query, not a guess.
Partial context is worse than no context. Gather Step keeps topology, proof, storage health, and assistant retrieval in one local workflow.
Producer-consumer graphs, blast-radius traces, and orphan-topic checks across Kafka, NATS, SQS, Redis Streams, and NestJS.
Run `gather-step init` at the workspace root, accept the defaults with Enter, and get config generation, first index, AI context files, and local MCP setup in one guided flow.
NestJS, React hooks, routers, Storybook, gateway proxies, Mongoose, TypeORM, Prisma, Drizzle, Bull/BullMQ, and typed field access become graph edges.
Contract drift, shared API rollout, confirmed/probable downstream repos, and advisory co-change evidence stay separated.
Release-gate artifacts, PR-oracle scoring, schema recovery, compaction, MCP traces, and copy-paste-safe Mongo probe plans make the graph auditable.
Run `gather-step pr-review` against any two refs to get a structured delta report: added/removed routes, exported symbols, payload contracts, event wiring, deployment surfaces, and removal risks — all local, no vendor.
Plan, debug, fix, review, and change-impact packs pair with `.claude/rules/`, `CLAUDE.gather.md`, and `AGENTS.gather.md` instead of raw graph dumps.
`qa-evidence` emits stable IDs, closed evidence kinds, structured citations, existing-test signals, feature-flag gaps, and scan truncation markers without writing test cases.
Generated state is stamped and version-checked across the graph, metadata, and search stores. Every pipeline runs locally; nothing leaves your machine.
Precision over noise. Six task-shaped exports cover planning, debugging, fixing, review, change impact, and QA evidence; the QA evidence manifest exports the facts a downstream planning tool needs.
Entry points, cross-repo dependency chains, migration siblings, generated probe plans, and affected event surface.
Hotspot history, recent co-changes, ownership, upstream producers, downstream consumers.
Narrow edit surface, direct callers, likely tests, unresolved gaps, and the smallest safe path to a targeted change.
Blast radius for this diff, convention checks, contract drift, cross-repo impact.
Confirmed and probable downstream repos, field-impact gaps, optional payload drift hints, and ranked files for API or contract changes.
Canonical evidence rows, structured citations, existing-test signals, feature-flag gaps, and scan-limit gaps for downstream QA planning.
Three planning tasks on the same 31-repo, 14,296-file workspace. Left bar is what a workspace-wide grep walk takes (`rg -l <symbol> | xargs cat`). Right bar is a single Gather Step pack query against the loaded index. Both measured wall-clock on the same machine; medians of three runs.
Full 25-scenario suite, every metric at the HIGH ceiling, latency well under release-gate thresholds (p50 ≤ 50 ms, p95 ≤ 300 ms, p99 ≤ 1000 ms).
useAuth (220 referencing files), CommentCreatedEvent (66
files), and CreateTaskUseCase (17 files). For each, the manual baseline
runs rg -l <symbol> | xargs cat end-to-end; the Gather Step
baseline runs gather-step pack <symbol> against an already-loaded
index. Both wall-clock, both medians of three runs, both on the same Apple M5 Pro.
Gather Step does one thing completely: it provides a unified, accurate, always-current knowledge graph of what your system actually looks like. It fits next to the tools your team already ships with.
No API keys. No account. No data leaves your machine.
From your workspace root, run `gather-step init` and follow the guided defaults. It discovers repos, writes the config, builds the first index, generates AI context files, and registers local Claude MCP settings.
A full index walks every configured repo, parses TS / JS / Python / Rust / Go / Java, extracts framework structure, and writes the graph + search + metadata stores under `.gather-step/`. `--auto-recover` rebuilds stale generated state on the fly.
Watch mode incrementally re-indexes on every file save. `init --watch` continues after the first index pass, and `mcp serve --watch` runs the MCP server and watcher in a single process.
Plan, debug, fix, review, and change-impact packs ship as one structured response. The MCP server makes them callable from Claude Code; the CLI emits the same JSON for any other tool.
Run `gather-step pr-review` before merge to get a cross-repo surface delta: added and removed routes, exported symbols, payload contracts, event wiring, deployment surfaces, and removal risks — without sending code off-machine.
`qa-evidence` bundles canonical code facts, structured citations, existing-test hints, dynamic flag gaps, and scan-limit gaps for downstream QA planning tools. It stops at evidence, not requirements or test-case prose.
The problems Gather Step solves emerge from teams and scale with team size. It is most valuable when no single engineer can hold the whole system in their head.
Stop guessing which downstream consumers break when you change a producer.
Cross-repo migrations start with real structural data, not your best recollection.
Twenty changed files; know which ones touch shared contracts and event flows.
Export stable evidence rows, feature-flag gaps, existing tests, and downstream surfaces before writing scenarios.
Routes, services, event flows, and conventions, derived from the code, not stale docs.
Concentration risk across every service, event, and critical consumer, made visible.
One unified graph across your repos, not a federation of isolated ones. Built for teams running many services as one system.