Skip to content

chore: bump CLI to 3.28.1 — stop leaking gen_codex_skills via cargo install#292

Merged
montfort merged 1 commit into
mainfrom
chore/bump-cli-3.28.1
Jun 18, 2026
Merged

chore: bump CLI to 3.28.1 — stop leaking gen_codex_skills via cargo install#292
montfort merged 1 commit into
mainfrom
chore/bump-cli-3.28.1

Conversation

@montfort

Copy link
Copy Markdown
Contributor

Problem

straymark update-cli runs cargo install, which installs all binary targets of straymark-cli. Because the internal build tool cli/src/bin/gen_codex_skills.rs is auto-discovered by Cargo as a second binary, it leaked into users' ~/.cargo/bin/ alongside straymark:

Replaced package `straymark-cli v3.26.0` with `straymark-cli v3.28.0` (executables `gen_codex_skills`, `straymark`)

gen_codex_skills is a dev/CI-only tool (regenerates dist/.codex/skills/ from dist/.claude/skills/) and should never ship to adopters. The GitHub-release tarballs were never affected (they only ever packaged straymark) — only the cargo-install path leaked it.

Fix

Gate the tool behind a non-default dev-tools feature via required-features. cargo install (default features) now skips it; CI and local regeneration pass --features dev-tools.

  • cli/Cargo.toml: explicit [[bin]] gen_codex_skills with required-features = ["dev-tools"]; new empty dev-tools feature; bump to 3.28.1.
  • .github/workflows/ci.yml: codex-skills-sync job runs with --features dev-tools.
  • CHANGELOG.md + version tables (README + CLI-REFERENCE EN/es/zh-CN) updated to cli-3.28.1.

Verification

  • cargo install --path . --root /tmp/sm-install-test --locked → installs only straymark (no gen_codex_skills). ✅
  • cargo run --bin gen_codex_skills --features dev-tools -- --check → "Codex skills are in sync (12 skills)." ✅
  • cargo run --bin gen_codex_skills (no feature) → clear error requiring dev-tools. ✅
  • cargo test (full workspace) → all green, 0 failures. ✅

Adopter note

The fix prevents future leaks; it does not remove an already-installed copy. Users who have it can run rm ~/.cargo/bin/gen_codex_skills.

🤖 Generated with Claude Code

Gate the internal gen_codex_skills build tool behind the non-default
`dev-tools` feature so `cargo install straymark-cli` (the path used by
`straymark update-cli`) no longer leaks it into users' ~/.cargo/bin/.

Cargo auto-discovered cli/src/bin/gen_codex_skills.rs as a second binary
target, so the cargo-install path installed it alongside `straymark`. It is
now declared explicitly with required-features = ["dev-tools"]; CI and local
regeneration pass --features dev-tools. The GitHub-release tarballs were never
affected (they only ever packaged `straymark`).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@montfort montfort merged commit ae246a6 into main Jun 18, 2026
2 checks passed
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