Skip to content

Releases: protonspy/spec-claude-code

v0.12.0

Choose a tag to compare

@github-actions github-actions released this 05 Aug 05:05
fix(artifact): drop joinLines, which joinLinesExcept replaced

The flag-aware version took over every call site, so the wrapper was dead the
moment it was written. Caught by golangci-lint's `unused`, which does not run
on the machine this was written on.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DmGyL6QvamMBKdHYyrx7Uq

v0.11.0

Choose a tag to compare

@github-actions github-actions released this 04 Aug 17:30
docs: record the artifact layer, and why it is not a search engine

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019YLNd5uRpQDQ8ffvEvLJ3q

v0.10.0

Choose a tag to compare

@github-actions github-actions released this 04 Aug 06:07
refactor(assets): put the rules on a line budget

Every rule is preloaded into every request of the session on a harness that
reads `rules/`, so a line here is not paid once — it is paid continuously. The
set was 651 lines / 28.6 KB and is now 554 / 25.6 KB, with no rule and no reason
removed: what went was repetition, ceremony, and prose that restated the table
above it.

Seven of ten files now sit at or under 55 lines. Three do not, and the test
grandfathers them at their current size rather than pretending otherwise:
specs.md and knowledge-base.md are roughly half table and fenced example — 45
and 46 lines of structure — so cutting them to 55 would leave under ten lines of
prose across six sections. That is enough to state a rule and not enough to say
why, and a rule whose reason was deleted is one an agent quietly deviates from.
delivery.md is at 62 with dense prose and no structure to blame.

The test enforces the budget in both directions: a new rule over 55 fails, and a
grandfathered file that shrinks below its cap fails too, so the gain gets locked
in instead of drifting back.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J54qbk8RpC2tZH8LBz6T2b

v0.9.1

Choose a tag to compare

@github-actions github-actions released this 04 Aug 04:28
fix(npm): let an unproven package name fail without failing the release

v0.9.0 died on `403 — Package name too similar to existing package cp-cli`.
npm applies a typosquatting similarity check that runs only on a real publish:
`npm view scc-cli` returned 404 and `npm publish --dry-run` passed, and neither
says anything about it. Because the rejected name published first, `set -e`
took `@protonspy/scc` down with it — six platform packages reached the registry
at 0.9.0 with no launcher that resolves them, and no tag was cut.

LAUNCHERS entries now carry `required`, and the tiers are directories so both
publish order and failure policy are visible in the layout: dist/scc-*/, then
dist/launchers/, then dist/launchers-optional/. A required name is already ours
and a failure there is real; an unproven one is attempted last and warns.

The corollary is the load-bearing half: only a required name may appear in
documentation, the embedded entry.md included. Pointing an install line at a
package that might be refused is the same bug somewhere more expensive, so the
docs go back to @protonspy/scc and `spec-claude-code-cli` ships untested and
undocumented. Promote it in the release after the one that proves it publishes.

Template version stays 9 rather than bumping: no v0.9.0 binary is reachable —
the tag and GitHub Release steps were skipped, and no launcher on the registry
resolves the orphaned platform packages — so the v9 that named scc-cli never
shipped to anyone and is corrected in place.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J54qbk8RpC2tZH8LBz6T2b

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 03 Aug 20:21
812b7d1
feat(rtk): scc rtk, plus a leaner entry file (#12)

* feat(rtk): install RTK and splice its usage block into the entry file

`scc rtk` wires in RTK — the CLI proxy that filters command output down to
what is worth spending context on. It finds the binary or builds it with
cargo, then puts RTK's marker-delimited block into CLAUDE.md/AGENTS.md.
`scc init --rtk` does both in one step.

Insert-only: a block already between the markers is left exactly as it is,
whatever version it claims, because RTK writes that text and `rtk init` is
what refreshes it. --force is the separate decision. --check reports without
writing and exits 2 when the block is missing; --no-install never touches
cargo. The splice preserves the document's own line endings and refuses a
half-block rather than leaving two openings and one close.

Opt-in in both places: the block tells the agent to prefix every command
with a binary the machine may not have.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013tUUXfGWX3huWmMZwSkmrc

* refactor(assets): tell the entry file when to read each rule, not that nine exist

The table listed all nine rules as equals, which is false: five fire on their
own trigger (autonomy at kickoff, routing when work arrives, methodology at
the start of a task, verification when the code looks done, delivery at the
last task) and four are looked up by name when you are already in that
territory. Splitting them says what a table cannot.

Costs the per-rule Markdown link, so TestEntryFileLinksResolve is replaced by
TestEntryFileNamesEveryRule — it holds the guarantee that actually breaks: a
rule shipped without being announced, or an entry file that never says where
the rules live.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013tUUXfGWX3huWmMZwSkmrc

* docs(assets): tighten the prose in both review agents

Same gates, same report shape, fewer words in the way of them.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013tUUXfGWX3huWmMZwSkmrc

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 03 Aug 03:56
50bfc94
feat(assets): ship a plan-run skill that drives a whole plan group by…

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 03 Aug 00:02
b9cd3fc
Merge pull request #10 from protonspy/feat/stack-more-ecosystems

feat(validate): read Python, Rust, PHP and Java dependency files

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 02 Aug 23:42
1cf7f06
Merge pull request #7 from protonspy/feat/seed-docs-anchors

feat(assets): seed the four fixed docs/ documents at init

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 02 Aug 00:04
cd0e50f
Merge pull request #6 from protonspy/feat/multi-harness-and-update

feat: scaffold into Codex and opencode, sharpen the review agents, and add scc update

v0.0.2

Choose a tag to compare

@github-actions github-actions released this 01 Aug 04:31
1bb7602
Merge pull request #5 from protonspy/docs/scaffolded-claude-md-npx

docs(assets): tell the scaffolded CLAUDE.md how to run scc without installing it