Skip to content

Repository files navigation

Basirah — بَصِيرَة

Islamic knowledge for Myanmar Muslims: selected Qur'an surahs with recitation audio, essential duas, and the Names of Allah — in Burmese, English, and Arabic.

Live site Astro Bun License: MIT

Surah coverage — 47 of 114

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]
Loading
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.

Quick start

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:e2e

The first browser-test run may need Chromium installed locally with bunx playwright install chromium.

Deployment

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.

Documentation

Build and delivery pipeline

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

Contributing

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.

Security

Please report vulnerabilities privately rather than in public issues — see SECURITY.md.

Purpose

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.

License

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.

About

Basirah (بَصِيرَة) — bilingual Islamic knowledge for Myanmar Muslims: Qur'an surahs with recitation audio, essential duas, and the Names of Allah. Built with Astro + PWA, deployed on Cloudflare Pages.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Used by

Contributors

Languages