From 53416d512ae3ebe8052ad078abfbe38ef7396801 Mon Sep 17 00:00:00 2001 From: Aric Camarata Date: Thu, 28 May 2026 14:00:04 -0400 Subject: [PATCH] =?UTF-8?q?docs(e6):=20add=20wiki=20pages=20=E2=80=94=20Si?= =?UTF-8?q?debar,=20Footer,=20Contributing,=20SECURITY,=20CODE=5FOF=5FCOND?= =?UTF-8?q?UCT?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/wiki/CODE_OF_CONDUCT.md | 34 +++++++++++++++++++++++ .github/wiki/Contributing.md | 48 +++++++++++++++++++++++++++++++++ .github/wiki/SECURITY.md | 26 ++++++++++++++++++ .github/wiki/_Footer.md | 1 + .github/wiki/_Sidebar.md | 17 ++++++++++++ 5 files changed, 126 insertions(+) create mode 100644 .github/wiki/CODE_OF_CONDUCT.md create mode 100644 .github/wiki/Contributing.md create mode 100644 .github/wiki/SECURITY.md create mode 100644 .github/wiki/_Footer.md create mode 100644 .github/wiki/_Sidebar.md diff --git a/.github/wiki/CODE_OF_CONDUCT.md b/.github/wiki/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..c880c1a --- /dev/null +++ b/.github/wiki/CODE_OF_CONDUCT.md @@ -0,0 +1,34 @@ +# Code of Conduct + +## Summary + +Be direct, be respectful, and focus on the work. + +## Standards + +Constructive behavior: + +- Technical criticism aimed at code and ideas, not people +- Clear and specific feedback with examples where possible +- Acknowledging when you are wrong or do not know something +- Staying on topic in issues and pull requests + +Unacceptable behavior: + +- Personal attacks, insults, or harassment +- Sustained off-topic disruption +- Publishing private information without consent + +## Scope + +This applies to all project spaces: GitHub issues, pull requests, discussions, and any other venue where project work happens. + +## Enforcement + +The project maintainer handles violations. Contact: aric.camarata@gmail.com. + +Reports are reviewed promptly. Responses range from a private note to a permanent ban, depending on severity and history. + +## Attribution + +This code of conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1. diff --git a/.github/wiki/Contributing.md b/.github/wiki/Contributing.md new file mode 100644 index 0000000..5b2850c --- /dev/null +++ b/.github/wiki/Contributing.md @@ -0,0 +1,48 @@ +# Contributing + +## Prerequisites + +- Node.js 20 or later +- pnpm (enabled via corepack: `corepack enable`) + +## Setup + +```sh +git clone https://github.com/acamarata/qibla.git +cd qibla +pnpm install +``` + +## Development + +```sh +pnpm build # compile TypeScript +pnpm test # build + run test suite +pnpm run typecheck # type-check without emitting +pnpm run lint # ESLint +pnpm run format # Prettier format +``` + +## Project Structure + +``` +src/ + index.ts all exports (qiblaAngle, compassDir, compassName, qiblaGreatCircle, distanceKm) + types.ts TypeScript types +dist/ tsup build output (gitignored) +test.mjs ESM test suite +test-cjs.cjs CJS test subset +``` + +## Ka'bah Coordinates + +The Ka'bah position is defined in `src/index.ts` as constants `KAABA_LAT` and `KAABA_LNG`. These are sourced from high-precision geodetic measurements. Do not change them without a reference. + +This package has a Dart counterpart (`qibla` on pub.dev). If you update the Ka'bah coordinates or the algorithm, the Dart package should receive the same update. + +## Pull Requests + +- One logical change per PR +- Include tests covering the new behavior +- Update `CHANGELOG.md` under `[Unreleased]` +- Do not bump the version number diff --git a/.github/wiki/SECURITY.md b/.github/wiki/SECURITY.md new file mode 100644 index 0000000..e452114 --- /dev/null +++ b/.github/wiki/SECURITY.md @@ -0,0 +1,26 @@ +# Security Policy + +## Supported Versions + +| Version | Supported | +| --- | --- | +| 1.x | Yes | + +## Reporting a Vulnerability + +Do not open a public GitHub issue for security vulnerabilities. + +Email: aric.camarata@gmail.com + +Include: + +- A description of the vulnerability +- Steps to reproduce +- Potential impact +- Any suggested fix, if you have one + +You will receive an acknowledgment within 48 hours and a resolution timeline within 7 days. + +## Scope + +This package is a pure math library. It performs no network requests, reads no files, and holds no credentials. All computations are deterministic spherical geometry. The primary security concern would be a supply-chain compromise of the npm package. diff --git a/.github/wiki/_Footer.md b/.github/wiki/_Footer.md new file mode 100644 index 0000000..7a5a9f2 --- /dev/null +++ b/.github/wiki/_Footer.md @@ -0,0 +1 @@ +[npm](https://www.npmjs.com/package/@acamarata/qibla) · [GitHub](https://github.com/acamarata/qibla) · [Changelog](https://github.com/acamarata/qibla/blob/main/CHANGELOG.md) · MIT License diff --git a/.github/wiki/_Sidebar.md b/.github/wiki/_Sidebar.md new file mode 100644 index 0000000..1079ec8 --- /dev/null +++ b/.github/wiki/_Sidebar.md @@ -0,0 +1,17 @@ +## @acamarata/qibla + +**[Home](Home)** + +**Reference** +- [API Reference](API-Reference) +- [Architecture](Architecture) + +**Contributing** +- [Contributing](Contributing) +- [Code of Conduct](CODE_OF_CONDUCT) +- [Security](SECURITY) + +**Links** +- [npm](https://www.npmjs.com/package/@acamarata/qibla) +- [GitHub](https://github.com/acamarata/qibla) +- [Changelog](https://github.com/acamarata/qibla/blob/main/CHANGELOG.md)