Scenario 16: Enforce layer and plugin state in CI
Use this when you want CI to fail if the project drifts away from its layer or its pinned plugin versions.
Frequency: Occasional (per-project; in CI it runs on every PR) · Status: Shipped
Use this when you want CI to fail if the project drifts away from its layer or its pinned plugin versions.
Typical commands (each exits non-zero on a problem):
harnesstap status . --check --format json
harnesstap layer doctor my-setup --format json
harnesstap layer apply my-setup --project . --dry-run --strict-plugin-versions --format json
harnesstap resource sync --format json --dry-runThis pairs naturally with Scenario 12. The --dry-run keeps CI from writing
files, while --strict-plugin-versions forces failure (exit 2) on a pin
violation. Use status --check exit code 1 as the "working tree changed
since last apply/sync" signal, and layer doctor exit code 1 as the "layer
definition is invalid" signal.
Scenario 15: Apply a layer to a subset of target platforms
Use this when a repo opts into some harnesses but not others. For example, a backend repo that supports Claude Code and Codex but never used Cursor.
Scenario 17: Migrate HarnessTap state to a new machine
Use this when moving setups across laptops or onto a dev box. For a single archive that includes harness preferences and config, prefer Scenario 28.