Implement typed template library and rendering

This commit is contained in:
2026-08-02 12:38:38 +02:00
parent 142c3a26f1
commit b65b905b6e
28 changed files with 4385 additions and 104 deletions
+25 -3
View File
@@ -8,9 +8,31 @@
contracts for GovOPlaN. It is intentionally separate from reporting, DMS/files,
mail delivery, forms runtime, and workflow state.
This repository is currently a tag-only scaffold. It should gain package
metadata and module manifests only after the first backend or WebUI slice is
designed.
The first operational slice provides:
- a scoped, versioned library for labels, label sheets, envelopes, serial and
form letters, list layouts, email, and generic templates;
- explicit usages, locales, required-field contracts, output profiles, and
compatibility diagnostics;
- safe deterministic HTML/text rendering from frozen caller-owned snapshots;
- immutable template/input/output hashes, renderer version, item/page counts,
diagnostics, and idempotent final-output evidence;
- optional managed artifact persistence through the Core Files contract, with
a bounded Templates download when Files is absent; and
- a full-height library/editor/preview WebUI using the shared rich-text editor.
The module has no hard dependency on its consumers or on Files.
## Development
```bash
cd /mnt/DATA/git/govoplan-templates
/mnt/DATA/git/govoplan/.venv/bin/python -m unittest discover -s tests
PATH=/mnt/DATA/git/govoplan-core/webui/node_modules/.bin:$PATH tsc -p webui/tsconfig.json --noEmit
```
See [docs/TEMPLATE_BOUNDARY.md](docs/TEMPLATE_BOUNDARY.md) for the boundary
decision.
User and administrator procedures are in [docs/USER_GUIDE.md](docs/USER_GUIDE.md)
and [docs/ADMIN_GUIDE.md](docs/ADMIN_GUIDE.md).