Always-on coding style and organization rules for naming, file shape, comments, types, module boundaries, pattern use, errors, and avoiding unnecessary abstraction across languages and tracks.
Use when setting up or modifying CI pipelines — the quality-gate sequence every change passes, shift-left ordering, feeding failures back to agents, and keeping the pipeline under 10 minutes.
Use when designing any public interface — REST/GraphQL endpoints, module contracts, component props — Hyrum's Law, contract-first, consistent error semantics, validate at boundaries, extend rather than break.
Use when designing or restructuring module interfaces while coding — deep modules, seams and adapters, designing for testability, exploring alternative interfaces (design it twice), and the implementation working loop.
Use when reviewing changes since a fixed point, or when a non-trivial in-flight decision needs adversarial scrutiny — keep Standards and Spec separate, measure relevant complexity, and use the bounded doubt cycle (claim → extract → fresh-context adversarial…
Use when writing or revising tests in any language or framework — express one observable behavior at a public seam, keep cause and effect close, use independent expected values, prefer real boundaries over internal mocks, and make tests readable,…
Use before writing or revising tests to choose the smallest useful evidence for each behavior — balance risk, cost, speed, maintainability, utilization, reliability, and fidelity; avoid pyramid cargo cults, coverage gaming, and flaky signals; record gates,…
Use as the final gate before anything goes live — the pre-launch checklist across code/security/performance/a11y/infrastructure/docs, and the first-hour post-launch verification.