# 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`.