previously SoulForge
The AI coding agent that edits symbols, not strings.
Empryo reads your repository as a living system: it sequences a genome — a live, ranked dependency graph of every symbol — and edits through the AST, never find-and-replace.
Website · Download · Benchmarks · Changelog · Discussions · Discord
SoulForge is now Empryo — the same symbol-level, graph-powered agent, rebuilt with a desktop app, a faster engine, and a composable core. This repository is Empryo's public home for issues and discussions.
# macOS / Linux
curl -fsSL https://empryo.com/install.sh | bash
# Windows (PowerShell)
irm https://empryo.com/install.ps1 | iexbrew install proxysoul/tap/empryo
winget install ProxySoul.Empryoempryo --set-key anthropic sk-ant-... # or run locally with Ollama — no key required
cd your-project
empryoDesktop app and prebuilt binaries: empryo.com/download. Runs on macOS, Linux, and Windows.
Most coding agents grep, read whole files, and patch strings — they never know what depends on the code they just changed. Empryo builds understanding before it mutates anything:
- It maps before it reads. On launch, tree-sitter parses your repo into a live graph — every symbol, import, and call site, ranked by PageRank and git co-change. Graph queries answer in milliseconds and cost zero LLM tokens.
- It knows the blast radius. Before an edit, the agent sees what imports a file, what historically changes with it, and how far a change ripples — "what breaks if I touch this?" is answered before the first keystroke.
- It edits through the AST. 65+ symbol-level operations, atomic batches with all-or-nothing rollback, structural edits across 30+ languages, and a typecheck as the gate. Nothing breaks on whitespace.
- It treats tokens as spend. The graph does the navigation models usually burn context on — fewer reads, fewer steps, smaller bills at any scale.