31 lines
1.5 KiB
Markdown
31 lines
1.5 KiB
Markdown
# GovOPlaN Calendar Codex Guide
|
|
|
|
## Scope
|
|
|
|
This repository owns the `calendar` module: calendar collections, VEVENT storage, iCalendar import/export, availability primitives, backend module manifest, and `@govoplan/calendar-webui`.
|
|
|
|
Core owns auth, tenants, RBAC, database/session primitives, shared WebUI shell/components, and module discovery. Calendar integrations with tasks, mail, scheduling, appointments, workflow, DMS, notifications, and external groupware must stay optional and use core module metadata or capability boundaries.
|
|
|
|
## Local Commands
|
|
|
|
Install and run through core:
|
|
|
|
```bash
|
|
cd /mnt/DATA/git/govoplan-core
|
|
./.venv/bin/python -m pip install -r requirements-dev.txt
|
|
```
|
|
|
|
Run focused calendar tests from the core environment:
|
|
|
|
```bash
|
|
cd /mnt/DATA/git/govoplan-core
|
|
PYTHONPATH=/mnt/DATA/git/govoplan-calendar/src:/mnt/DATA/git/govoplan-tenancy/src:/mnt/DATA/git/govoplan-access/src:/mnt/DATA/git/govoplan-core/src ./.venv/bin/python -m unittest discover -s /mnt/DATA/git/govoplan-calendar/tests
|
|
```
|
|
|
|
## Working Rules
|
|
|
|
- Keep calendar semantics in this module, not core.
|
|
- Preserve unknown iCalendar properties and parameters unless a migration explicitly changes the storage model.
|
|
- Do not import optional modules directly from calendar. Use capabilities or API contracts for tasks, mail, scheduling, appointments, and external groupware.
|
|
- Treat recurrence expansion, free/busy, and CalDAV sync as calendar-owned primitives even when another module initiates them.
|