vibey-quality-gateslisted
Install: claude install-skill the-vibey-project/vibey
# vibey quality gates
CI runs a 7-gate sweep over the root `vibey` package, as the `gates` job in
`.github/workflows/ci.yml`. **All seven must pass** — together with the other CI
jobs below — before a PR can merge. Run them locally with
`pre-commit run --all-files --hook-stage pre-push` (a plain
`pre-commit run --all-files` runs only the ruff hooks) or individually:
## Gate 1: ruff check
Linter. Catches unused imports, undefined names, syntax errors, and common
anti-patterns.
```bash
uv run ruff check .
```
Root ruff covers `src/**/*.py` and `tests/**/*.py`, so it also lints the
workspace tenants under `src/vibey_runners/` and `src/vibey_tools/`.
## 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%)
One test run produces a combined `.coverage` file; four per-layer reports
enforce 100% branch coverage. Each must pass or the build fails.
```bash
uv run pytest -q -p no:cacheprovider --cov=vibey --cov-branch --cov-report=
uv run coverage report --include='src/vibey/domain/*' --fail-under=100
uv run coverage report --include='src/vibey/application/*' --fail-under=100
uv run coverage report