✨ Add branch front-door command
The branching model assumed a clean, current `main` and a green baseline before any edit, but both were prose, and prose nobody checks silently becomes a suggestion. `npm run branch -- <prefix>/<desc>` asserts the precondition and only then creates the branch, so a later failure is attributable to the change that caused it. Checks run cheap-first (`--porcelain` deliberately catches untracked files, which would otherwise ride onto the new branch) and the suite runs last, so an ineligible tree never pays for it. `main`'s remote is derived from its upstream rather than hardcoded: this repo has both `origin` and `origin_https`, and `main` tracks the latter, so a `git fetch origin main` currency check would compare against a ref that is never updated here. The baseline runs after switching to `main`, so a red `main` restores the starting branch instead of stranding the caller on it. The prefix stays a judgment call: the script validates it against the documented vocabulary instead of inferring it. Prose kept as index only — AGENTS.md points agents at the command from the task workflow, CONTRIBUTING.md owns the model and the bare-script tier (dropping its stale hardcoded count of "two" conveniences).
This commit is contained in:
1 parent
93cb37441d
commit
8efd13b2f4
4 files changed
+140
-2
No files matched your search
@@ -49,6 +49,7 @@
|
||||
"fix": "npm run fix:oxlint && npm run fix:oxfmt",
|
||||
"fix:oxfmt": "oxfmt ${LEFTHOOK_FILES:-.}",
|
||||
"fix:oxlint": "oxlint --fix src",
|
||||
"branch": "./scripts/branch.sh",
|
||||
"release": "./scripts/release.sh",
|
||||
"maintain": "npm run maintain:knip; npm run maintain:outdated",
|
||||
"maintain:knip": "knip --include dependencies,exports,files",
|
||||
|
||||
Reference in new issue
Block a user