# Git hooks

Versioned hooks that keep auto-generated files in sync.

## Activate (once per clone)

```sh
git config core.hooksPath tools/git-hooks
```

That points git at this folder. From then on, every `git commit` runs
`tools/build_listings.py` and `tools/build_botlinks.py` and stages their output,
so the News hub, homepage "Latest news", `/llms.txt` and `/links-for-bots/` stay
in sync with the actual Blog / Projects / News pages.

The hook never blocks a commit — if Python or a generator fails it just prints a
warning and lets the commit proceed.

> Note: SEO metadata and the sitemap are **not** regenerated on commit (that is a
> heavier, all-pages pass). When you add a new page, also add its date to
> `ARTICLE_DATES` in `tools/seo_inject.py` and run
> `python tools/seo_inject.py --all --sitemap`.
