{"_id":"@atombombbbaby/specpilot","_rev":"3-7bd9f235f9e269cc12ac51ecea92c216","name":"@atombombbbaby/specpilot","dist-tags":{"latest":"0.3.0"},"versions":{"0.1.0":{"name":"@atombombbbaby/specpilot","version":"0.1.0","keywords":["spec","cli","agent","codex","workflow","planning","validation"],"license":"UNLICENSED","_id":"@atombombbbaby/specpilot@0.1.0","maintainers":[{"name":"atombombbbaby","email":"tlanezz232@gmail.com"}],"homepage":"https://github.com/atombombbbaby/SpecPilot#readme","bugs":{"url":"https://github.com/atombombbbaby/SpecPilot/issues"},"bin":{"specpilot":"dist/src/cli.js"},"dist":{"shasum":"ef20f12df1c6e3509d6e1d31d899c745802f26b2","tarball":"https://registry.npmjs.org/@atombombbbaby/specpilot/-/specpilot-0.1.0.tgz","fileCount":41,"integrity":"sha512-TDWft/Toxma+LdBK0ZjwxGTKYcePvzA4pNKBSy1TBBn5DEEgTeTiXBTN8LlvPsl8VvCyapWRU5O6esUj434AaQ==","signatures":[{"sig":"MEYCIQDhASS4g0QoHE6xswfGaKRlCShwmVaPH+96Eq25yOs//AIhANRWZxablXHs2oVi0QkKhU8hoJjbbIr5IXwV9DagqDa3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":284139},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"test":"npm.cmd run build && node dist/tests/run.js","build":"npm.cmd run clean && tsc -p tsconfig.build.json","clean":"node -e \"const fs=require('fs'); fs.rmSync('dist',{recursive:true,force:true,maxRetries:10,retryDelay:100});\"","prepack":"npm.cmd run build","pack:check":"npm.cmd pack --dry-run","check:types":"tsc -p tsconfig.json --noEmit","verify:release":"npm.cmd run check:types && npm.cmd run test && npm.cmd run pack:check"},"_npmUser":{"name":"atombombbbaby","email":"tlanezz232@gmail.com"},"repository":{"url":"git+https://github.com/atombombbbaby/SpecPilot.git","type":"git"},"workspaces":["packages/*","packages/core/*","packages/helpers/*","packages/adapters/*"],"_npmVersion":"11.6.2","description":"A skill-first, cross-host, spec-first workflow framework for coding agents.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"zod":"^3.25.76","zod-to-json-schema":"^3.24.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","typescript":"^5.9.3","@types/node":"^24.6.1"},"_npmOperationalInternal":{"tmp":"tmp/specpilot_0.1.0_1774880996514_0.09153681136940794","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@atombombbbaby/specpilot","version":"0.2.0","keywords":["spec","cli","agent","codex","workflow","planning","validation"],"license":"UNLICENSED","_id":"@atombombbbaby/specpilot@0.2.0","maintainers":[{"name":"atombombbbaby","email":"tlanezz232@gmail.com"}],"homepage":"https://github.com/atombombbbaby/SpecPilot#readme","bugs":{"url":"https://github.com/atombombbbaby/SpecPilot/issues"},"bin":{"specpilot":"dist/src/cli.js"},"dist":{"shasum":"5d3300bdf47d6506cb87e2d321657109ab6e31b5","tarball":"https://registry.npmjs.org/@atombombbbaby/specpilot/-/specpilot-0.2.0.tgz","fileCount":45,"integrity":"sha512-8C7pkkT7kkELMvoOJj9rrBg/q6CVAvfFfEd8U2ZYWb+iFZcFQ3gM5SWV5ssNR5lF+5RazGLJteX3VKsAkzMvFQ==","signatures":[{"sig":"MEUCIQDwICrlPpy35zCqepVPEimpw/RCxKbJ2UTeScL7qXsYjAIgKGQnlqScEaT0wZnhSGMcBHvSo9n4foI6Spu5lL2FkZs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":645517},"type":"module","engines":{"node":">=22.0.0"},"scripts":{"test":"npm.cmd run build && node dist/tests/run.js","build":"npm.cmd run clean && tsc -p tsconfig.build.json","clean":"node -e \"const fs=require('fs'); fs.rmSync('dist',{recursive:true,force:true,maxRetries:10,retryDelay:100});\"","prepack":"npm.cmd run build","pack:check":"npm.cmd pack --dry-run","check:types":"tsc -p tsconfig.json --noEmit","verify:release":"npm.cmd run check:types && npm.cmd run test && npm.cmd run pack:check"},"_npmUser":{"name":"atombombbbaby","email":"tlanezz232@gmail.com"},"repository":{"url":"git+https://github.com/atombombbbaby/SpecPilot.git","type":"git"},"workspaces":["packages/*","packages/core/*","packages/helpers/*","packages/adapters/*"],"_npmVersion":"11.6.2","description":"A skill-first, cross-host, spec-first workflow framework for coding agents.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"zod":"^3.25.76","zod-to-json-schema":"^3.24.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","typescript":"^5.9.3","@types/node":"^24.6.1"},"_npmOperationalInternal":{"tmp":"tmp/specpilot_0.2.0_1774897811898_0.05831854979142115","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@atombombbbaby/specpilot","version":"0.3.0","description":"A skill-first, cross-host, spec-first workflow framework for coding agents.","license":"UNLICENSED","type":"module","bin":{"specpilot":"dist/src/cli.js"},"engines":{"node":">=22.0.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/atombombbbaby/SpecPilot.git"},"homepage":"https://github.com/atombombbbaby/SpecPilot#readme","bugs":{"url":"https://github.com/atombombbbaby/SpecPilot/issues"},"keywords":["spec","cli","agent","codex","workflow","planning","validation"],"workspaces":["packages/*","packages/core/*","packages/helpers/*","packages/adapters/*"],"scripts":{"clean":"node -e \"const fs=require('fs'); fs.rmSync('dist',{recursive:true,force:true,maxRetries:10,retryDelay:100});\"","build":"npm.cmd run clean && tsc -p tsconfig.build.json","check:types":"tsc -p tsconfig.json --noEmit","test":"npm.cmd run build && node dist/tests/run.js","eval:smoke:ark":"npm.cmd run build && node scripts/eval-release.mjs --providers ark","eval:smoke:openai-compatible":"npm.cmd run build && node scripts/eval-release.mjs --providers openai-compatible","eval:release":"npm.cmd run build && node scripts/eval-release.mjs","eval:v03:matrix":"npm.cmd run build && node scripts/v03-scenario-matrix.mjs","eval:v03:matrix:ark":"npm.cmd run build && node scripts/v03-scenario-matrix.mjs --providers ark","eval:v03:matrix:openai-compatible":"npm.cmd run build && node scripts/v03-scenario-matrix.mjs --providers openai-compatible","pack:check":"powershell -Command \"$env:NPM_CONFIG_CACHE='.npm-cache'; npm.cmd pack --dry-run\"","verify:release":"npm.cmd run check:types && npm.cmd run test && npm.cmd run pack:check","verify:release:full":"npm.cmd run verify:release && npm.cmd run eval:release","prepack":"npm.cmd run build"},"dependencies":{"zod":"^3.25.76","zod-to-json-schema":"^3.24.6"},"devDependencies":{"@types/node":"^24.6.1","tsx":"^4.20.5","typescript":"^5.9.3"},"_id":"@atombombbbaby/specpilot@0.3.0","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-MVtWDpIbJCFIXjh8FKCeUMqfLbwFfU2KNPt2YaUmpb0z8Nul0zma73aJvgxpaMt/OiFQUjR90rnI8HzVU00Dwg==","shasum":"34af4ad4ca11c983ecf06b40dc19446e9bf2cc79","tarball":"https://registry.npmjs.org/@atombombbbaby/specpilot/-/specpilot-0.3.0.tgz","fileCount":48,"unpackedSize":756684,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCPCHR23VKHVkoo1gBNWjpwFUbeqLHdaYhmJf9+rymb+QIhAKKjHtuCmYEuTCbXsSi5EgnUgBoU6rZ5ATiBXSms/Gp9"}]},"_npmUser":{"name":"atombombbbaby","email":"tlanezz232@gmail.com"},"directories":{},"maintainers":[{"name":"atombombbbaby","email":"tlanezz232@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/specpilot_0.3.0_1774920940680_0.18219551972107073"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-30T14:29:56.385Z","modified":"2026-03-31T01:35:40.929Z","0.1.0":"2026-03-30T14:29:56.679Z","0.2.0":"2026-03-30T19:10:12.081Z","0.3.0":"2026-03-31T01:35:40.827Z"},"bugs":{"url":"https://github.com/atombombbbaby/SpecPilot/issues"},"license":"UNLICENSED","homepage":"https://github.com/atombombbbaby/SpecPilot#readme","keywords":["spec","cli","agent","codex","workflow","planning","validation"],"repository":{"type":"git","url":"git+https://github.com/atombombbbaby/SpecPilot.git"},"description":"A skill-first, cross-host, spec-first workflow framework for coding agents.","maintainers":[{"name":"atombombbbaby","email":"tlanezz232@gmail.com"}],"readme":"﻿# SpecPilot\r\n\r\n> Turn one vague idea into a validated spec, a bounded plan, and a safer downstream handoff.\r\n\r\nSpecPilot is a skill-first, cross-host, spec-first workflow framework for coding agents. It is invoked by a host agent, not an independent model runtime.\r\n\r\n## Quick Start\r\n\r\nGlobal install:\r\n\r\n```bash\r\nnpm install -g @atombombbbaby/specpilot@latest\r\nspecpilot init\r\nspecpilot doctor\r\n```\r\n\r\nProject-local install:\r\n\r\n```bash\r\nnpm install --save-dev @atombombbbaby/specpilot\r\nnpx specpilot init\r\nnpx specpilot doctor\r\n```\r\n\r\nThe shortest useful workflow after initialization is:\r\n\r\n```bash\r\nspecpilot intake start --json\nspecpilot validate run --json\nspecpilot validate prompt --json\nspecpilot validate finalize --summary \"Spec is ready for planning.\" --review-source manual-cli --reviewer-type human --check-scope-aligned true --check-scenarios-testable true --check-acceptance-testable true --allow-planning true --json\nspecpilot plan generate --json\nspecpilot artifact export --json\n```\r\n\r\n## What You Get\r\n\r\nSpecPilot helps a host agent turn a vague idea into:\r\n\r\n- clarified requirements\r\n- a development-ready spec\r\n- a spec-check result with a hard planning gate\r\n- a plan derived from the validated spec\r\n- a bounded handoff for downstream execution\r\n\r\nIn short:\r\n\r\n```text\r\nidea -> guided intake -> spec -> validation gate -> plan -> bounded handoff\r\n```\r\n\r\n## The Product Contract\r\n\r\nSpecPilot enforces two workflow promises:\r\n\r\n1. No planning before a validated spec-check explicitly allows planning.\r\n2. No handoff is considered current if the spec or validation input has gone stale.\r\n\r\nThat contract is persisted under `.specpilot/` so the host agent can always recover state, blockers, stale artifacts, and the recommended next command.\r\n\r\n## Codex Usage\r\n\r\n`specpilot init` creates `.specpilot/`, writes a managed block into `AGENTS.md`, and links the packaged skills for Codex.\r\n\r\nAfter initialization, Codex should use these packaged skills:\r\n\r\n- `node_modules/@atombombbbaby/specpilot/skills/spec-intake/SKILL.md`\r\n- `node_modules/@atombombbbaby/specpilot/skills/spec-validate/SKILL.md`\r\n- `node_modules/@atombombbbaby/specpilot/skills/spec-plan/SKILL.md`\r\n\r\nREADME is supplemental context only. SpecPilot is meant to be driven by the host agent through its skills and the public CLI protocol.\r\nThe intake layer is now moving toward a host-driven Socratic UX while preserving the same CLI protocol for compatibility.\r\n\r\n## Human-Friendly Commands\r\n\r\n```bash\r\nspecpilot init\r\nspecpilot update\r\nspecpilot doctor\r\nspecpilot version\r\n```\r\n\r\nUse these to install, refresh, and inspect the current project wiring.\r\n\r\n## Agent-Oriented Commands\r\n\r\n```bash\r\nspecpilot intake start --json\r\nspecpilot intake next --json\r\nspecpilot intake answer --value \"...\" --json\r\nspecpilot spec build --json\r\nspecpilot validate run --json\r\nspecpilot validate prompt --json\r\nspecpilot validate finalize --summary \"...\" --review-source manual-cli|host-assisted --reviewer-type human|agent --check-scope-aligned true|false --check-scenarios-testable true|false --check-acceptance-testable true|false --allow-planning true|false --json\nspecpilot plan generate --json\nspecpilot artifact list --json\nspecpilot artifact show spec --json\nspecpilot artifact export --json\nspecpilot host status --json\n```\r\n\r\nUse `--json` whenever a host agent needs stable machine-readable state, including blockers, stale artifacts, refinement targets, and recommended next commands.\nWhen the workflow is driven directly from the CLI without host-assisted review, SpecPilot now labels that path as degraded/manual review mode rather than treating it as equivalent to the host-driven path.\n\r\n## Eval Harness\r\n\r\nSpecPilot also includes an `eval` harness for real-world provider simulation without changing the default workflow. This is eval-only and does not turn the CLI into a general model runtime:\n\n```bash\nspecpilot eval intake --provider ark --scenario \"我想做一个极简风个人网站\" --json\nspecpilot eval intake --provider openai-compatible --scenario \"我想做一个极简风个人网站\" --json\nspecpilot eval validate --provider ark --json\nspecpilot eval scenarios --provider ark --json\nspecpilot eval scenarios --provider openai-compatible --release-subset --json\nspecpilot eval scenarios --provider ark --scenario-id intake-asset-readiness,validate-good-spec --json\nnpm run eval:release\n```\n\n`specpilot eval scenarios` runs the built-in standard scenario suite and reports provider-vs-deterministic-local differences.\n`npm run eval:release` runs the curated release subset and emits a machine-readable soft-gate report. Failed live-provider scenarios should trigger human review before publish, not automatic release rejection.\n`npm run eval:v03:matrix` runs the 8-scenario real-user matrix used to close `0.3.0`. The hard closeout signal is `coreGatePassed`; remaining provider-only warnings should be deferred, not silently ignored.\n\nEnvironment variables:\n\n- `ARK_API_KEY`\n- `ARK_BASE_URL` (OpenAI-compatible Ark Coding base URL; defaults to `https://ark.cn-beijing.volces.com/api/coding/v3`)\n- `ARK_MODEL_ID` (defaults to `ark-code-latest`)\n- optional: `ARK_TIMEOUT_MS`, `ARK_APP_ID`\n- `OPENAI_COMPAT_API_KEY`\n- `OPENAI_COMPAT_BASE_URL`\n- `OPENAI_COMPAT_MODEL_ID`\n- optional: `OPENAI_COMPAT_TIMEOUT_MS`\n\r\nLocal template files:\n\n- [`.env.eval.example`](/C:/Users/tlane/.codex/worktrees/b77a/SpecPilot/.env.eval.example): committed template\n- `.env.eval`: local gitignored file for your real credentials\n\nFull eval guide:\n\n- [docs/EVAL.md](/C:/Users/tlane/.codex/worktrees/b77a/SpecPilot/docs/EVAL.md)\n\r\n## Artifact Boundary\r\n\r\nSpecPilot centers the workflow around a structured boundary workspace:\r\n\r\n```text\r\n.specpilot/\r\n  session/\r\n    session.json\r\n    profile.md\r\n    profile.json\r\n    intake-result.json\r\n  spec/\r\n    spec.md\r\n    spec.json\r\n    spec-check.md\r\n    spec-check.json\r\n  plan/\r\n    plan.md\r\n    plan.json\r\n    handoff.md\r\n    handoff.json\r\n  meta/\r\n    host.json\r\n    adapter.json\r\n    workflow-state.json\r\n```\r\n\r\nThis is the contract between upstream specification work and downstream execution.\r\n\r\n## Docs\r\n\r\n- [Install Guide](./docs/INSTALL.md)\n- [CLI Reference](./docs/CLI.md)\n- [Eval Harness Guide](./docs/EVAL.md)\n- [v0.3 Scenario Matrix](./docs/V0.3_SCENARIO_MATRIX.md)\n- [Roadmap](./docs/ROADMAP.md)\n- [v0.2 Acceptance](./docs/V0.2_ACCEPTANCE.md)\r\n- [Project Docs Index](./docs/README.md)\r\n- [Next-Version Handoff](./docs/HANDOFF.md)\r\n\r\n## Status\r\n\r\nCurrent status: `0.3.0` closeout candidate with a working install/init path, public CLI protocol, semantic validation gate, manual CLI degraded safeguards, provider-based eval, plan generation, and bounded handoff.\n\nPlanned next phase: move remaining spec-richness work into `v0.4`, then continue the host-first workflow migration in `v0.5`.\n\r\n## License\r\n\r\nUNLICENSED\r\n\r\n\r\n\r\n\r\n","readmeFilename":"README.md"}