Previously “StoryMaps”

How It Works

From raw code to
scoped, grounded stories.

ArcLume's structural scoping engine reads your codebase at the AST level, maps every dependency and call graph, and produces stories that reference real files, real functions, and real relationships. Here's how it works.

1

Connect your repositories

Install the ArcLume GitHub App and select which repositories to index. Monorepos, polyrepos, or a mix of both — ArcLume handles them all. Permissions are read-only; your code never leaves your infrastructure during analysis.

One-click GitHub App

Authorize in seconds. Select specific repos or grant access to your entire organization. No SSH keys, no tokens to manage.

Auto-reindex on push

Every push to your default branch triggers an incremental reindex. Your structural model stays current without any manual intervention.

Read-only access

ArcLume only reads your code to build the structural model. No write permissions, no code stored beyond the index. SOC 2 compliant.

2

AST parsing and call graph extraction

ArcLume parses every file into an Abstract Syntax Tree, extracting functions, classes, interfaces, exports, and imports. Then it traces call graphs within and across repositories to build a complete dependency map.

What gets extracted

01

Function and method signatures with full type information

02

Class hierarchies, interface implementations, and trait boundaries

03

Import/export relationships and re-export chains

04

Cross-service interface points: REST endpoints, message queues, gRPC definitions

05

Intra-function call chains and data flow paths

Language support

TypeScript
JavaScript
Python
Go
Rust
Java
Ruby
C# (coming soon)

Built on tree-sitter for fast, incremental parsing across all supported languages.

3

Build the structural model

The AST data and call graphs are unified into a single structural model — a queryable graph of every symbol, relationship, and cross-service connection across all your repositories. This is the foundation for code-grounded planning.

Cross-repo resolution

When service A imports a type from a shared package that service B also consumes, ArcLume maps the full chain. Changes to the shared type surface every consumer.

Confidence scoring

Not every connection is deterministic. ArcLume scores each relationship — confirmed (static analysis), likely (naming convention match), or uncertain (heuristic) — so you know where to investigate.

Incremental updates

When code changes, only the affected portions of the structural model are recomputed. A push to one repo doesn't require reindexing your entire organization.

4

Generate scoped stories

Describe what you want to build — in a brief, a transcript, or a conversation. ArcLume queries the structural model to identify every file, function, and service boundary involved, then generates stories that are scoped to your actual architecture.

Example: brief to scoped stories

in

"Add a webhook notification when an order ships"

out

Story: Emit order.shipped event from fulfillment service

scope: fulfillment-service/src/handlers/shipment.ts:L47-89

touches: OrderShipment.complete() call chain

confidence: confirmed

Story: Add webhook dispatch consumer for order.shipped

scope: notification-service/src/consumers/ (new file)

depends on: shared-types/src/events/order.ts

confidence: confirmed

File paths, not guesses

Every story includes the exact files, line ranges, and functions that need to change. Engineers open the PR knowing exactly where to start, not spending 30 minutes on code archaeology.

Cross-service awareness

When a feature spans multiple services, ArcLume generates stories for each service with explicit dependency links between them. No more discovering mid-sprint that you missed a downstream change.

Planning grounded in code, not imagination.

Connect your repos and see how ArcLume's structural scoping engine turns your codebase into a planning superpower.

Start free