Inspect a codebase’s runtime structure:
- Views include call stacks and entry points.
- Use it to explore a codebase architecture, and to guide refactoring.
- It's an interactive, always‑current map of your code that complements source and design docs.
Status: Pre‑alpha.
Source files are two-dimensional and static; they show lines of code contained in methods, types, and packages.
Call stacks add the runtime dimension. They show:
- Why an API exists
- How it is implemented (calls to subroutines)
- Context: what calls an API
- Connections: where components are linked
API Viewer makes the map of callers and callees explicit.
- In programs that run to completion -- call stacks originate in
Main. - In long‑running processes --
Maininstantiates event handlers, and most call stacks start in those handlers. - In network processes -- endpoints are event handlers or callback functions, which implement a network API.
It builds a model of the software:
- Parses software in a build or installation folder.
- Tokenizes code elements: packages, namespaces, types, methods.
- Models the software as a token tree; method calls are token pairs (
from → to). - Indexes tokens by ID for fast lookup.
The UI renders multiple view types from the model:
- Expand groups, hide or select nodes
- Open multiple windows
- Inspect labels, tooltips, and details
- Explore a new codebase
- Document or summarize an existing codebase
- Refactor or analyze work in progress
- Interactive
- High‑level and code‑level views
- Always up‑to‑date — one‑to‑one mapping with source
- API Viewer runs locally.
- Model data stays on your machine.
- No network connection is used.
Status ⛔
Pre‑alpha: incomplete and unreleased.
Documentation ⛔
Documents -- *.md files -- are old, unfinished, unreliable.
Only this README and the ROADMAP are maintained recently.
Languages
Current version supports .NET only. Other languages (for example TypeScript) may be added later.
Implementation
- Parsing -- System.Reflection and ILSpy
- Storage -- SQLite
- Graphic -- GraphViz
- Packaged -- a VS Code extension; or a standalone Electron app