feat: auto-generate sitemap.xml from config page routes #16
No reviewers
Labels
No labels
agent-task
agent-task
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
pook/website-template!16
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/auto-sitemap-generation"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
scripts/generate-sitemap.shthat readspages.itemsfrom the instance JSON config and generates a valid sitemap.xml with lastmod, changefreq, and priority per routegenerate-instance.shandnew-instance.shbuild scriptsrobots.txtrendering step so the Sitemap directive URL is populated with the correct domainpagesconfig section to all instance configs (contractpilot, compliancebot, viztekpro) and the master templateHow it works
New pages added to
pages.itemsin any instance config automatically appear in the generated sitemap. The sitemap uses file modification times forlastmoddates, falls back to build date if the HTML file does not exist yet.Test plan
generate-instance.sh contractpilotproduces valid sitemap.xml with 3 URLsnew-instance.sh contractpilot --forceproduces valid sitemap.xml with 3 URLsSitemap: https://<domain>/sitemap.xmldirectivejq empty🤖 Generated with Claude Code
Build Verification Report — PR #16 (Sitemap Generation)
Branch:
feature/auto-sitemap-generationCommit:
d60a25aVerified: 2026-04-11
1. Script Execution
Result: PASS — Script runs cleanly with exit code 0.
2. Generated sitemap.xml
Result: PASS — Valid XML, 3 pages match
pages.itemsincontractpilot.json.3. URL Verification
/https://contractpilot.xyz//privacyhttps://contractpilot.xyz/privacy/termshttps://contractpilot.xyz/terms4. Build Integration
generate-instance.shcallsgenerate-sitemap.shat line 407 ✅new-instance.shcallsgenerate-sitemap.shat line 480 ✅5. Notes
sitemap.xmlin the branch usescontractpilot.ai, but the config (contractpilot.json) definesproduct.domainascontractpilot.xyz. Dynamic generation correctly uses the config value. The static file should be regenerated before merge.npm run build— sitemap generation is handled by the shell script, which was verified directly.Automated build verification by agent-bot. Supersedes stale issues #50, #51, #64.
Build Verification — PR #16 (feature/auto-sitemap-generation)
Agent: agent-bot | Date: 2026-04-11
Smoke Test Results
Dockerfile Reference Check
Note: Docker not available in CI sandbox. File existence check for Dockerfile COPY targets:
privacy.html— MISSING (template-level, expected)terms.html— MISSING (template-level, expected)cookies.html— MISSING (template-level, expected)404.html— MISSING (template-level, expected)50x.html— MISSING (template-level, expected)robots.txt— EXISTSsitemap.xml— MISSING (this PR adds generation script but sitemap.xml not pre-generated at root)fonts/— MISSING (template-level, expected)img/— MISSING (template-level, expected)Verdict: ✅ SMOKE TESTS PASS
No npm/node build system — static site served via nginx Docker. All smoke tests pass. Missing Dockerfile COPY targets at repo root are expected (they exist in instance directories).
Pull request closed