Skip to content

speccoder 0.1.0

Choose a tag to compare

@github-actions github-actions released this 25 Oct 23:05
· 289 commits to main since this release

The first release. speccoder implements GitHub Spec Kit features and
OpenSpec changes task by task, and ticks a task only on evidence the model
cannot produce or edit.

Added

Judged by evidence

  • Per task: baseline checks, spec-derived acceptance tests that must fail
    first (red) and pass after (green), the project's checks again, and a
    diff audit for weakened tests, skips and config edits. Verdicts:
    verified, regression_only or failed; a task the model cannot do
    honestly stops as blocked.
  • Acceptance strength: plausible wrong versions of the change must fail
    the tests; a test that rejects what the spec allows goes to a person.
    Optional held-out tests, mutation testing and a gaming monitor.
  • Every tick is a commit with its evidence in trailers and an in-toto
    attestation in git notes (speccoder attest verify).
  • When the spec changes, ticks proven against the earlier wording say so,
    word by word; run --converge re-checks the code against the spec as it
    is and adds tasks for what no longer holds.

Safe by construction

  • Work on speccoder/<feature> in its own worktree, or in place.
  • An OS sandbox for every command: Seatbelt on macOS, Landlock and seccomp
    on Linux — writes only to the worktree, no credentials, no network
    beyond loopback, no Unix sockets outside the workspace.
  • A policy classifies every tool call before it runs: allowed, sent to a
    person, or denied. Approvals for once, the task or the run, inline, in
    an editor (ACP), in the app or later — each recorded with who decided.
  • Every model and tool call journaled by agentplane: a killed run resumes
    without repeating finished calls; any recorded run replays offline.

The person's work

  • Needs You (speccoder inbox): every decision waiting in every feature,
    the most urgent first, each settled in place.
  • Spec review (speccoder review): approve each requirement's wording or
    request changes; answer open questions in place; reword a requirement;
    see what changed and the spec's history. [review] required makes a
    run wait for it.
  • Quick changes (speccoder do "…"): a story, an approved requirement and
    a task in a standing feature, committed and run like any task.
  • The model's account: what the model says beside its calls, live and
    afterwards (task show --account), always shown as a claim.

Interfaces

  • A terminal dashboard for run and bare speccoder; --plain, screen
    reader mode, ASCII and colour themes.
  • The app (speccoder ui, --window for a native window):
    Needs You, Overview, Board, Code, Spec & Plan, Report and
    Settings; a menu bar, a status bar, context menus, a command palette and
    a setup assistant. Local only, on 127.0.0.1 with a per-start token.
  • Editors over ACP; MCP servers as tools, pinned by digest.
  • --json and --events on every command with published JSON Schemas;
    every failure carries a stable code and the command that fixes it.

Spec formats and planning

  • Spec Kit 0.13 to 1.2: its planning skills hosted with speccoder's model
    (speccoder spec specify|plan|tasks|…), extension hooks, and a step
    type for Spec Kit workflows (speccoder workflow install).
  • OpenSpec 1.0 and newer: changes, spec deltas, openspec archive
    preflight, speccoder spec propose|archive.

Models and agents

  • Anthropic, OpenAI and any OpenAI-compatible server (Ollama, vLLM, …);
    keys from the environment only. Claude Code, Codex or any command as
    the agent making the attempts, judged the same way.
  • Parallel [P] tasks in lanes, best-of-n attempts, retries with the
    verifier's facts, token and cost reporting.

GitHub, without gh

  • speccoder auth login through speccoder's GitHub App (a short code in
    the browser; keychain storage); issue start 42 specifies a feature
    from an issue and can comment on it; pr opens a draft whose
    description is the evidence.

Distribution

  • Release archives for macOS (Apple silicon) and Linux (x86_64, aarch64)
    with SHA-256 checksums and build-provenance attestations; a shell installer
    (--verify-attestation); a Homebrew tap; the crates on crates.io.
  • Documentation at https://hupe1980.github.io/speccoder/.