MIT / open source / C4 & beyond

Architecture modelling,
not just drawing.

Diagrams go stale because the drawing is the document. Radical.Tools makes the model the document - views are derived from it, always consistent.

How it works

Four layers. One source of truth.

Metamodel defines the rules. Model holds the truth. Views render slices. Milestones track history.

01

Metamodel

The vocabulary of your architecture.

Defines what kinds of things can exist: node types, relation types, allowed properties. Three presets ship built-in: C4 (Person, Software System, Container, Component), C4 + DDD (recursive strategic Domains), and C4 + DDD + Governance (Architecture Decision Records and Fitness Functions). Extend any of them or replace the metamodel entirely.

Person → uses → Software System metamodel rule
02

Model

The single source of truth.

A graph of concrete nodes and relations that conforms to the metamodel. Add an element once - it's available in every view. No copy-pasting between diagrams. No drift between levels.

PaymentService → calls → StripeAPI model instance
03

View

A named perspective on the same model.

Different audiences need different levels of detail. Structure views render scoped node-link diagrams such as System Context or Container maps. Flow views bind a sequence to that same model and show numbered interaction steps. Hierarchy views turn containment into a drillable treemap. Table views give you an editable, governance-aware spreadsheet, Matrix views expose dependencies as a DSM grid, and Wiki views let you browse and edit elements as readable document pages. Each view keeps its own layout, drill or filter state, while the underlying model stays shared.

Structure / Flow / Hierarchy / Table / Matrix / Wiki → one model, six readings view instance
04

Milestone

A named snapshot of the model.

Tag any state of the model with a name and date. Browse history, diff two milestones side by side, and restore any previous state. Architecture decisions get a timeline.

v2 → v3 diff: +3 nodes, -1 relation milestone diff
Features

Beyond the model itself.

Milestones & History

Name a snapshot at any moment. Browse history, diff two versions side by side, and restore a previous state with one click.

Smart Layout

Three layout engines: ELK (hierarchical), WebCola (live force-directed), and a simulated-annealing pipeline tuned for crossing minimisation.

AI Analysis

Ask the model questions, detect gaps, or describe a change in plain language and let an LLM apply it as a structured patch. Works with Claude, OpenAI, Gemini, and local Ollama - your key, your API, nothing proxied.

Desktop & Web

Electron desktop app or browser - same codebase, same file format. No account, no cloud, no telemetry.

Presentation Mode

Sequence any mix of structure, flow, and hierarchy views into a slide deck. Flow views replay interaction steps one by one; the others give you framing slides before and after the walkthrough.

Six View Types

Read the same model as a Structure diagram, a numbered Flow, a drillable Hierarchy treemap, an editable Table, a dependency Matrix (DSM), or an inline-editable Wiki document — all always in sync.

Governance Built In

Capture Architecture Decision Records and Fitness Functions as first-class nodes, then link them to the elements they constrain, supersede, or implement.

Plain JSON, No Lock-in

Models are JSON files on your disk. Diff in git, edit in any text editor, automate with any script.

Concept Hub

Browse a curated library of architecture patterns, fitness functions, EARS requirements and ADR templates. Import any concept into your model with one click. Explore the Hub →

Install

Run it locally.

Node.js ≥ 18, npm ≥ 9.

Terminal
# Clone the repository
git clone https://github.com/tomasz-zajac-opensource/radical.tools.git
cd radical.tools

# Install dependencies
npm install

# Start in development mode
npm run dev

# Build for production
npm run build && npm start