Documentation
Everything you need to work with CodeGraph: analyzing code, reading the graphs, sharing snapshots, and saving workspaces.
Quick start
- Open codegraph.studio — no installation or sign-up required.
- Pick Go or Rust and write or paste code. Create files and folders in the explorer, or import local files.
- Press Analyze. With auto-analyze on (default), the graph also rebuilds about a second after you stop typing.
- Click any node to jump to its source line; move the editor cursor to highlight the matching node.
Graph modes
| Mode | What it shows |
|---|---|
| App Flow / Program Flow | Statement-level control flow: branches, loops, returns, defers, goroutines, panics. |
| Call Graph | Which functions call which, across files and packages, including external and unresolved calls. |
| Module Graph | Files, packages/modules, and their import relationships. |
Go analysis runs on a native engine built on go/parser,
go/ast, and go/types; it is deterministic and
involves no AI. Rust currently uses a lightweight
preview analyzer.
Share links
Share publishes an immutable snapshot of the current
workspace at a public URL (codegraph.studio/s/…) and
copies the link to your clipboard. Opening the link loads the code —
including the file that was active when sharing — and builds the
diagrams. Snapshots cannot be edited or deleted through the UI, so
share only code you are comfortable making public.
Workspaces and accounts
Everything works logged out: your workspace is saved in the browser. Signing in with Google or GitHub adds named cloud workspaces that sync across devices — create, rename, delete, and switch them from the project picker. Sessions are cookie-based; provider tokens are used only to load your profile.
Import and export
- Import local source files or whole folders into a workspace.
- Export the active file, the whole project as JSON, or the current graph as JSON.
Limits of static analysis
CodeGraph analyzes code without running it, so behavior that only exists at runtime is out of scope: reflection, CGO, code generation, and dynamic dispatch through complex interfaces may produce incomplete edges. Unresolved calls are still shown — marked as external — rather than silently dropped.
Analysis limits
The analyzer accepts snapshots up to 10 MB and rate-limits requests per client; if you hit the limit while typing, the graph simply refreshes a few seconds later. Share-link creation has its own, stricter budget.