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.

SpecForge browsing a change's tasks, with the workspace tree on the left and the commit-graph rail on the right

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

Get the latest release

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.