Mission control for spec-driven development.
Every change in flight across every workspace — proposals, specs, tasks and a live git graph, in your menu bar.
Early, active development (v0.x) — expect rough edges.

Awareness you have to go and fetch isn’t ambient
Spec-first work leaves its state on disk — proposals, specs and task lists spread across repositories and git worktrees. Checking any of it meant leaving the code, opening an editor and navigating away from the version-control view to a separate panel.
That context switch is heavy enough that between deliberate visits, you stop looking. Which defeats the point.
What it does
One badge for every project
The tray badge counts non-archived logical changes across every tracked workspace. A change being worked on in several git worktrees counts once, not N times. Hidden at zero.
Three-pane browser
A resizable workspace tree, an artifact and markdown view, and a git commit-graph rail — left to right.
The full workspace tree
Git repositories group their worktrees automatically. A change open in several branches expands to one instance per worktree, each with its branch name, a task-progress meter, a relative modified time, and [diverged] / [stale] labels when a branch’s copy drifts from the default branch.
Rendered markdown
Proposals, designs, specs and tasks.md render as GitHub-Flavored Markdown with syntax-highlighted code. Click a section or task to jump to it.
Live commit graph
A faithful git log --all DAG with lanes, branch and merge topology, ref decorations, and commits grouped into day bands. Click a commit for its changed files and diffs.
Always live
Badge, tree, detail pane and graph update as files change on disk. There is no refresh button.
Notifications that stay quiet
Desktop notifications fire only when a change first appears or is archived — never on ordinary file edits. Toggleable.
A terminal UI
The same view without the desktop app, shipped as a standalone binary for anyone who would rather stay on the keyboard.
The spec format it reads today is OpenSpec.
Read-only, deliberately
SpecForge observes and renders. It never edits a spec, never toggles a checkbox, and never touches git. Task checkboxes render exactly as authored and are inert.
That is a design decision, not a gap. An always-on pane watching every repository you work in is a tool you want to be certain cannot change anything — so it holds no write path at all, and you keep editing specs wherever you already do.
Download
Every build below ships on the same release page, so it is always the newest one.
macOS
11.0+, Apple Silicon & Intel
universal .dmg
Windows
x64 — installer or single-file portable
NSIS .exe · portable .exe
Linux
x64
.deb · .AppImage
Terminal UI
Standalone binary — extract and run ./specforge-tui
macos-universal · linux-x64 · windows-x64
Headless server
The browser UI on a remote or homelab box over SSH. Binds 127.0.0.1:4317.
macos-universal · linux-x64 · windows-x64
Releases are unsigned.
macOS Gatekeeper warns on first launch — right-click the app and choose Open. Windows SmartScreen may warn; choose More info → Run anyway. The standalone binaries need their quarantine flag cleared on macOS, and the troubleshooting page walks through each path.
Publishing specforge-serve on a network interface with --bind 0.0.0.0 is unauthenticated — only do that on a network you trust.
SpecForge is built and released by Avant Media, a one-engineer software studio. If you want to talk about how you build software, the calendar is open.