Zero-host usable
A project works with no host integration at all. The shared CLI and Git guard deliver the full workflow on their own.
Spec · Build · Verify · Ship
SpecGit gives coding agents one shared delivery workflow for GitHub and GitLab. Issues hold the specification, a native PR or MR gathers the work, and SpecGit reads the forge's live state so an agent can repair failures and tell pending work from completed delivery.
The delivery pipeline
Every commit binds to a selected Issue through a local checkpoint. SpecGit aggregates the native PR/MR and observes the platform, so delivery is verified against live state — never assumed.
The Issue holds Why / Scope / Approach / Acceptance. specgit issue --inspect deduplicates the WHY before anything is created.
A checkpoint records the selected Issue on the branch. The native Git guard checks it and the Issue: #N trailer on every commit and push.
The agent implements and specgit pr gathers the selected Issues into one native request, preserving closing references and the PR template.
specgit watch and pr --status read the current head's checks and reviews. Failures are repaired in scope, never by weakening protection.
When required checks pass and the head is clean, the request merges on the platform. SpecGit reads back the merge — exit code 0 alone is never completion.
Delivery is confirmed only when the target branch merged and every associated Issue is closed with native evidence — not by a local guess.
A separate, signed GitHub Release publishes three-platform ZIPs with a Cosign-signed SHA256SUMS. Merging is not releasing.
Product principles
Capability lives in the CLI and the native Git guard first. Hosts only add prompts and context — they never carry business rules.
A project works with no host integration at all. The shared CLI and Git guard deliver the full workflow on their own.
Pre-commit and pre-push checks bind every commit to a selected Issue. No --no-verify, no weakened protection.
SpecGit reads the forge's current state to distinguish pending work from completed delivery, and to repair failures in scope.
Host guidance, hooks and read-only allowlists are explicit, owned, refreshable and removable — never global state.
Install
Open your coding agent in the repository and ask it to follow the agent installation guide. It downloads the latest signed GitHub Release, verifies the signature and SHA-256, installs the shared CLI and initializes the project. No Node.js, npm or Rust compiler needed.
specgit init --provider github --remote origin --check --json
specgit init --provider github --remote origin --dry-run --json
specgit init --provider github --remote origin --json
specgit setup --catalog --json
Already installed? Use the project maintenance guide. The specgit CLI is distributed only through GitHub Releases.
Host quick start
Naming a host with --agent adds its guidance and Skill only; hooks and managed read-only permissions are separate explicit choices. Preview with --dry-run, then repeat without it to apply.
Guidance in AGENTS.md and the canonical .agents/skills/specgit-native/SKILL.md. No host callbacks; the Git guard still applies.
specgit setup --agent generic --dry-run --json
specgit setup --agent generic --jsonFallback: read guidance and Skill directly. Supported Hosts.
Root CLAUDE.md, the canonical .agents Skill plus a .claude/skills copy. Context hooks and the managed read-only allowlist are optional.
specgit setup --agent claude --dry-run --json
specgit setup --agent claude --json
specgit setup --agent claude --readonly-permissions --jsonThe allowlist reduces prompts; it is not a sandbox. Supported Hosts.
Canonical .agents Skill and guidance in AGENTS.md or an existing nonempty AGENTS.override.md. Context hooks go to .codex/hooks.json.
specgit setup --agent codex --hook-purpose context --dry-run --json
specgit setup --agent codex --hook-purpose context --jsonTrust the .codex/ layer in the host's /hooks review. Supported Hosts.
The official build gets the AGENTS.md entry and .agents Skill; context hooks are declined. A custom fork can opt into Claude-compatible hooks.
specgit setup --agent opencode --dry-run --json
specgit setup --agent opencode --jsonFallback: re-read guidance and use bounded watch/inbox. Supported Hosts.
Support matrix
The maintained summary lives in Supported coding agents and Supported Hosts; the linked documents are authoritative.
| Host | Guidance entry | Skill discovery | Context hooks | Read-only allowlist | Fallback |
|---|---|---|---|---|---|
generic | AGENTS.md | .agents/skills/specgit-native/SKILL.md when the host reads .agents | none; declined | declined: no host permission configuration | Read guidance and the Skill directly |
| Claude Code | CLAUDE.md | Canonical .agents Skill plus .claude/skills/specgit-native/SKILL.md | .claude/settings.json SessionStart/PreToolUse | .claude/settings.json permissions.allow with --readonly-permissions | Re-read guidance and Skill |
| Codex | AGENTS.md, or an existing nonempty AGENTS.override.md | Canonical .agents Skill; scans working directory to repo root and ~/.agents/skills | .codex/hooks.json; requires host /hooks trust review | declined: experimental approval and sandbox | Re-read guidance and Skill |
| OpenCode (official) | AGENTS.md | .agents Skill; host also reads project .opencode/ and .claude/ skills | none; declined | declined: default-allow, no portable allowlist | Re-read guidance and Skill; bounded watch/inbox |
| OpenCode custom fork | AGENTS.md | Same as official OpenCode | .opencode/hooks.json with inputFormat: claude-code; requires --agent opencode --opencode-claude-hooks plus an explicit hook purpose | declined | Same as official OpenCode |
guard is the native Git pre-commit/pre-push check, not a host callback. It applies to every host, including generic, through setup --hook-purpose guard or specgit guard --install. Context hooks only prompt and provide context; they never carry business rules.
Download
The native specgit CLI is distributed only through GitHub Releases. The latest stable release provides:
specgit-<version>-darwin-arm64.zip
specgit-<version>-linux-x64-gnu.zip
specgit-<version>-win32-x64.zip
Verify before installing
Each release ships SHA256SUMS and SHA256SUMS.sigstore.json. The Cosign signature covers SHA256SUMS and therefore the ZIP bytes; cross-check the tag commit and the native build workflow run separately. See the release asset verification reference.
Install as a plugin
The plugin bundles the specgit-native Skill and onboarding only; the native CLI still comes from GitHub Releases. See the plugin installation guide.
# Claude Code
claude plugin marketplace add LeXwDeX/SpecGit
claude plugin install specgit@specgit-marketplace
# Codex: add the marketplace, then browse and install in /plugins
codex plugin marketplace add LeXwDeX/SpecGit
# Pi, OpenCode and other skill-only hosts
specgit init
specgit skill --user
Documentation