Commit graph

13 commits

Author SHA1 Message Date
Aric Camarata
c4ee5efe96 chore: P1 standardization — finalize src/wiki/ci 2026-05-30 18:48:59 -04:00
Aric Camarata
bc8f70ba0b docs: refresh TypeDoc API output (T-E8-03 QA-A verify) 2026-05-30 17:48:47 -04:00
Aric Camarata
077861c7dc docs: add TypeDoc API generation (typedoc@0.28.19 + typedoc-plugin-markdown@4.11.0)
Add typedoc and typedoc-plugin-markdown as devDependencies. Add typedoc.json config
targeting src/index.ts with markdown output to .github/wiki/api. Add docs script to
package.json. Generate initial API reference pages.

Part of T-E8-03 — TypeDoc automation for all 12 JS/TS packages.
2026-05-30 16:41:59 -04:00
Aric Camarata
1dea36eda8 ci: corepack before setup-node, scope prettier to src/, emit d.mts 2026-05-29 20:05:46 -04:00
Aric Camarata
250dda20d4 chore: E6 polish wiki content + ADR-015 CI updates (P1) 2026-05-29 07:15:50 -04:00
Aric Camarata
3492f1f4b2 chore(config): add AGENTS.md for dual-harness parity 2026-05-25 15:51:25 -04:00
Aric Camarata
e2ca6468cb chore: align repository structure with portfolio documentation standards 2026-05-15 15:27:55 -04:00
Aric Camarata
eb5a9fe00d Add GitHub Sponsors funding config 2026-03-28 18:19:04 -04:00
Aric Camarata
aace8d097a ci: let pnpm/action-setup read version from packageManager field 2026-03-08 16:52:31 -04:00
Aric Camarata
ebe5c05bda ci: pin pnpm to version 10 in all CI jobs
Also enable sourcemap: true in tsup config
2026-03-08 16:37:46 -04:00
Aric Camarata
41956c0dc4 refactor: code quality improvements and Temporal Protocol compliance
- Replace O(n) while-loops in dateAdd() with O(1) modular arithmetic
- Implement overflow option handling in dateFromFields, yearMonthFromFields, monthDayFromFields
- Add fields() method per Temporal Calendar Protocol
- Extract shared borrow logic from dateUntil() into borrowHijriDiff helper
- Replace magic number 1444 with REFERENCE_YEAR constant
- Convert test suites to node:test runner with describe/it blocks
- Add tests for dateUntil, dateAdd with days/weeks, overflow reject/constrain, fields(), yearMonthFromFields, monthDayFromFields
- Add ESLint + Prettier with typescript-eslint config
- Add lint job to CI workflow
- Add noImplicitReturns and noFallthroughCasesInSwitch to tsconfig
- Disable unused sourcemap generation in tsup
- Update .editorconfig to include .mts and .cts extensions
- Add missing AI agent dirs to .gitignore
2026-03-08 11:37:22 -04:00
Aric Camarata
a20f4d62c4 chore: CR/QA polish for v1.0.0 release
Fix documentation style (no em dashes). Update hijri-core devDep
from file: path to ^1.0.0. Add wiki-sync workflow permissions.
Tighten CalendarEngine interface usage; correct month range docs
to 1318-1500 AH throughout.
2026-02-25 15:11:28 -05:00
Aric Camarata
51e07a65b3 feat: initial release of temporal-hijri v1.0.0
Temporal Calendar Protocol implementation for Hijri calendar via hijri-core.
Provides HijriCalendar base class, UaqCalendar (UAQ engine), FcnaCalendar
(FCNA engine), and convenience singletons uaqCalendar/fcnaCalendar.

Calendar protocol: year, month, monthCode, day, daysInMonth, daysInYear,
monthsInYear, inLeapYear, dayOfWeek, dayOfYear, weekOfYear, daysInWeek,
dateFromFields, yearMonthFromFields, monthDayFromFields, dateAdd,
dateUntil, mergeFields.

dateAdd applies year/month increments in Hijri coordinate space (correct
semantics for variable-length lunar months), then applies days/weeks in
ISO space. Day-of-month clamped on month boundary changes. 18 ESM + 8 CJS
tests passing. Dual CJS/ESM build.
2026-02-25 14:17:27 -05:00