Files
calendar-tools/public/README.md
T
2026-09-01 13:04:50 +02:00

1.5 KiB

Calendar Tools

Inspect, repair, and reconcile calendars locally in the browser.

Calendar Tools is a standalone local-first application in the add·ideas Toolbox. Inputs are processed in the browser and are not uploaded.

Version 0.1 scope

  • RFC 5545 parsing and inspection for events, recurrence, attendees, calendar metadata, and embedded VTIMEZONE definitions
  • Bounded RRULE/RDATE/EXDATE occurrence preview and overlap/duplicate diagnostics
  • Merge and deduplication by UID plus RECURRENCE-ID, preferring SEQUENCE and then DTSTAMP
  • Conservative canonical repair: BOM/NUL removal, CRLF serialization, VERSION and PRODID normalization
  • Browser-IANA timezone offset/transition reports and explicit DST gap/overlap classification
  • Relocatable offline PWA, local-only processing, and deterministic release packaging

Input is limited to 4 MiB, 100,000 physical lines, 10,000 components, and 5,000 events. Recurrence is limited to 500 occurrences per series, a 3,650-day horizon, and 5,000 displayed occurrences. See docs/ARCHITECTURE.md and docs/PRIVACY-SECURITY.md.

Development

Requires Node.js 22 and npm 11.

npm ci
npm run check
npm run test:browser

Release

npm run release:artifact creates a deterministic release/calendar-tools-0.1.0.zip and checksum sidecar.

Licence

GPL-3.0-or-later. Runtime dependencies retain their own licences; see THIRD_PARTY_NOTICES.md.