Open Beta

Visualize backend architecture
as a living graph.

Create plugins for | easily with AI

An IDE for exploring backend logic as connected nodes and edges. Open a node to inspect the exact code behind it, understand request flows faster, and design cleaner architectures.

Windows · Free

Plugins
Arcspec
Laravel
+ community plugins
Arcforge graph view
Plugin SDK

Build a plugin in minutes.
Any language. Any framework.

Write one parse() function. Return nodes and edges. Arcforge handles everything else — rendering, navigation, code tabs, AI export.

Get Plugin SDK

Download the SDK schema and manifest docs from GitHub.

Get SDK →
🤖

Build with AI

Paste the SDK prompt into any AI and get a complete plugin scaffold.

🌐

Any Language

Laravel, Django, Rails, NestJS, Spring, Prisma — any codebase.

📦

Load in Arcforge

File → Open Project → pick your plugin → Open existing → select your project.

Enjoy

Navigate your graph. Click nodes. Inspect code. Design architecture.

Plugin System

Arcforge runs
on plugins.

A plugin is three files: manifest.json, nodes.js, parser.js. Implement parse(), return nodes and edges. That's the entire contract.

Your parse(input) receives the project root. Walk the files, read their source, and extract:

class / service definition node
import / require / use edge ("depends")
Route::get(...) edge ("handles")
hasMany / belongsTo edge (relation type)
📁

Works with folders or files

Plugin declares accepts: "directory" or "file". Arcforge opens the right dialog automatically.

🎛

Controls its own UI

Declare which graph actions are enabled via a capabilities object. Plugin decides what users can do.

🔗

Owns all project logic

From parse to save to export — the plugin handles every action. Arcforge is just the renderer.

⚠️

Plugins run with full Node.js access to your file system. Only install plugins you trust.

parser.js
const fs = require('fs').promises const path = require('path') const glob = require('fast-glob') // What to parse: // class / service definition → node // import / require / use → edge ("depends") // Route::get(...) → edge ("handles") // hasMany / belongsTo → edge (relation type) exports.parse = async function parse(input) { const nodes = [], edges = [], map = {} // 1. find files const files = await glob('app/**/*.php', { cwd: input }) // 2. class name → node for (const f of files) { const src = await fs.readFile(path.join(input, f), 'utf8') const name = src.match(/class\s+(\w+)/)?.[1] if (!name) continue const n = node('controller', name, { filePath: f }) nodes.push(n); map[name] = n.id } // 3. "use Namespace\ClassName" → edge for (const f of files) { const src = await fs.readFile(path.join(input, f), 'utf8') const owner = src.match(/class\s+(\w+)/)?.[1] for (const [, dep] of src.matchAll(/use\s+[\w\\]+\\(\w+);/g)) if (map[dep]) edges.push(edge('depends', map[owner], map[dep])) } return { nodes, edges } } // open file on node click exports.onNodeClick = async n => ({ filePath: n.filePath, language: 'php' })
Marketplace

Official & community plugins.

Browse all →
🔴

Laravel

by Arcforge

Visualize Laravel projects — Models, Controllers, Routes, Views, Migrations and more.

Officialdirectory

Arcspec Designer

by Arcforge

Free-form architecture design. Draw nodes and connections. Export AI-ready prompts for any language.

Official.arcspec
+

Build your plugin

Laravel, Django, Rails, NestJS,
Spring, Prisma and more

Features

Your backend, finally visible.

Turn any codebase into a navigable architecture graph. Understand what you're working with before you touch it.

Graph-first backend view

Controllers, services, models, and relations rendered as one navigable graph.

</>

Open node, read code

Click any node to open its source file. Jump to the exact line that powers that part of the system.

Trace request flows

Follow a request from HTTP entry through middleware, services, all the way to the database.

Design with Arcspec

Design architecture from scratch and export AI-ready prompts to generate code in any language.

🔌

Plugin-powered

Every language adapter is a plugin. Install official or community plugins, or build your own.

🛡

Safer refactors

Explore all dependencies before touching code. Avoid breaking hidden server logic.

FAQ

Quick answers.

Questions from early adopters.

Yes. Arcforge is in Open Beta for Windows. Mac and Linux builds are planned.
Out of the box: Arcspec Designer. Any other framework can be supported by installing a plugin. The system is open — anyone can write and share a parser.
A plugin is a folder with three files: manifest.json (capabilities and accepts), nodes.js (node type definitions), and parser.js (exports an async parse() function that receives the project path and returns nodes and edges). Use the AI prompt from the SDK on GitHub to generate all three files automatically.
Yes. Plugins run in the main Electron process with full Node.js access to your file system. Arcforge shows a security warning when loading any third-party plugin. Only install plugins from sources you trust.
Follow releases on GitHub at github.com/ysz7/Arcforge/releases. The changelog is updated with every version.

Start seeing your backend.

Free. No account needed.

Download Arcforge

Windows x64 · Free