Skip to main content

Interview-driven bootstrap for a reusable agentic coding setup: proof-loop engine + project rules + skills, installed into any repo.

Project description

specced

Install a reusable, interview-driven agentic coding setup into any repo — one command instead of copy-pasting .claude/, .codex/, CONSTITUTION.md, and the proof-loop scaffolding between projects.

specced is two things sharing one set of templates:

  • a uv-installable CLI that does the deterministic, agent-agnostic scaffolding, and
  • a Claude Code plugin whose specced-bootstrap skill interviews you — detects your stack, asks a few sharp questions, and writes the project-specific content.

Just want to get going? See QUICKSTART.md for the 2-minute path.

What you get

specced installs three layers into a repo:

  1. The engine — the repo-task-proof-loop skill (spec-freeze → build → evidence → fresh-verify → fix, with durable .agent/tasks/<ID>/ artifacts). Vendored from OpenAI, Apache-2.0 — see NOTICE.
  2. The structure — four project agents (.claude/agents/ + .codex/agents/), managed blocks in CLAUDE.md/AGENTS.md, a Stop-hook formatter, skeletons for .claude/rules/, .claude/code-review/, .mcp.json, and a Makefile verification vocabulary — plus an agent-experience layer: a pre-authorized permission allowlist, an orientation block, and a machine-readable checks map (.specced/).
  3. The content (interview) — your real CONSTITUTION.md, per-track rules, review dimensions, MCP servers, and make targets — authored to fit this repo.

Install

uv tool install specced          # or: uvx --from git+https://github.com/NoroSaroyan/specced specced

In Claude Code, add the marketplace and install the plugin:

/plugin marketplace add NoroSaroyan/specced
/plugin install specced

Quickstart

From inside the target repo, in Claude Code:

/specced:init

This runs the interview: it detects your stack, asks what matters, runs specced init for the mechanics, then writes your constitution, rules, review dimensions, MCP servers, and Makefile targets. Add --minimal to author all content by hand.

Then start your first task with the installed engine:

init my-first-task     # via the repo-task-proof-loop skill

Documentation

Full docs in docs/: Getting started · Concepts · The proof loop · CLI reference · Skills · Presets · FAQ

CLI reference

specced detect                    Inspect the repo: languages, tracks, infra,
                                  suggested preset + MCP servers (JSON).
specced presets                   List stack presets.
specced init [--preset NAME|auto] [--minimal] [--force] [--format-cmd "…"]
                                  Install / refresh the setup (idempotent).
specced add-mcp <names…> [--force]  Add MCP servers to .mcp.json from the catalog.
specced add-skill <name> [--force]  Install a library skill into .claude/skills/.
specced list-skills               List available library skills.
specced sync                      Refresh engine + agents + managed blocks.
specced doctor                    Verify the setup is consistent.
specced status                    Show installed components, presets, mcp catalog, config.
specced version                   Print specced + engine versions.

13 presets (go, rust, python-fastapi, python-django, python, node-next, node-svelte, node-react, node-express, node, java-spring, ruby-rails, tauri — see docs/presets.md) and a 17-skill library (code-review, api-endpoint, db-migration, add-integration, background-worker, regen-client, write-tests, debug-issue, refactor, dependency-upgrade, perf-investigation, security-review, release, prepare-pr, new-domain-skill, decision-record, capture-rule — see docs/skills.md).

Every command prints JSON, so the interview agent can read exactly what happened. State is recorded in .specced/config.json.

How it works

The CLI is the mechanical half: it copies the vendored engine, installs the static agent + managed-block templates verbatim (the same files the engine itself would write), and lays down create-if-absent skeletons for the content layer. The plugin is the intelligent half: the specced-bootstrap skill detects, interviews, calls the CLI, then replaces the skeletons with real content. One template tree, two surfaces.

Develop

make install   # uv venv + editable install with dev extras
make verify    # ruff format --check + ruff check + pytest + build (the CI gate)

See CONTRIBUTING.md and docs/architecture.md.

Status

v0.1 — interview-first, with stack detection, 13 presets, a 7-server MCP catalog, a 17-skill library, an agent-experience layer, and GitHub repo-as-code (Terraform under infra/terraform/github/). Roadmap: a specced update that diffs managed content across versions, more presets/skills, and PyPI publication.

License

specced is MIT (see LICENSE). It bundles the Apache-2.0 repo-task-proof-loop engine unmodified; attribution in NOTICE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

specced-0.1.3.tar.gz (99.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

specced-0.1.3-py3-none-any.whl (147.8 kB view details)

Uploaded Python 3

File details

Details for the file specced-0.1.3.tar.gz.

File metadata

  • Download URL: specced-0.1.3.tar.gz
  • Upload date:
  • Size: 99.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for specced-0.1.3.tar.gz
Algorithm Hash digest
SHA256 1dcf666f6bbf8fd978ce1ab1ff1db6b7ef0b3b9c336abb9d1dcfe53188fc67e7
MD5 3f3febca36fd0648f78093c650637784
BLAKE2b-256 701c898b8d79a034288d215dd9fae4e81547d2e31369f965afa4d327083e6b0d

See more details on using hashes here.

Provenance

The following attestation bundles were made for specced-0.1.3.tar.gz:

Publisher: release.yml on NoroSaroyan/specced

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file specced-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: specced-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 147.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for specced-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 98fd790a1aa71f8008a52b50bff3f725c4b72277922ab22c16e03100491a8b08
MD5 aba48c908f792c48b2e4d650c0d5ac87
BLAKE2b-256 76e57df04627aea7ddabe5479341a2832a7f430ac8e3b86cdead153b118adf99

See more details on using hashes here.

Provenance

The following attestation bundles were made for specced-0.1.3-py3-none-any.whl:

Publisher: release.yml on NoroSaroyan/specced

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page