Multilingual spiritual and educational content pipeline for the Ann Lite ecosystem.
Version-controlled source of truth for prayers, reflections, devotionals, and resources in English, French, and Haitian Creole — authored and reviewed like code, validated against strict schemas, and never auto-published.
annlite-content/
├── prayers/{en,fr,ht}/
├── reflections/{en,fr,ht}/
├── devotionals/
├── resources/
├── schemas/ # JSON Schema per content type
├── validation/ # validate.js — schema + workflow enforcement, CI-ready
└── docs/WORKFLOW.md
See docs/WORKFLOW.md for the full DRAFT → REVIEW → APPROVED → PUBLISHED process and how this repository relates to annlite-database and annlite-backend.
npm installAdd a new prayer:
# create prayers/<lang>/<slug>.json following schemas/prayer.schema.json
# status must start as "draft"node validation/validate.jsValidates every content file against its JSON Schema and enforces:
- Content must never be authored with
status: "published" - The
languagefield must match its containing language folder
Run this in CI on every pull request.
- Content is plain text/JSON — no executable code, no user-submitted content without review.
- No personal or beneficiary-identifying information belongs in this repository; content here is public-facing spiritual/educational material only.
- Publication into the live system is gated by
annlite-backend's permission-checked API — this repository alone cannot make content live.
- Feeds into
annlite-database(via a sync process owned byannlite-infrastructure, not yet built) - Publication is enforced by
annlite-backend - Rendered by
annlite-web(andannlite-mobilelater)