fix: state shell requirements with a Windows path across 8 plugins#331
Conversation
Cross-platform declaration wave (dim 10): mcp-tools, education (README corrected from "none beyond Claude Code"), ai-briefing (setup --with-build-deps POSIX-shell requirement), prototype (detection-script Bash requirement + documented no-Bash degrade), code-tidying (Bash 4+), knowledge (Git Bash sha256sum for book-distill; unzip for the EPUB branch) now declare their shell/coreutils mechanics with the Git Bash Windows path. event-storming's simulation teardown is phrased shell-agnostically (rm -rf / Remove-Item) at both sites. repo-hygiene's destructive-guard hook moves to the interpreter-named exec form (command: bash + args) — the doctrine-prescribed Windows-safe spawn shape. CHANGELOGs created for mcp-tools and education. Part of #317 (tranche C). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8dfbb16b08
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Codex review P2: the PowerShell example passed {session_dir} unquoted,
so a temp path containing a space would mis-parse. Both teardown sites
now quote the path and the PowerShell form uses -LiteralPath.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Claude finished @kyle-sexton's task in 4m 34s —— View job PR Review — fix: state shell requirements with a Windows path across 8 plugins
SummaryThis tranche addresses cross-platform (dim-10) conformance fails by documenting shell/coreutils prerequisites with Windows Git Bash paths across 8 plugins and making two structural fixes. The documentation changes are accurate and consistent. One confirmed issue slipped through the merge. Issue: PowerShell
|
|
Claude finished @kyle-sexton's task in 45s —— View job
Verification — PowerShell
|
…nostic skills (#492) ## Summary The `verification` plugin's `confirm` and `measure` skills are sold as ecosystem-agnostic, but their illustrative examples leaned .NET/C#/PowerShell, and two "how to check" cells assumed a Unix shell (`wc -l`) against the cross-platform "never assume Bash" contract. A non-.NET consumer was handed a stack-specific illustration as the universal path. This patch neutralizes the examples while keeping the guidance concrete and useful. ## Fix - `skills/confirm/context/fix.md` — reproduction-test example now uses a generic descriptive name (`returns_null_when_user_is_deleted`, "name it per your framework's convention") and a generic failure ("the reported failure (e.g. a null-dereference crash)") instead of `UserService_ShouldReturnNull_WhenUserIsDeleted` / `NullReferenceException`. - `skills/measure/context/metrics.md` — coupling row counts "import/dependency declarations (`import`/`require`/`using`, package or project references)" instead of `using`/`ProjectReference`; coverage row points to "your test runner's output" instead of `dotnet test`; both `wc -l` sites are now stated shell-neutrally (`wc -l` on POSIX/Git Bash, `Measure-Object -Line` in PowerShell), mirroring the both-forms pattern established in #331. - `skills/measure/context/performance.md` — metric "how to measure" cells point to "your test runner", "your build tool", "your platform's profiler", and "your benchmark harness", with the shell timer given for both shells (`time` on POSIX/Git Bash, `Measure-Command` in PowerShell) instead of `dotnet test`/`dotnet-counters`/BenchmarkDotNet as the only path. - The named marketplace-plugin evidence pointers (`dotnet-*:*`) at the bottom of both `measure` files are unchanged — those are real named plugins used as evidence sources, not universal-path illustrations, and #424 deliberately did not flag them. - `verification` bumped `0.2.2` → `0.2.3` (docs = patch) with a CHANGELOG entry. ## Verification Gates run in this Windows environment against the changed markdown; all clean, nothing suppressed: - `markdownlint-cli2 v0.23.0 (markdownlint v0.41.0)` (repo-pinned) on the four changed `.md` files — `Summary: 0 error(s)`. - `typos-cli 1.44.0` on the four changed `.md` files — exit 0, no output. - `editorconfig-checker v3.8.0` on the changed `.md` files plus `plugin.json` — exit 0, no findings. - `plugin.json` re-parsed as valid JSON; version reads `0.2.3`. ## Related Closes #424. Sibling stack-bias issues in the same work-readiness sweep, same pattern: #430, #429, #428 (all `testing` plugin). 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Tranche C of the prerequisite-visibility wave: every dim-10 cross-platform FAIL from the conformance audit — undeclared shell/coreutils assumptions get a stated requirement with the Git Bash Windows path, and the two structural Windows hazards get real fixes.
Per-plugin changes
setup --with-build-deps(script's platform gate already accepts MINGW/MSYS/CYGWIN — the doc prong was the gap).sha256sum/shasum,realpath,tr,sedwith the Git Bash path (bundles all of them). CHANGELOG created.skills/logic/SKILL.md, which never branches on the detection output).mapfile, case-conversion expansions) with the Git Bash path; notes the scripts' existing CRLF/drive-letter handling.book-distillhashes withsha256sumon every run) and the EPUB branch'sunziprequirement (not bundled with Git Bash); PDF-only use needs neither.rm -rfon POSIX/Git Bash,Remove-Item -Recurse -Forceon PowerShell) instead of unconditionalrm -rf.clean's PreToolUse destructive-guard hook moves from a bare-.shcommand to the interpreter-named exec form (command: "bash",args: […]) — the doctrine-prescribed Windows-safe spawn shape, matching disk-hygiene's existingcommand: "python"precedent.Verification
scripts/validate-plugins.sh,node scripts/generate-catalog.mjs --check, andnode scripts/validate-plugin-contracts.mjs(1429 files) green.plugins/repo-hygiene/.../destructive-guard.test.sh: 30/30 passing after the hook-form change.Related
Closes #317 (together with #328 and #329, which carry tranches A and B).
🤖 Generated with Claude Code