Islamic knowledge for Myanmar Muslims: selected Qur'an surahs with recitation audio, essential duas, and the Names of Allah — in Burmese, English, and Arabic.
Burmese is the interface language; embedded English and Arabic carry lang attributes. Pages ship as plain HTML with vanilla CSS and six small component scripts — no client framework.
xychart-beta
title "Published content"
x-axis ["Names of Allah", "Surahs", "Essential duas"]
y-axis "items" 0 --> 100
bar [100, 47, 18]
| Collection | Source | Items |
|---|---|---|
| Surahs | essential-surahs/*.json |
47 |
| Essential duas | essential-duas/duas.json |
18 |
| Names of Allah | allah-names/names.json |
100 |
Published surah numbers are 1 · 36 · 56 · 63 · 65–67 · 73 · 75–76 · 78–114. Routes are generated from JSON metadata, so adding a surah is a content change, not a code change.
Each surah page carries metadata, translations, transliterations, verses, navigation, structured data, recitation audio when a matching .opus exists, and local reader tools for text scaling and bookmarks. Bismillah is stored separately from the verse array, so Al-Fatihah holds six verse records while its traditional total is seven — the metadata records that convention explicitly.
Content under src/assets/content/ is read-only project data, validated by Zod schemas and cross-field integrity checks.
Prerequisite: Bun. Do not use npm, pnpm, or yarn here.
bun install
bun run dev| Command | Purpose |
|---|---|
bun run dev |
Start the Astro development server |
bun run check |
Validate content/deployment contracts and run astro check |
bun run build |
Run all checks and create the production build in dist/ |
bun run preview |
Preview the production build locally |
bun run format |
Format the repository with Prettier |
bun run format:check |
Check formatting without changing files |
bun run sync |
Refresh Astro content-layer types |
bun run test |
Run the Bun unit and DOM-behavior tests |
bun run test:e2e |
Run Playwright Chromium browser smoke tests |
bun run content:check |
Validate content counts, verse numbering, references, and audio coverage |
bun run deployment:check |
Validate headers, sitemap redirects, robots, and manifest consistency |
bun run astro -- <args> |
Run the Astro CLI through Bun |
Before submitting changes:
bun run format:check
bun run test
bun run check
bun run build
bun run test:e2eThe first browser-test run may need Chromium installed locally with bunx playwright install chromium.
Pull requests and pushes to main run .github/workflows/quality.yml: Bun install → formatting → unit/DOM tests → content/deployment/Astro checks → production build → Chromium smoke tests. Pushes to main then trigger .github/workflows/deploy.yml, which repeats the gates before wrangler pages deploy dist --project-name=basirah publishes to Cloudflare Pages at https://basirah.pages.dev. The workflow needs the GitHub secrets CLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_ID, and can also be run manually via workflow_dispatch.
| Document | Covers |
|---|---|
| STACK.md | Languages, runtime, dependencies, config sources |
| STRUCTURE.md | Directory map, routes, module boundaries |
| ARCHITECTURE.md | Rendering model, data flow, client behaviors |
| CONVENTIONS.md | Naming, formatting, imports, multilingual markup |
| INTEGRATIONS.md | Hosting, analytics, fonts, secrets |
| TESTING.md | Bun and Playwright tests, content checks, release gates |
| CONCERNS.md | Known risks, debt, security posture, fragile areas |
Contributions are warmly welcomed — and you don't need to be a programmer. This project especially needs help with:
- Arabic script — checking the Qur'anic verses and duas against reliable sources
- Burmese translation — keeping meanings accurate and natural for Myanmar readers
- Burmese transliteration — polishing the pronunciation guides so everyone can recite with confidence
To suggest a correction, open a content correction issue — every submission is reviewed with care before it is published. To improve the code instead, CONTRIBUTING.md tells you how to get started.
Please report vulnerabilities privately rather than in public issues — see SECURITY.md.
Basirah is a free, non-commercial act of service for Muslims in Myanmar — no advertising, no subscriptions, no donations, no paywall, and no monetisation of visitor data. Full statement, content credits, and copyright notice: CREDITS.md.
The software and the Burmese editorial content are MIT © 2026 c0k0n. The Burmese content was drafted with AI assistance and reviewed by hand; this is disclosed in full in CREDITS.md.
The English translations (The Clear Quran and Sahih International) and the recitation audio (Mishary Rashid Alafasy) remain the property of their respective owners and are used here non-commercially, with attribution. No copyright is claimed over the Qur'anic text itself. See CREDITS.md.
— Basirah — بَصِيرَة — insight, clarity, and light.