Design. Code. Document. Review. All in sync.

Design, build, document and review in one place. Bring your AI agents into the process, keep every decision connected, and store it all in your own Git repository.

127.0.0.1:4747 · checkout-flow / canvas
LIVE SYNC
LAYERS
Checkout screen
Order summary
Promo field
Pay button
Footer note
OVERLAYS
API docs
Infrastructure
Tasks
Order summary
Subtotal$148.00
Tax$11.84
Pay $159.84
POST /api/checkout
DOCSINFRAFLOW

Creates an order and captures payment. Idempotent on Idempotency-Key.

201 Created402 Payment required
Mdocumented in VS Code · 2h ago
A single source of truth for
DesignersFrontend developersBackend developersEngineering teamsAI coding agents

Three surfaces, one contract

Author from wherever you work.

The canvas, VS Code and the MCP server all read and write the same files in .forward/, so nothing drifts between design, editor and agents.

01 / CANVAS

Draw and review

Draw interfaces, model architecture, narrate flows, design data and track work in the browser, served locally from your repository.

02 / VS CODE

Document in your editor

Backend developers attach framework-agnostic API documentation to any design element without leaving the code.

03 / MCP + CLI

Hand it to an agent

49 tools with full parity, over MCP or straight from the shell, so any AI assistant or script can create and maintain every artifact.

The building blocks

Every engineering artifact, connected to the UI.

Separate layers that each attach to the design or link to it by id, stored one file per record so they merge cleanly and diff readably in a pull request.

Design canvas

A design editor, built in.

Frames, rectangles, ellipses, text, reusable components and instances, with absolute positioning, nesting and styling. Run it locally with forward serve or open it inside VS Code.

Design canvas layout illustration

API documentation

Attach framework-agnostic Markdown docs to any element, from VS Code, an AI agent or the canvas. Endpoints stay tied to the interface they power, with an append-only history of every edit.

Infrastructure diagrams

Your architecture as a project-wide graph (frontends, backends, databases, caches, queues, services, DevOps and external dependencies) overlaid on the canvas.

Narrated system flows

Step-by-step walkthroughs rendered as numbered paths across the graph. Tie a step to an endpoint and render the flow as a Mermaid sequence diagram.

Data models

Entity-relationship diagrams with tables, fields and crow's-foot relationships, serialized to a Mermaid erDiagram.

Task management

Track the work next to the system it belongs to.

Status, priority, type, assignees, dependencies, comments and an activity feed. Every task can link to a design element, a system flow or an API endpoint, so work always tracks against the thing it's about.

DependenciesActivity feedLinked traceability
Taskscheckout-flow · 12 open
Implement 402 decline state→ endpoint
Add payments-db to graph→ infra
✓Draw order summary frame→ design

Documentation where it appears in the UI

Backend docs, written where the backend lives.

Pick a design element, write Markdown next to your code, and attach it from the VS Code extension, or let an AI agent do it through the MCP server. Every API endpoint stays associated with the interface it powers.

Framework-agnostic: just a title and Markdown.
Saved as a file in .forward/, committed with the code.
Pin code to its element with an @adc anchor comment.
checkout.ts — shop
11  // @adc el_pay_button
12  export async function checkout(req) {
13    const order = await orders.create(req);
14    await payments.capture(order);
15    return { id: order.id };
16  }
FORWARD
element · Pay button
POST /api/checkout
## Captures payment
Idempotent on key.
- 201 created
- 402 declined
Save documentation
terminal — shop
$ forward capture --browsers
chrome · edge · playwright (project)
 
$ forward capture http://localhost:5173 / /login
/ → frame · boxes · text
/login → frame · boxes · text
drafts marked ‹/› from code
 
# Firefox or Safari: paste a DevTools snippet
$ forward capture --script --route /login

Designs from frontend code

Built the screen first? Forward draws it for you.

forward capture renders your running app and reads back what the browser actually painted: one frame per route, a box for everything that paints, text for every run of text. React dev builds also report components, so repeated ones become a component plus instances.

Uses the Chromium browser you already have (Chrome, Edge, Brave, Chromium, Vivaldi or Opera) headless with a throwaway profile, or the project's Playwright. Nothing is downloaded.
No browser at all, say in CI? The forward-capture companion brings its own headless Chromium.
Results are drafts marked "from code". Re-running updates them in place, an edited draft is never overwritten, and API docs never move on a guess.
Any browser works with --script: paste the snippet into DevTools and import the snapshot it saves.

