Skip to content

feat: posix rewrite, git workflow scripts and install script#25

Merged
JorSanders merged 5 commits into
masterfrom
feat/posix-rewrite
Jul 25, 2026
Merged

feat: posix rewrite, git workflow scripts and install script#25
JorSanders merged 5 commits into
masterfrom
feat/posix-rewrite

Conversation

@JorSanders

Copy link
Copy Markdown
Owner

Summary

  • Rewrite every script as POSIX sh (--help everywhere, shellcheck clean)
  • gc: rewritten checkout — exact/partial matches on tags, local and multi-remote branches, origin/-prefixed refs, master↔main / develop↔development aliasing, worktree cleanup (refuses on dirty worktrees), creates the branch when nothing matches
  • cb: rewritten — deletes local branches with no same-name branch on any remote, skips worktree branches, refuses when no remotes exist
  • sq (new): squash all commits on the current branch (message required), stacked-branch guard, auto push --force-with-lease
  • ec (new): empty chore: commit and push, works with any remote name
  • sw: rewritten — regex project search under $PROJECTS_DIR (new profile/projects), depth-tiered matching, ambiguity listing
  • checksum libs (cof/checksum_changed/save_checksum): fixed broken compare/self-source bugs, now standalone executables; sb/mci java detection hardened
  • install (new): idempotent setup of PATH + profile + aliasses in the shell rc, referenced from README
  • bin/local/: gitignored folder for machine-local scripts (on PATH via install)
  • Removed: crb, wsldockerd, config/, lib/project_root
  • CI: actions/checkout@v7 + super-linter/super-linter/slim@v8

Test plan

  • sh -n and shellcheck clean on all scripts
  • Behavior of gc/cb/sq/ec/sw/checksum libs/install exercised against scratch repos and fake project trees (worktrees, multi-remote, stacked branches, dry runs)
  • Super-linter run on this PR validates the lint setup

🤖 Generated with Claude Code

- Rewrite all scripts as POSIX sh, shellcheck clean
- gc: smarter checkout (tags, multi-remote, worktrees, master/main alias)
- cb: clean local branches with no remote counterpart
- sq: squash branch with force-with-lease push and stacked-branch guard
- ec: empty commit and push
- sw: regex project search under $PROJECTS_DIR
- Fix broken checksum libs, make them standalone executables
- Add install script and bin/local/ for uncommitted machine-local scripts
- Remove crb, wsldockerd, config/ and lib/project_root
- Update CI to checkout@v7 and super-linter/slim@v8

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@JorSanders
JorSanders enabled auto-merge (squash) July 25, 2026 01:17
JorSanders and others added 4 commits July 25, 2026 03:21
- Pin actions to SHAs and add minimal workflow permissions (checkov, zizmor)
- Add jscpd threshold config
- shfmt all scripts, add .editorconfig
- Markdown and terminology fixes (prettier, markdownlint, textlint)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- persist-credentials: false on checkout (zizmor artipacked)
- Disable Biome formatter, it conflicts with Prettier on JSON
- 4-space indent in gc help text (editorconfig-checker)
- codespell config ignoring 'aliasses'

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@JorSanders
JorSanders merged commit f6900c7 into master Jul 25, 2026
22 checks passed
@JorSanders
JorSanders deleted the feat/posix-rewrite branch July 25, 2026 01:30
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.

1 participant