Skip to content

feat(cli)!: Charter 1.0 — remove commercial surface from @stackbilt/cli (#127)#183

Merged
stackbilt-admin merged 6 commits into
mainfrom
feat/squad2-lean-bootstrap
May 23, 2026
Merged

feat(cli)!: Charter 1.0 — remove commercial surface from @stackbilt/cli (#127)#183
stackbilt-admin merged 6 commits into
mainfrom
feat/squad2-lean-bootstrap

Conversation

@stackbilt-admin
Copy link
Copy Markdown
Member

Summary

  • Completes RFC RFC: Extract commercial surface from @stackbilt/cli into @stackbilt/build #112 Phase 4: removes run, architect, scaffold, login from @stackbilt/cli after four minor release cycles of deprecation warnings (0.13–0.17)
  • Drops the stackbilt bin alias — @stackbilt/cli now ships only charter
  • Bumps @stackbilt/cli to 1.0.0
  • @stackbilt/build@0.1.0 (with OIDC trusted publisher) is the live destination for all four commands

Also on this branch (from earlier squads):

Acceptance criteria (all met)

  • grep -r 'fetch(' packages/cli/src/ — only context-refresh.ts (GitHub API, not Stackbilt)
  • grep -r 'Authorization' packages/cli/src/ — only context-refresh.ts (GitHub Bearer)
  • No stackbilt.dev URL literals in @stackbilt/cli source
  • bin field contains only { "charter": "./dist/bin.js" }
  • credentials.ts, http-client.ts, scaffold-contract-types.ts deleted
  • CHANGELOG [1.0.0] entry documents split and upgrade path
  • Major version bump — @stackbilt/cli@1.0.0
  • 548/548 tests pass

Test plan

  • pnpm test passes (548 tests)
  • charter --help shows no login/architect/scaffold/run entries
  • which stackbilt returns nothing after npm install -g @stackbilt/cli@1.0.0
  • npm install -g @stackbilt/buildstackbilt run works as expected

References

🤖 Generated with Claude Code

Kurt Overmier and others added 6 commits May 23, 2026 07:10
…rding (#139)

Skips migrate, install, and populate phases. Install failure can no longer
produce a `partial` status — lean mode emits a deterministic install command
as the first required next step instead. Fully compatible with --yes, --ci,
--force, and --security-sensitive.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
)

Extracts backtick template strings from .ts/.tsx/.js/.mjs files and scans
their bodies against drift patterns, attributing violations to virtual
filenames (e.g. src/foo.ts[template:0]). Catches security anti-patterns
inside code-factory functions that emit string templates. No signature
changes to scanForDrift.

Co-authored-by: Kurt Overmier <kurt@stackbilt.dev>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
…hots (#138) (#182)

New --sources repo-intel pulls open/closed issues, PRs, and release cadence
via gh CLI and writes .charter/repo-intel/snapshot.json. Computes a summary
(openIssueCount, stalledIssues, recurringLabels, mergeVelocity, releaseCadence)
contributed to context.adf openWork/recentActivity sections. Fails gracefully
when gh is unavailable or repo has no GitHub remote — emits a warning, not
an error.

Co-authored-by: Kurt Overmier <kurt@stackbilt.dev>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Hooks cannot be installed outside a git repo. The non-lean path already
gated these steps on inGitRepo; lean mode was missing the same guard.
Tests updated to mock isGitRepo via git-helpers module mock (runGit uses
execFileSync, not execSync, so the existing execSync override couldn't
cover it).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…1.0 (#127)

Phase 4 of RFC #112. Deletes run/architect/scaffold/login commands,
credentials.ts, http-client.ts, scaffold-contract-types.ts, and all
related tests. Drops the `stackbilt` bin alias. Bumps @stackbilt/cli
to 1.0.0. @stackbilt/build@0.1.0 is the new home for these commands.

BREAKING CHANGE: run, architect, scaffold, login commands and stackbilt
bin removed. Install @stackbilt/build for the long-term home.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
….json

- HELP text for `context-refresh --sources` was missing the third valid
  value `repo-intel` (added in the repo-intel source commit on this branch)
- Add `package-lock.json` to .gitignore — repo uses pnpm; the npm lockfile
  has no business being tracked here

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@stackbilt-admin stackbilt-admin merged commit a1ec19a into main May 23, 2026
5 checks passed
@stackbilt-admin stackbilt-admin deleted the feat/squad2-lean-bootstrap branch May 23, 2026 14:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant