feat: initialize Nocal terminal calendar
This commit is contained in:
50
docs/ROADMAP.md
Normal file
50
docs/ROADMAP.md
Normal file
@@ -0,0 +1,50 @@
|
||||
# Roadmap
|
||||
|
||||
## Foundation — current milestone
|
||||
|
||||
- C++20 domain model and deterministic six-week month layout
|
||||
- Responsive, theme-native ANSI month view with keyboard navigation
|
||||
- Appointment focus, dense-day traversal, and full-frame detail reader
|
||||
- Validated add/edit/delete forms with confirmation and failure rollback
|
||||
- Guarded atomic `.ics` persistence, advisory locking, and round-trip tests
|
||||
- Bounded session undo/redo, exact external-change detection, and backup recovery
|
||||
- Meson build, Nix development shell, desktop entry, and Hyprland launcher
|
||||
- Seeded sample data when explicitly requested, never silent data mutation
|
||||
|
||||
## 0.1 — complete local calendar
|
||||
|
||||
- Recurrence rules, exclusions, time zones, multi-day presentation
|
||||
- Search, agenda view, calendar toggles, import/export, configurable week start
|
||||
- Screen-reader-friendly linear view and full Unicode display-width handling
|
||||
|
||||
## 0.2 — durable cache and provider boundary
|
||||
|
||||
- SQLite WAL cache and migration framework
|
||||
- Background job queue, immutable UI snapshots, observable sync status
|
||||
- Secret Service credentials and OAuth callback helper
|
||||
- Generic `SyncProvider` contract plus a fake provider test suite
|
||||
|
||||
## 0.3 — CalDAV
|
||||
|
||||
- Discovery and incremental sync for Nextcloud and standards-compliant servers
|
||||
- ETag-aware writes, offline mutation queue, conflict UI
|
||||
- TLS and failure-path integration tests
|
||||
|
||||
## 0.4 — hosted providers
|
||||
|
||||
- Google Calendar adapter with incremental synchronization
|
||||
- Microsoft 365 adapter over Microsoft Graph delta queries
|
||||
- Account/calendar management UI and per-calendar ANSI identity
|
||||
|
||||
## 1.0 — distribution quality
|
||||
|
||||
- Stable configuration/data format and documented recovery procedures
|
||||
- Nomarchy package, Hyprland defaults, man page, shell completions
|
||||
- Performance budgets exercised against large and adversarial calendars
|
||||
- Fuzzed iCalendar parser, accessibility review, translations
|
||||
|
||||
## Quality gates
|
||||
|
||||
Every milestone requires clean warning-enabled builds, unit and integration
|
||||
tests, sanitizer runs, terminal-state recovery after signals/errors, no network
|
||||
access without explicit account setup, and no loss of unknown calendar data.
|
||||
Reference in New Issue
Block a user