What You Can Do With Forge

// Code Oracle

Ask your codebase a question, get the real answer. “What calls this function?” “What breaks if I change it?” Forge walks the actual call graph across C++, C, Python, TypeScript, Go, Rust, Java, and JavaScript — no fuzzy search, no ranked guesses.

// Pattern Learning

Find the patterns your code already has. Forge clusters structural similarities automatically — naming conventions, call shapes, module layouts — so your AI can follow them instead of inventing its own.

// Forge Envelopes

Give your AI exactly the context it needs — callers, callees, types, rules, matching patterns — without dumping the whole repo into the prompt. The right context, not all the context.

// Code Generation

Generate code that actually fits. Forge assembles the context, your LLM writes the code, then Forge compiles it and checks it against your rules. If it's wrong, Forge retries with the error. The AI doesn't get the last word.

// Thermal Model

Forge remembers what you've been working on. Recently queried or modified code runs hot. Heat spreads through connections, surfacing related code automatically — so Forge pays attention where you're paying attention.

// Anthropic-grade Generation

Generation runs on operator-managed Anthropic credentials with Voyage embeddings. Forge handles the deterministic graph intelligence; the LLM punches above its weight when it knows the codebase.

// Catalog-Contributing Generation

Four generation tools persist their output onto your graph and mint SYN when they do: forge_generate_docs (docstrings), forge_write_test (unit tests), forge_extract_method (refactoring proposals), forge_naming_suggest (ranked renames). Each call is idempotent on source commit — regenerating on an unchanged function is free.

Why a Graph, Not Embeddings

Most AI code tools turn your code into embeddings — high-dimensional vectors that approximate meaning. That works for natural language. Code isn't natural language. Code has exact structure, and Forge uses it.

Deterministic, Not Statistical

Your code is parsed into a property graph using language-native parsers. Every function, type, and dependency is a node or edge with exact structural meaning — not an approximation.

Exact Answers, Not Ranked Guesses

“What calls this function?” returns the actual call chain. Impact analysis gives you the exact set of affected functions — not a probability ranking of candidates.

Multi-Language, One Graph

C++ via libclang, and C, Python, TypeScript, Go, Rust, Java, JavaScript via tree-sitter — 8 languages total. All of them feed into a single graph where cross-language relationships are first-class.