← ClaudeAtlas

vibey-quality-gateslisted

The 7-gate CI sweep (ruff check, ruff format, mypy, per-layer coverage × 4, lint-imports, bandit, pip-audit) and what each gate catches.
adammatthewsteinberger/vibey · ★ 3 · API & Backend · score 70
Install: claude install-skill adammatthewsteinberger/vibey
# vibey quality gates CI runs a 7-gate sweep. **All seven must pass** before a PR can merge. Run locally with `pre-commit run --all-files` or individually: ## Gate 1: ruff check Linter. Catches unused imports, undefined names, syntax errors, and common anti-patterns. ```bash uv run ruff check . ``` ## Gate 2: ruff format --check Formatter. Ensures consistent code style across the repo. Fails if any file would be reformatted. ```bash uv run ruff format --check . ``` To fix: `uv run ruff format .` ## Gate 3: mypy --strict Type checker. Enforces `--strict` mode across `src/vibey/`. Catches type errors, missing type annotations, and `Any` usage. ```bash uv run mypy --strict src/vibey ``` ## Gate 4: pytest per-layer coverage (100%) Four separate gates, one per layer. Each must hit **100% branch coverage** or the build fails. ```bash uv run pytest -q -p no:cacheprovider --cov=vibey.domain --cov-branch --cov-report=term-missing --cov-fail-under=100 uv run pytest -q -p no:cacheprovider --cov=vibey.application --cov-branch --cov-report=term-missing --cov-fail-under=100 uv run pytest -q -p no:cacheprovider --cov=vibey.infrastructure --cov-branch --cov-report=term-missing --cov-fail-under=100 uv run pytest -q -p no:cacheprovider --cov=vibey.cli --cov-branch --cov-report=term-missing --cov-fail-under=100 ``` **Why per-layer, not aggregate?** Because `domain/` is the safety-critical layer and must never drop below 100%. An aggregate gate would allow a 95% domain to hide beh