Ensures the commands work even when the package isn't installed as a
local devDependency.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add "(in Docker)" clarification to SKILL.md
- Explain --all flag matches on triggers like GitHub
- Add --no-matrix tip for collapsing matrix jobs locally
- Use --quiet flag in CLAUDE.md snippet
- Add "CI was green before you started" instruction for agents
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Improve npm and AI agent discoverability by filling in package.json
keywords/description, creating a SKILL.md for node_modules scanning,
and adding a ready-to-paste CLAUDE.md snippet to the README.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Parse --no-matrix as a boolean flag in the run command. Thread noMatrix
through runWorkflows and handleWorkflow. When active, use a new
collapseMatrixToSingle helper (exported from workflow-parser.ts) to
produce one job with the first value of each matrix key, __job_total='1',
and __job_index='0', so strategy.job-total expressions resolve correctly
without parser changes. Document the flag in printUsage.
Covers: collapseMatrixToSingle produces exactly one job, uses first value
of each matrix key, sets __job_total='1' and __job_index='0', handles
multi-key matrices and edge cases (degenerate single-combo, empty value
list, numeric values). Also guards that expandMatrixCombinations (default
path) is unaffected and produces the full cartesian product without
injecting __job_total or __job_index.
@actions/workflow-parser imports .json files without `with { type: "json" }`,
which Node 22 rejects. This adds a custom ESM loader hook that transparently
patches the missing attribute at runtime.
Closes#67
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
execa was in devDependencies but imported in production code,
causing ERR_MODULE_NOT_FOUND when running via npx. Replaced with
Node's built-in child_process.exec and removed execa entirely.
Build and execute the released binary as part of smoke tests: verify shebang is correct, run built binary directly via node, and run built binary via npx (simulates npx install). Catches shebang issues, broken imports, and bin-field misconfigurations before publishing.