Thank you for helping build reliable open-source Islamic software.
pnpm install
pnpm devBefore opening a pull request, run:
pnpm lint:check
pnpm build
pnpm testUse pnpm lint only when you intentionally want ESLint and Prettier to apply fixes.
- Keep changes focused.
- Add or update tests for behavior changes.
- Update
README.mdandopenapi.yamlwhen public endpoints or response shapes change. - Do not introduce a new upstream source without documenting its license, stability, timeout, and canonical mapping.
- Avoid breaking response shapes unless the change is clearly versioned.
Every upstream source should:
- Use
fetchWithTimeout. - Map to the canonical types in
src/types/Items.ts. - Preserve the same public response shape as other sources.
- Set
apiNameto the actual source used. - Have a focused test for fallback behavior.
Prefer conventional commits:
feat(prayer): add new fallback source
fix(qibla): report local fallback source correctly
docs(openapi): document metrics endpoint