docs: add README with install and usage instructions
This commit is contained in:
parent
1984dad57d
commit
56b4cf010f
1 changed files with 49 additions and 0 deletions
49
README.md
Normal file
49
README.md
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
# circuitforge-hooks
|
||||
|
||||
Centralised git hooks for all CircuitForge repos.
|
||||
|
||||
## What it does
|
||||
|
||||
- **pre-commit** — scans staged changes for secrets and PII via gitleaks
|
||||
- **commit-msg** — enforces conventional commit format
|
||||
- **pre-push** — scans full branch history as a safety net before push
|
||||
|
||||
## Install
|
||||
|
||||
From any CircuitForge product repo root:
|
||||
|
||||
```bash
|
||||
bash /Library/Development/CircuitForge/circuitforge-hooks/install.sh
|
||||
```
|
||||
|
||||
On Heimdall live deploys (`/devl/<repo>/`), add the same line to the deploy script.
|
||||
|
||||
## Per-repo allowlists
|
||||
|
||||
Create `.gitleaks.toml` at the repo root to extend the base config:
|
||||
|
||||
```toml
|
||||
[extend]
|
||||
path = "/Library/Development/CircuitForge/circuitforge-hooks/gitleaks.toml"
|
||||
|
||||
[allowlist]
|
||||
regexes = [
|
||||
'\d{10}\.html', # example: Craigslist listing IDs
|
||||
]
|
||||
```
|
||||
|
||||
## Testing
|
||||
|
||||
```bash
|
||||
bash tests/test_hooks.sh
|
||||
```
|
||||
|
||||
## Requirements
|
||||
|
||||
- `gitleaks` binary: `sudo apt-get install gitleaks`
|
||||
- bash 4+
|
||||
|
||||
## Adding a new rule
|
||||
|
||||
Edit `gitleaks.toml`. Follow the pattern of the existing `[[rules]]` blocks.
|
||||
Add tests to `tests/test_hooks.sh` covering both the blocked and allowed cases.
|
||||
Loading…
Reference in a new issue