Compare commits

...

1 Commits

Author SHA1 Message Date
Step35
bb60c5bbe7 docs(githooks): add installation README for symlink usage
Some checks failed
Architecture Lint / Linter Tests (pull_request) Successful in 41s
PR Checklist / pr-checklist (pull_request) Successful in 5m44s
Smoke Test / smoke (pull_request) Failing after 35s
Validate Config / YAML Lint (pull_request) Failing after 22s
Validate Config / JSON Validate (pull_request) Successful in 22s
Validate Config / Python Syntax & Import Check (pull_request) Failing after 19s
Validate Config / Python Test Suite (pull_request) Has been skipped
Validate Config / Cron Syntax Check (pull_request) Successful in 15s
Validate Config / Shell Script Lint (pull_request) Failing after 48s
Validate Config / Deploy Script Dry Run (pull_request) Successful in 15s
Validate Config / Playbook Schema Validation (pull_request) Successful in 29s
Architecture Lint / Lint Repository (pull_request) Failing after 20s
- Add githooks/README.md with step-by-step symlink instructions
- Explain git config core.hooksPath setup and usage
- Document bypass and what the hook checks
- Completes acceptance criterion #4 for #338

Closes #338
2026-04-29 08:12:48 -04:00

View File

@@ -0,0 +1,49 @@
# Git Hooks
Pre-commit hooks extracted from the `hermes-agent` fork. These hooks run automated checks before each commit.
## Installation
To use these hooks in any repository, set the `core.hooksPath` to this directory:
```bash
git config core.hooksPath /path/to/timmy-config/hermes-sovereign/githooks
```
The path should be absolute or relative to the repository root. For example, if `timmy-config` is cloned alongside your project:
```bash
# From your project root
git config core.hooksPath ../timmy-config/hermes-sovereign/githooks
```
Once configured, Git will execute the hooks from this directory whenever you run `git commit` in that repository.
## Hooks
| Hook | Description |
|------|-------------|
| `pre-commit` | Wrapper that invokes `pre-commit.py` for secret leak detection |
| `pre-commit.py` | Scans staged diffs and file contents for secrets, tokens, private keys, and credential patterns |
## Bypass
To skip hooks for a single commit (use sparingly):
```bash
git commit --no-verify -m "Your message"
```
## What the Hook Checks
The pre-commit hook scans staged changes for:
- API tokens and service keys
- Private keys and certificates
- Hardcoded credentials and passwords
- Known secret file paths and patterns
If a potential secret is detected, the commit is blocked and a Finding is printed to stderr.
## Updating
Commit changes to this directory directly in `timmy-config`. Any repository using these hooks will automatically pick up updates the next time they pull changes to this directory (the hooks themselves are read fresh on each commit).