mirror of
https://github.com/katanemo/plano.git
synced 2026-04-25 00:36:34 +02:00
Merge e315bd3cba into 6701195a5d
This commit is contained in:
commit
7546936cb6
1 changed files with 61 additions and 0 deletions
61
.claude/skills/precommit/SKILL.md
Normal file
61
.claude/skills/precommit/SKILL.md
Normal file
|
|
@ -0,0 +1,61 @@
|
||||||
|
---
|
||||||
|
name: precommit
|
||||||
|
description: Run pre-commit hooks and fix any failures. Use when the user asks to run pre-commit, fix CI, fix clippy, fix formatting, or when preparing code for a PR.
|
||||||
|
---
|
||||||
|
|
||||||
|
# Fix Pre-commit Failures
|
||||||
|
|
||||||
|
Run pre-commit and fix all failures before committing or pushing.
|
||||||
|
|
||||||
|
## Run it
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd /Users/ahafeez/dev/plano && pre-commit run --all-files
|
||||||
|
```
|
||||||
|
|
||||||
|
Requires `["all"]` sandbox permissions (jemalloc build needs temp dir access).
|
||||||
|
|
||||||
|
## Hooks and how to fix each
|
||||||
|
|
||||||
|
### check-yaml
|
||||||
|
YAML syntax errors. Fix the YAML file directly. Excludes `config/envoy.template*`.
|
||||||
|
|
||||||
|
### end-of-file-fixer / trailing-whitespace
|
||||||
|
Auto-fixed by the hook. Just re-stage the files and re-run.
|
||||||
|
|
||||||
|
### cargo-fmt
|
||||||
|
```bash
|
||||||
|
cd crates && cargo fmt --all
|
||||||
|
```
|
||||||
|
Then re-stage changed files.
|
||||||
|
|
||||||
|
### cargo-clippy
|
||||||
|
Runs `cargo clippy --locked --all-targets --all-features -- -D warnings`.
|
||||||
|
|
||||||
|
Common fixes:
|
||||||
|
- `collapsible_match`: Collapse `if` inside a `match` arm into a guard clause. Add a fallthrough arm if the guard makes the match non-exhaustive.
|
||||||
|
- `dead_code`: Remove unused fields/functions, or add `#[allow(dead_code)]` if intentional.
|
||||||
|
- `unused_imports`: Remove the import.
|
||||||
|
- `clippy::too_many_arguments`: Add `#[allow(clippy::too_many_arguments)]`.
|
||||||
|
|
||||||
|
**Important**: Clippy runs on the full workspace including `hermesllm`, `common`, `llm_gateway`, `prompt_gateway` — not just `brightstaff`. Pre-existing warnings in other crates will fail CI too. Fix them.
|
||||||
|
|
||||||
|
### cargo-test
|
||||||
|
```bash
|
||||||
|
cd crates && cargo test --lib
|
||||||
|
```
|
||||||
|
Fix failing tests. If a test fails due to your change, update the test. If it's pre-existing, still fix it.
|
||||||
|
|
||||||
|
### gitleaks
|
||||||
|
Hardcoded secrets detected. Remove the secret, use env vars instead.
|
||||||
|
|
||||||
|
### black
|
||||||
|
Python formatting. Auto-fixes on first run. Re-stage and re-run.
|
||||||
|
|
||||||
|
## Workflow
|
||||||
|
|
||||||
|
1. Run `pre-commit run --all-files`
|
||||||
|
2. For each failure: fix the issue
|
||||||
|
3. Stage fixes with `git add`
|
||||||
|
4. Run `pre-commit run --all-files` again until all pass
|
||||||
|
5. Then commit
|
||||||
Loading…
Add table
Add a link
Reference in a new issue