<!-- Generated from release sources; edit site/content/docs, not this file. -->

# Explore the Hook library

Discover stable Core Hooks and specialized HooKit Extras.

HooKit publishes two remote Hook catalogs:

- **[Core Hooks](https://github.com/meffmadd/HooKit/tree/main/hooks)** live in
  the HooKit Git repository. They are stable, broadly useful, tested with the
  current Hook Evaluation behavior, and never bundled in the npm package.
- **[HooKit Extras](https://github.com/meffmadd/HooKit-extras)** contains
  specialized, platform-specific, dependency-heavy, and incubating Hooks.

> **info — Opt-in by default**
>
> Every Catalog Entry is opt-in. Installing HooKit does not enable any policy!

## Browse Core by category

- **[General safety](https://github.com/meffmadd/HooKit/blob/main/hooks/general.json)**—restrict
  file access, keep paths inside the project, prevent overwrites, guard dotenv
  values, and bound read results.
- **[Pi tool controls](https://github.com/meffmadd/HooKit/blob/main/hooks/pi-tools.json)**—block
  individual Pi tools or install the `read-only` Preset.
- **[Git policies](https://github.com/meffmadd/HooKit/tree/main/hooks/git)**—check
  diffs, require an unchanged worktree or reductive change, and enforce line
  budgets.
- **[npm workflow gates](https://github.com/meffmadd/HooKit/blob/main/hooks/npm.json)**—run
  tests, linting, builds, or type checking when the agent finishes.
- **[Pre-commit workflow gates](https://github.com/meffmadd/HooKit/blob/main/hooks/pre-commit.json)**—run
  pre-commit on staged files or all repository files when the agent finishes in
  a project with `.pre-commit-config.yaml`.

Git Hooks require Git, npm Hooks require npm, and Pre-commit Hooks require
pre-commit. A missing required tool fails an enabled Core Hook rather than
silently skipping it.

## Browse HooKit Extras

[HooKit Extras](https://github.com/meffmadd/HooKit-extras/tree/main/hooks)
contains Bash command guards, framework and quality checks, documentation
linting, macOS notifications, and observability integrations. Review each
entry's additional tools and platform assumptions before installation.

## Install a library hook

1. In Pi, open the Hook panel with `/hooks`.
2. Press **`i`** (`install hooks`).
3. Pick `meffmadd/HooKit` for Core, or add `meffmadd/HooKit-extras` for an
   Extra. Then pick the file and Catalog Entry. Press **Enter** to install,
   update, or confirm uninstall.
4. Back in `/hooks`, press **Enter** on the installed entry to enable it.

See the [`/hooks` panel reference](../reference/hooks-panel.md) for every navigation
and action key.

## After installing

- Installed entries appear under their `owner/repo` Section in
  `.pi/hookit.json` and can be updated and removed like local entries.
- Prefer **Presets** to enable several policies at once, including entries from
  different repositories. See
  [Presets and sources](../reference/configuration/presets-sources.md).

## A safety note

Repository Hooks are executable code. Their `shell` strings run locally with
your Pi process permissions. Review each Hook's Source before installation and
read the [security page](../concepts/security.md) for the trust boundary.