Architecture & narrated flows

The distributed system, as a living overlay.

Visualize frontend apps, backend services, databases, caches, queues and integrations as one project-wide graph. Then narrate a flow (registration, auth, checkout) as a numbered path across it, and render it as a Mermaid sequence diagram.

Infrastructure graph: web client to api-gateway to checkout service and payments databaseweb clientbrowserapi-gatewayedgeevents-queueasynccheckout-svcon flowpayments-dbpostgresflow: place order · 4 hops → Mermaid
DATA MODEL · COMMERCEMermaid erDiagram
users
iduuid PK
emailtext
nametext
one-to-many relationship1 : N
orders
iduuid PK
user_iduuid FK
totalnumeric
statusenum

Data models

Entities, fields and relationships that version with you.

Design and maintain entity-relationship diagrams with tables, fields and crow's-foot relationships. They serialize to Mermaid erDiagram definitions, and each entity is its own JSON file, easy to review in a pull request and version with the schema it describes.

Never lose the thread

The project remembers everything.

Every edit to an element's API docs is an append-only history entry with a reviewable, git-style diff, and the project timeline is built from your git log, so commit messages show up in it too.

HISTORY TIMELINE · PAY BUTTON8 revisions
Added 402 responseDOCS
maya via claude · 2h ago · diff +6 / −1
Linked payments-db nodeINFRA
arjun · yesterday
Resized & moved frameDESIGN
maya · 3 days ago
Created element
maya · last week

Checkpoints

Save named snapshots of the whole canvas (design and infrastructure) at milestones, each with a note and per-layer change counts. Restore any of them whenever you need to.

Catch-up digest

Pick a baseline, or a git ref with forward diff origin/main, and get the endpoints to integrate, modify and remove, plus a summary of everything else that changed.

AI-agent first

Agents are first-class collaborators.

Claude Code, Codex, Cursor, Copilot or any MCP client gets the same tools as the canvas: documentation, architecture, data models, tasks and the design itself. Agents without MCP run the very same tools from the shell, and every write is stamped with your git name plus the agent that made it.

49
MCP tools,
full parity

Git-native

Git is the sync, the history and the access control.

There is no central server or database. Whoever can push to your repository can change the project, and changes reach the rest of the team the way code does: through commits, pull requests and merges. The contributor roster is read straight from git.

Push access is edit access
Roster from git contributors
Reviewed in pull requests
Timeline from git log
Canvas server on loopback only
Random per-session key
Contributorsfrom git history · read-only
UA
Uncle Akrobeto
uncle@example.com
AD
Abeeku Djokoto
abeeku@example.com
AK
Ama Kubolor
ama@example.com

Why Forward

Make the interface the anchor for everything.

Modern teams keep designs, API docs, infrastructure, data models, tasks and AI workflows in disconnected tools, and as the project evolves they drift out of sync. Forward keeps every artifact connected to the interface it supports, in the repository it describes.

01

One source of truth

Design, documentation, architecture and tasks live in one .forward/ folder next to the code, so they stop drifting apart.

02

Docs that can't go stale

Documentation lives next to the element it describes and versions with it, change by change, in the same commits as the code.

03

Editor-native

Backend devs document straight from VS Code: no context switch, no second tool to keep open.

04

AI-ready by default

An MCP server and a CLI give any agent full parity to read elements and maintain every artifact.

05

Traceable end to end

Tasks link to design, flows and endpoints, so work always tracks against the thing it's about.

06

History you can trust

Git history, per-element doc history and checkpoints record every change, by whom and when, so decisions are never a mystery.

Open source

Free, Apache-2.0, and yours.

Forward is open source under the Apache 2.0 license. Your project is plain JSON in .forward/ in your own repository: there is nothing to host and nothing to lock you in.

01 / LICENSE

Apache 2.0, free

Use it, fork it, change it. Every surface (canvas, CLI, MCP server, VS Code extension) lives in one repository.

02 / STORAGE

Plain JSON in your repo

One file per record in .forward/, validated against one schema. Merges stay clean and pull-request diffs stay readable.

03 / SYNC

Git does the rest

No server to run and no database to back up. Git is the sync, the history and the access control.

One source of truth, from design through delivery.

Run this in the root of your repository. It creates .forward/, the agent configs and the GitHub workflow; commit them and your team, the canvas and your agents are in sync.

npx -y -p forward-mcp forward init
Apache-2.0 · Node 22+ · MCP-native