Add Pray PWA: searchable Christian prayer collection - #1
Conversation
Scaffold a Vite + vite-plugin-pwa progressive web app that hosts a curated, searchable collection of Christian prayers and deploys to GitHub Pages via GitHub Actions. - Offline-ready PWA: manifest, gold-cross icons (192/512/maskable), service worker precaching the whole collection - Fuzzy full-text search (Fuse.js) across title, text, tags, tradition and source; "/" focuses search, live result highlighting - Reverent reading view with copy/share, tap-to-search tags, and full metadata; tradition filters, random prayer, light/dark themes, deep-linkable per-prayer URLs - GitHub Actions workflow builds and publishes dist/ to Pages, deriving the base path from the repo name so forks work unchanged - Python/Pillow icon generator (scripts/gen-icons.py) Prayer corpus seeded with a placeholder dataset; the full verified collection follows in a subsequent commit. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01R9wwWGNYuEgkyktf5Zffpo
Replace the placeholder dataset with 102 traditional, public-domain prayers spanning Roman Catholic (36), Anglican (15), Lutheran (13), Eastern Orthodox (13), Methodist, Reformed, Presbyterian, Protestant, and Common/ecumenical sources. The canonical texts (the Creeds, the Lord's Prayer, the Jesus Prayer, the major Marian prayers, the BCP collects, Luther's prayers, and the psalms) were cross-checked against their standard forms. Cross-tradition variants are deliberately preserved where the difference is meaningful — e.g. the Nicene Creed with and without the Filioque, and the Lord's Prayer in its "trespasses" and "debts" forms — while same-tradition duplicates and mislabeled texts from curation were removed. Category labels were normalized into a clean taxonomy. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01R9wwWGNYuEgkyktf5Zffpo
The first run failed at configure-pages because Pages was not yet
enabled on the repository ("Get Pages site failed... Not Found").
Set enablement: true so the action turns on Pages with the GitHub
Actions build source automatically, using the workflow's pages:write
permission — no manual repo setup required.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01R9wwWGNYuEgkyktf5Zffpo
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f20a7e90b9
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| with: | ||
| # Auto-enable Pages (Source: GitHub Actions) on first run so no | ||
| # manual repo configuration is needed. | ||
| enablement: true |
There was a problem hiding this comment.
Use a Pages-capable token for enablement
In repos or forks where Pages has not already been enabled, this step runs with the default GITHUB_TOKEN, but I checked actions/configure-pages@v5/action.yml and the enablement input says it requires a token other than GITHUB_TOKEN with Pages/admin permissions. In that first-run context the auto-enable path can fail before the artifact is uploaded, so either remove this ineffective auto-enablement or pass an appropriate PAT/GitHub App token.
Useful? React with 👍 / 👎.
Per Codex review on PR #1: actions/configure-pages@v5's `enablement` input requires a token with Pages/admin scope beyond the default GITHUB_TOKEN, so the auto-enable path could never succeed here and only produced a confusing "Resource not accessible by integration" error. Pages is now enabled on the repository (Source: GitHub Actions), so the default configure-pages step works without it. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01R9wwWGNYuEgkyktf5Zffpo
Summary
This PR introduces Pray, a Progressive Web App for discovering and reading curated Christian prayers from multiple traditions. The app features full-text fuzzy search, tradition filtering, offline support via service worker, and a reverent, accessible reading interface.
Key Changes
src/data/prayers.json): 2,300+ lines of curated prayers with metadata (title, text, tradition, tags, source)src/main.js): 616-line vanilla JS app with:/to focus search)src/style.css): 611 lines of responsive CSS with:Notable Implementation Details
https://claude.ai/code/session_01R9wwWGNYuEgkyktf5Zffpo