GITHUB-ISSUES-2026-03-22-release-v0100.md — Release instructions for Harley
GITHUB-ISSUES-2026-03-22-release-v0100.md — Release instructions for Harley
Section titled “GITHUB-ISSUES-2026-03-22-release-v0100.md — Release instructions for Harley”Context
Section titled “Context”Joker session: build — v0.10.0 release — 2026-03-22 This file covers the full release flow per RELEASE-CHECKLIST.md. All milestone issues are closed. This is the final step.
Rules for Harley
Section titled “Rules for Harley”- Run operations one at a time in the order listed
- This includes the engine-root swap (decision-0004) — follow CLAUDE.md
- Operator merges every PR — Harley creates but never merges
- Report any failures immediately
- Stop and wait for operator merge at each PR step
Phase 0 — Pre-release verification
Section titled “Phase 0 — Pre-release verification”Operation 1 — Verify all milestone issues are closed
Section titled “Operation 1 — Verify all milestone issues are closed”gh issue list --milestone "v0.10.0" --state openShould return 0 results. If any are open, stop and report.
Operation 2 — Verify clean build
Section titled “Operation 2 — Verify clean build”npm run buildMust be clean, no warnings.
Operation 3 — Verify current version
Section titled “Operation 3 — Verify current version”sc --versionShould report 0.9.1 (pre-bump).
Operation 4 — Verify sc create dry-run
Section titled “Operation 4 — Verify sc create dry-run”sc create "release-test" --dry-runShould show correct output with no hardcoded paths.
Phase 1 — Release branch and version bump
Section titled “Phase 1 — Release branch and version bump”Operation 5 — Create release branch
Section titled “Operation 5 — Create release branch”git checkout dev && git pull origin devgit checkout -b release/v0.10.0Operation 6 — Bump version in package.json
Section titled “Operation 6 — Bump version in package.json”Change "version": "0.9.1" to "version": "0.10.0" in package.json.
Operation 7 — Write CHANGELOG entry
Section titled “Operation 7 — Write CHANGELOG entry”Add this entry at the top of CHANGELOG.md (below the header, above the 0.9.1 entry):
## [0.10.0] — 2026-03-22### Added- feat: engine-root file swap for PRs (decision-0004) — repo ships generic files, operator keeps custom versions- feat: session-end pre-exit hook for automatic session state commit- feat: placeholder logo in assets/- docs: full README rewrite — spirit-first copy, planning philosophy, session continuity, fork-friendly note
### Changed- refactor: CLI reduced from 15 commands to 4 (create, start, config, update) per decision-0002- refactor: sc start rewritten to launch Claude Code on a project (replaces sc build)- refactor: repo root moved to projects/scaffolder/ as dev environment (decision-0003)- refactor: templates restructured — code-skills/ + chat-skills/ replace claude-skills/- refactor: scale tiers renamed — Basic / Project Management / Plane Integrated (decision-0001)- refactor: RFC → plan, ADR → decision throughout all templates and docs- docs: CLAUDE.md, STANDARDS.md, PROJECT-INSTRUCTIONS.md updated for new session architecture- docs: CONTRIBUTING.md updated with staging branch and PR flow- docs: RELEASE-CHECKLIST.md template added- docs: all templates updated for terminology, tier names, PR rules
### Fixed- fix: removed all hardcoded D: drive fallbacks — config.defaultDrive required (#251)- fix: backup crash when copying files in subdirectories (ai-sessions/)- fix: default scale tier renamed from "hobby" to "basic" in config
### Removed- 11 CLI commands removed: build, done, status, open, queue, ruleset, help, pause, resume, history, log- All slash command wrappers from .claude/commands/- Old claude-skills/ and claude-commands/ template directories- Stale plan duplicates and migration leftoversOperation 8 — Build after bump
Section titled “Operation 8 — Build after bump”npm run buildOperation 9 — Verify bumped version
Section titled “Operation 9 — Verify bumped version”sc --versionShould report 0.10.0.
Operation 10 — Commit version bump
Section titled “Operation 10 — Commit version bump”git add package.json CHANGELOG.mdgit commit -m "chore: bump version to v0.10.0"Phase 2 — Engine-root swap and push
Section titled “Phase 2 — Engine-root swap and push”Operation 11 — Run engine-root swap (decision-0004)
Section titled “Operation 11 — Run engine-root swap (decision-0004)”Follow the swap instructions in CLAUDE.md exactly:
mkdir -p .engine-root-backupcp CLAUDE.md .engine-root-backup/cp STANDARDS.md .engine-root-backup/cp PROJECT-INSTRUCTIONS.md .engine-root-backup/cp RELEASE-CHECKLIST.md .engine-root-backup/
cp templates/engine-root/CLAUDE.md ./cp templates/engine-root/STANDARDS.md ./cp templates/engine-root/PROJECT-INSTRUCTIONS.md ./cp templates/engine-root/RELEASE-CHECKLIST.md ./
git add CLAUDE.md STANDARDS.md PROJECT-INSTRUCTIONS.md RELEASE-CHECKLIST.mdgit commit -m "chore: engine-root swap — generic product files for release"Operation 12 — Push release branch
Section titled “Operation 12 — Push release branch”git push origin release/v0.10.0Operation 13 — Restore custom files
Section titled “Operation 13 — Restore custom files”cp .engine-root-backup/* ./rm -rf .engine-root-backup/Phase 3 — PRs to staging and main
Section titled “Phase 3 — PRs to staging and main”Operation 14 — PR: release → staging
Section titled “Operation 14 — PR: release → staging”gh pr create --base staging --title "release: v0.10.0" --body "## v0.10.0 release
Full changelog in CHANGELOG.md.
Key changes:- CLI reduced to 4 commands (create, start, config, update)- Repo restructured (decision-0003)- Templates and docs fully updated- README rewrite- Engine-root file swap (decision-0004)- Session-end hook- All 72 milestone issues resolved"STOP. Wait for operator to merge this PR.
Operation 15 — PR: staging → main
Section titled “Operation 15 — PR: staging → main”After operator confirms staging merge:
git checkout staging && git pull origin staginggh pr create --base main --head staging --title "release: v0.10.0 → main" --body "Production release of v0.10.0. See staging PR for details."STOP. Wait for operator to merge this PR.
Operation 16 — Tag on main
Section titled “Operation 16 — Tag on main”After operator confirms main merge:
git checkout main && git pull origin maingit tag v0.10.0git push origin v0.10.0Operation 17 — PR: main → dev (sync back)
Section titled “Operation 17 — PR: main → dev (sync back)”gh pr create --base dev --head main --title "chore: sync main back to dev after v0.10.0 tag" --body "Required by branch ruleset. Syncs the tagged release back to dev."STOP. Wait for operator to merge this PR.
Phase 4 — Post-release
Section titled “Phase 4 — Post-release”Operation 18 — Verify tag exists
Section titled “Operation 18 — Verify tag exists”git tag --list "v0.10.0"Operation 19 — Smoke test
Section titled “Operation 19 — Smoke test”sc --versionsc create "smoke-test" --dry-runBoth should work correctly with v0.10.0.
Operation 20 — Report complete
Section titled “Operation 20 — Report complete”Report: “v0.10.0 released. Tag pushed. All PRs merged. Milestone ready to close.”
After this file
Section titled “After this file”Operator closes v0.10.0 milestone on GitHub. Operator syncs Plane milestone.