qol-cicdlisted
Install: claude install-skill qol-tools/qol-skills
# qol-cicd
## Scope
All CI/CD lives in the monorepo under `.github/workflows/` and `.github/scripts/`.
There are no shared or reusable workflows in a separate repo; each workflow file is the source of truth for its own behavior.
## Workflow inventory, by role
- `ci.yml` - lint + test on push/PR. Plans affected crates via `.github/scripts/affected_crates.py`, then runs fmt, clippy `-D warnings`, and tests on an ubuntu + macos matrix. Skips itself on version-bump commits.
- `plugin-version.yml` - versioning. Runs on push to main (or dispatch); computes a bump per release unit from conventional-commit history, commits `chore(plugins): bump plugin versions`, and pushes `<id>-vX.Y.Z` tags.
- `release.yml` - plugin releases. Fires on a `<id>-vX.Y.Z` tag; resolves the tag to a crate, derives the platform matrix from that plugin's `plugin.toml` `platforms` via `.github/scripts/plugin_matrix.py`, builds, and publishes assets.
- `qol-tray-release.yml` - host release. Fires on a `qol-tray-vX.Y.Z` tag.
- `release-prune.yml` - scheduled cleanup of old releases.
Release units and tagging rules live in the `qol-tray-release-flow` skill; read it before cutting any release.
## Editing guidance
- The Python release scripts under `.github/scripts/` have tests in `.github/scripts/tests/`; `ci.yml` runs them on every push, and any script change needs a matching test change.
- A `workflow_run` consumer must pass `github.event.workflow_run.id` into its verifier and validate that exact run's