The Scribe apps

Terminal, desktop, or browser.Pick whichever suits you.

A command line for scripts and terminal people. Native apps for Mac and Windows for everyone else. A web hub for reviewing and merging. The same Scribe under all of them.

01 / The command line

A few commands.
Most days, that's all of it.

Create a working copy, see what changed, and submit when you're ready. Run it directly, or wire it into the tools you already have.

macOSWindowsLinux
Explore the CLI reference
--json

Structured output for your scripts and automation. Add --json to get machine-readable results and errors.

With your server connection configured and a repository named Game:

01Make yourself a workspace

shell
scribe workspace create Game ./Game
cd Game
scribe sync

02See what changed

shell
scribe status
scribe diff
scribe log

03Open a file, then publish your edit

shell
scribe edit Source/player.cpp
# Make your changes in your editor, then:
scribe submit -m "Refine player movement"

02 / For macOS

A proper Mac app.
Not a web page in a window.

Local changes, file review, history, and branches in a native Mac window, with your project in view the whole time.

macOS 26+
Scribe for macOS, 1 of 3Open original
Scribe for macOS showing Local Changes with file names, statuses, types, and sizes beside the workspace sidebar.

Your workspace, in focus

See your local changes, file status, and project navigation together in one window.

SwiftUI + Liquid Glass

Native windows, familiar controls, and Liquid Glass chrome built for macOS 26.

Swift 6 + Observation

A modern Swift app with observable state and structured concurrency.

SwiftData

Recent workspaces and app preferences kept locally on your Mac.

03 / For Windows

A proper Windows app, too.
Mica, WinUI 3, the lot.

Everything the Mac app does, in a native Windows window: Mica, a navigation pane, command bars, and your system accent color.

Windows 11 (runs on Windows 10 1809+)
Scribe for Windows, 1 of 3Open original
Scribe for Windows showing Local Changes with file names, statuses, types, and sizes beside the workspace navigation pane.

Your workspace, in focus

Local changes with their status, type, and size, beside a navigation pane for files, history, branches, and proposals.

WinUI 3 + Windows App SDK

Native Windows 11 chrome: Mica, NavigationView, CommandBar, InfoBar, and ContentDialog, with the Segoe Fluent type ramp.

C# on .NET 10

Observable feature models from the MVVM toolkit, published ahead of time to native code for x64 and ARM64.

Local app settings

Recent workspaces, theme, text size, and language kept in a JSON file under your local app data.

04 / On the web

Where the team meets.
Review, argue a little, merge.

See what changed, browse repositories down to the line, review and merge branches, and check who holds which lock. Self-hosted, next to your Scribe server.

Any modern browser, self-hosted
Scribe on the web, 1 of 3Open original
Scribe’s web Home page with an activity feed of submitted changes grouped by day, each with labels, file counts, and reactions, beside starred and recently created repositories.

Keep up with the work

A feed of submitted changes across your repositories, with labels, quick reactions, and starred repositories close at hand.

Proposals

Review and merge branches in the browser: review rounds, approvals, and requested changes.

Activity and reactions

A feed of submits and proposals, emoji reactions, and notifications for threads you're in.

Locks and workspaces

Who holds which lock, and every registered workspace, across all your repositories.

Search everywhere

Cmd/Ctrl+K opens search for repositories, files, and people. Star the repositories you return to.

Same permissions

Every read is checked against Scribe, so the browser never shows more than your account may see.

REST and MCP

Scripts and agents get the same workflows through a documented REST API and an MCP server.

Next.js + React

A React 19 client with TanStack Query, Tailwind, and Motion, in light and dark with the Scribe palette.

Fastify API + TypeScript SDK

The API speaks the native Scribe protocol through a TypeScript SDK. No CLI binaries, no second protocol, no second repository format.

Self-hosted with Docker Compose

One port behind nginx, with SurrealDB for web sessions and Valkey as a disposable cache. Your Scribe server stays the source of truth.

One Scribe

Mix them freely.
They agree on the facts.

Same working copies

The CLI and the apps open the same workspaces, so you can switch mid-task.

Same history and permissions

The web reads the same storage and checks the same roles. Nobody sees more in a browser than in a terminal.

Same identity

One account everywhere. Hand off web sign-in from a desktop app; give scripts and agents tokens.