Reference
CLI flags
| Flag | Default | Meaning |
|---|---|---|
-t, --hook-type |
all discovered | Install only this type |
--force |
off | Clear generated scripts for the type, then reinstall |
--skip-multiplexer |
off | Do not require or install the multiplexer |
--skip-gitignore |
off | Do not edit .gitignore |
-l, --list-hook-types |
off | Print types discovered from hooks/*-config.yml (except mux) and exit 0 |
-v, --verbose |
off | Include source URL and version in the Installing line |
Hook type YAML
hooks/<type>-config.yml is a list. Order is run order.
| Field | Required | Meaning |
|---|---|---|
name |
yes | Human label for logs only |
filename |
yes | Destination basename (no prefix). Single path segment |
url |
yes | Git remote URL (https:// or git@) |
version |
yes | HEAD, LATEST, semver tag, or 40-character hex SHA |
filename matches ^[A-Za-z0-9._-]+$. The installed name is
NN-<filename> (01- … 99-). Duplicate filenames in one file are
an error. The source blob is always src/<type>.
Multiplexer YAML
hooks/multiplexer-config.yml is one mapping:
| Field | Required | Meaning |
|---|---|---|
url |
yes | Git remote URL of the multiplexer |
version |
yes | Same version grammar as hook entries |
The source blob is always src/multiplexer.
Version
| Value | Resolution |
|---|---|
HEAD |
Default branch (git ls-remote --symref) |
LATEST |
Newest semver tag; finals rank above pre-releases of that X.Y.Z |
| Semver tag | Optional v / V prefix. Must exist as a tag |
| 40-character SHA | Full SHA-1. Short SHAs are rejected |
Resolution and fetch use git only. Private remotes use your existing credentials.
Exits
| Situation | Result |
|---|---|
| Not a git work tree / invalid YAML / bad version form | Non-zero before fetch |
Mux on and multiplexer-config.yml missing |
Non-zero before fetch |
Generated scripts exist, no --force |
Non-zero; no writes |
Missing remote ref or missing src/<type> |
Fail that type. Earlier types in the same run stay |
| Gitignore update fails | Scripts already installed; snippet printed; exit 0 |