Skip to content

refactor!: remove build-for-test and release composite commands - #203

Open
metalwarrior665 wants to merge 2 commits into
claude/raw-build-commandfrom
claude/remove-composite-commands
Open

metalwarrior665 wants to merge 2 commits into
claude/raw-build-commandfrom
claude/remove-composite-commands

Conversation

@metalwarrior665

@metalwarrior665 metalwarrior665 commented Oct 15, 2026 •

Copy link
Copy Markdown
Member

If we use atomic commands in workflows, there is probably not much reason to offer the composites as long as we can document the chains well.

Stacked on #193. This is an experiment to see how much the code shrinks without the composite commands. The workflows already use the atomic commands, so they don't change.

Removed

  • build-for-test, replaced by get-affected-actors --base … | jq '{ actors: .functionallyChangedActors }' | build --version-number 0.99
  • release, replaced by get-affected-actors --since <sha>, then build --version-number default on both lists, then notify-release

Simplified as a result

  • getAffectedActors returns the versioned JSON document directly. toAffectedActorsDocument is gone, because no internal caller needs the full Actor configs anymore.
  • announceRelease is merged into notifyToSlack:
    • it takes repoUrl and gets the author from the newest commit;
    • repository and author are no longer parameters.
  • TEST_VERSION_NUMBER is gone, so the CLI knows nothing about the 0.99 convention.
  • main.ts no longer needs buildForTestOptions or the composite handlers.

Size

bin/: 36 insertions, 153 deletions. Including tests and README: 110 insertions, 280 deletions.

Docs

The README now describes the local PR flow, the "Full example" and the release as pipelines. The --base-commit section became "The last released commit (--since)", with the same merge-strategy table and the same failure cases.

Checks

tsc, eslint, prettier and vitest (398 passed) all pass locally. Knip reports only the existing false positives caused by bin/main.ts not being a knip entry, one fewer than before.

🤖 Generated with Claude Code

https://claude.ai/code/session_012dp3mSDDgp5u2QVBT54EpX


Generated by Claude Code

The workflows already use the atomic commands, so the composites were only
shortcuts. Without them:

- get-affected-actors returns its JSON document directly, there is no
  internal shape to convert from anymore
- notifyToSlack takes the repo URL and derives the author itself, the
  release-only wrapper is gone
- TEST_VERSION_NUMBER is gone, the CLI knows nothing about 0.99

The README documents the PR and release flows as pipelines.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012dp3mSDDgp5u2QVBT54EpX
…commands

Brings in master's bundled CLI (#200). The bundle and e2e tests of
`build-for-test` and `release` move to the commands that replace them:
`get-affected-actors --since`, `build --version-number default` and
`notify-release`. The bundle is rebuilt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012dp3mSDDgp5u2QVBT54EpX
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants