@@ -177,6 +177,48 @@ The `pages.yml` workflow copies `registry.json` and `assets/` into `docs/` at de
177177
178178To test locally, open ` docs/index.html ` in a browser. The script falls back to the embedded registry data.
179179
180+ ## How to Update the Site Template
181+
182+ The unified site template (` site-template/ ` ) powers GitHub Pages for all tool repos. Changes to the template affect every site at next deploy.
183+
184+ ### Files
185+
186+ | File | Purpose |
187+ | ------| ---------|
188+ | ` site-template/template.html.j2 ` | Jinja2 HTML template rendered by each tool repo |
189+ | ` site-template/build_site.py ` | Build script that reads repo data and renders the template |
190+ | ` site-template/fonts/ ` | Self-hosted Inter and JetBrains Mono woff2 files |
191+ | ` site-template/SETUP-PROMPT.md ` | Full schema reference for ` site.json ` , ` mcp-tools.json ` , data flow |
192+
193+ ### Testing locally
194+
195+ ``` bash
196+ python site-template/build_site.py --repo-root E:\D ocker-Developer-Tools --out /tmp/docker-test
197+ ```
198+
199+ Open the generated ` index.html ` in a browser to verify. Repeat for at least one other tool repo to confirm the template works across different data shapes.
200+
201+ ### Rebuilding all tool repos after a template change
202+
203+ After modifying ` template.html.j2 ` or ` build_site.py ` , rebuild all 4 tool repos locally:
204+
205+ ``` bash
206+ for repo in Docker-Developer-Tools Home-Lab-Developer-Tools Steam-Cursor-Plugin Monday-Cursor-Plugin; do
207+ python site-template/build_site.py --repo-root " E:\$ repo" --out " E:\$ repo\docs"
208+ done
209+ ```
210+
211+ Then commit the updated ` docs/index.html ` in each repo.
212+
213+ ### Adding a new site.json field
214+
215+ 1 . Add the field to ` build_site.py ` - load it from ` site.json ` and pass it in the template context
216+ 2 . Use the field in ` template.html.j2 ` with a Jinja2 conditional so existing repos without the field still render correctly
217+ 3 . Document the field in ` site-template/SETUP-PROMPT.md ` (schema table, example, and customization guide)
218+ 4 . Add a default value to the scaffold's ` site.json.j2 ` template if applicable
219+ 5 . Test with a repo that uses the field and one that doesn't
220+ 6 . Commit with ` feat: add <field-name> support to site template `
221+
180222## Pull Request Process
181223
182224### Branch naming
0 commit comments