Speccify

Desktop app for macOS, Windows and Linux

Speccify on your machine

Viewer, MCP servers and agent terminal in one app. No repository, no Rust, no Python setup — it brings everything it needs.

Download the latest release

macOS: Apple Silicon, macOS 11+ (.dmg) · Windows: x64 (*-setup.exe) · Linux: x86_64 and arm64 (.AppImage, .deb, .rpm)

macOS downloads are signed and notarized.

Direct downloads

Looking up the latest release…

  • macOS Apple Silicon

    • Windows x64

      • Linux x86_64 · arm64

        Windows: SmartScreen warns on first launch

        The installer is not code-signed yet, so SmartScreen shows "Windows protected your PC" the first time. Click More info → Run anyway — or build it yourself below; the release is produced from this repository by a public workflow, so the result is identical.

        Linux

        Three formats, pick one. The AppImage runs on any distribution without installing: download it, mark it executable (right-click → Properties → “Allow executing”, or chmod +x Speccify_*.AppImage), double-click. The .deb (Ubuntu, Debian, Mint) and .rpm (Fedora, openSUSE) install through your package manager and put Speccify in the application menu. There is no Gatekeeper or SmartScreen equivalent on Linux — nothing to click through.

        What it needs: a desktop session with WebKitGTK 4.1 (libwebkit2gtk-4.1), which is how the app draws its window. Ubuntu 22.04 and newer, Debian 12, Fedora 37 and newer, and current openSUSE, Arch and Mint ship it; the .deb and .rpm pull it in as a dependency. For the Git and agent features, git and Claude Code or Codex on your PATH, as on any platform.

        Where it will not work, or needs a hand:

        • Older distributions (Ubuntu 20.04, Debian 11 and earlier) only have WebKitGTK 4.0 — the app will not start there.
        • AppImage without FUSE 2: Ubuntu 22.04 and newer no longer install libfuse2 by default, and the AppImage needs it to mount itself. Either sudo apt install libfuse2, run it with --appimage-extract-and-run, or use the .deb instead.
        • KDE Plasma works — WebKitGTK is a library, not a desktop requirement — but the window uses GTK styling, so it will not follow your Qt theme, and the .deb/.rpm bring GTK and WebKitGTK along if they are missing.
        • Wayland with NVIDIA drivers: if the window comes up blank or flickers, start it with WEBKIT_DISABLE_DMABUF_RENDERER=1 (or WEBKIT_DISABLE_COMPOSITING_MODE=1) — a known WebKitGTK issue, not specific to Speccify.
        • Headless servers, containers, WSL without WSLg: no display, no window. WSL2 with WSLg works.
        • Architecture: choose x86_64 for an Intel/AMD desktop or arm64 for a 64-bit ARM desktop. Both builds require glibc and a graphical desktop with WebKitGTK 4.1. Alpine/musl and 32-bit ARM are not supported by these packages.

        Specs, board, history

        One folder per piece of work, tasks as checkboxes, Backlog → Doing as your gate, an auditable history per spec — per project, or across the repositories of a workspace on one shared board.

        Skills & tool contracts

        Expanded skills with provenance, tool contracts with per-platform verification status, and a source browser that imports via speccify expand.

        Project actions

        Named commands from .agent/actions.json, run natively with live output, progress and charts — agent proposals approved with one click.

        Agent terminal

        A real PTY in the project directory. Claude Code and Codex are equal presets; questions the agent leaves in specs surface as notifications.

        On first launch

        The app ships its Python engine as a payload and builds an environment from it on first launch — one click in the Environment tab ("Install engine"). That needs an internet connection once; everything after that runs offline. None of it lands in your projects or in a system Python installation.

        Intel Macs are not covered yet — the macOS build targets Apple Silicon.

        Rather stay in the terminal?

        Everything the app does is also a CLI command and an MCP tool. The quickstart takes you through both.

        Quickstart