.env.example .gitignore LICENSE Makefile QUICKSTART.md README.md docker-compose.yml docs/CUSTOMIZATION.md docs/DATA_MODEL.md docs/PRODUCTION_CHECKLIST.md examples/curl-render.sh examples/render-all-themes.sh examples/sample-claude-input.json examples/sample-claude-output.json examples/sample-report.json n8n/README.md n8n/code-build-claude-request.js n8n/code-build-render-payload.js n8n/code-extract-claude-output.js n8n/code-normalize-month.js n8n/postgres-example-queries.sql n8n/postgres-schema.sql n8n/workflow-template.json output/.gitkeep output/sample-report-classic.html output/sample-report-classic.pdf output/sample-report-modern.html output/sample-report-modern.pdf output/theme-catalog/alpine-sage.html output/theme-catalog/classic.html output/theme-catalog/editorial-ink.html output/theme-catalog/editorial-ivory.html output/theme-catalog/editorial-rose.html output/theme-catalog/executive-blue.html output/theme-catalog/executive-burgundy.html output/theme-catalog/executive-charcoal.html output/theme-catalog/forest-lodge.html output/theme-catalog/ledger-blue.html output/theme-catalog/ledger-green.html output/theme-catalog/ledger-sepia.html output/theme-catalog/magazine-citrus.html output/theme-catalog/magazine-cobalt.html output/theme-catalog/magazine-plum.html output/theme-catalog/midnight-gold.html output/theme-catalog/modern.html output/theme-catalog/nordic-light.html output/theme-catalog/nordic-night.html output/theme-catalog/ocean-breeze.html output/theme-catalog/poster-mono.html output/theme-catalog/poster-red.html output/theme-catalog/poster-yellow.html output/theme-catalog/soft-lavender.html output/theme-catalog/split-teal.html output/theme-catalog/split-terracotta.html output/theme-catalog/split-violet.html output/theme-catalog/sunset-coral.html output/theme-catalog/theme-gallery.html output/theme-catalog/theme-gallery.pdf prompts/anthropic-request-template.json prompts/system-prompt.txt prompts/user-prompt-template.txt pytest.ini renderer/Dockerfile renderer/app/__init__.py renderer/app/formatting.py renderer/app/main.py renderer/app/renderer.py renderer/app/schemas/claude-output-anthropic.schema.json renderer/app/schemas/claude-output.schema.json renderer/app/schemas/report-payload.schema.json renderer/app/templates/_shared/footer.html.j2 renderer/app/templates/_shared/macros.html.j2 renderer/app/templates/classic/footer.html.j2 renderer/app/templates/classic/report.html.j2 renderer/app/templates/dashboard/report.html.j2 renderer/app/templates/editorial/report.html.j2 renderer/app/templates/ledger/report.html.j2 renderer/app/templates/magazine/report.html.j2 renderer/app/templates/minimal/report.html.j2 renderer/app/templates/modern/footer.html.j2 renderer/app/templates/modern/report.html.j2 renderer/app/templates/poster/report.html.j2 renderer/app/templates/sidebar/report.html.j2 renderer/app/templates/split/report.html.j2 renderer/app/theme_catalog.py renderer/app/validation.py renderer/requirements.txt scripts/render-local.py scripts/render-theme-gallery.py tests/conftest.py tests/test_render.py tests/test_validation.py