init: KALINA CI 1.0.0 - Marke, Satzvorlage, Vorlagen, Stempel, CLI

Zusammenfuehrung der bisher verstreuten CI (Markendoku + Open-WebUI-Skill) in ein
versioniertes Repository. Neu: tools/kalina-pdf (build/stamp/check/tokens),
tokens.json, docs/aenderungen.md als verbindlicher Aenderungsweg.
This commit is contained in:
mm committed 2026-10-23 10:39:30 +02:00
commit db3725da4d
21 files changed
+1450

No files matched your search

+66
View File
@@ -0,0 +1,66 @@
# KALINA CI
Corporate Identity der KALINA als versioniertes Artefakt: eine Satzvorlage (CSS),
drei Dokumentvorlagen, die Marke als SVG, ein Stempel-Skript für fremde PDFs und eine
CLI, die alle drei Wege bedient. **Ein Dokument, das nach KALINA aussehen soll, nimmt
diese Dateien — keine nachgebauten Farben, kein selbst gezeichnetes Logo.**
```
css/kalina-ci.css Satzvorlage: @page A4, Kopfleiste, Tabellen, Plakette, Fußlinie
templates/ report.html · page.html · bild-mit-prompt.html
assets/ kalina-mark.svg · kalina-wordmark.svg · kalina-logo-combined.svg · favicon/
scripts/stamp_existing_pdf.py fremdes PDF mit Deckblatt/Marke/Fußzeile versehen
tools/kalina-pdf CLI: build · stamp · check · tokens
tokens.json Farben, Schriften, Geometrie, Zonen (maschinenlesbar)
SKILL.md Einstiegspunkt für Agenten (Frontmatter + Regeln + Fallen)
docs/aenderungen.md der verbindliche Änderungsweg
```
## Schnellstart
```bash
git clone <dieses-repo> kalina-ci && cd kalina-ci
cp templates/report.html bericht.html # «Platzhalter» füllen
tools/kalina-pdf build bericht.html --stamp --titel "Angebot 2026-17"
tools/kalina-pdf stamp fremd.pdf -o fremd-kalina.pdf --titel "Rechnung 4711"
tools/kalina-pdf check bericht.pdf --raster raster/
```
Voraussetzungen: `weasyprint` (Layout), `pymupdf` (Messung/Raster),
`matplotlib` + `pypdf` (Stempel), `pdftoppm` optional für Sichtprüfung.
## Farben
Ink `#0B0F14` · Bone `#F5F5EF` · Kalina-Rot `#C1121F` · Steel `#3A4250` · Muted `#8A94A2`
## Wie Agenten das nutzen
Zwei Wege, gleicher Inhalt:
1. **Als Skill importiert** (Paperclip: `POST /api/companies/<id>/skills/import` mit
`{"source": "<URL dieses Repos>"}`). Der Import liest `SKILL.md` und alle Dateien
darunter, hält `ref` und `trackingRef` fest und meldet Aktualisierungen über
`update-status`.
2. **Als Arbeitskopie** (Hermes, Skripte, Cron): Repo klonen, `tools/kalina-pdf` aus
der Kopie aufrufen. Die CLI findet CSS, Vorlagen und Stempel relativ zu sich selbst.
## Zugriff
Das Repo ist **öffentlich lesbar** — nicht aus Bequemlichkeit: der Skill-Import der
Paperclip-Instanz holt Bäume und Rohdateien **ohne** Authentifizierung, ein privates
Repo wäre dort nicht importierbar. Deshalb gilt die Inhaltsregel:
> Keine internen Hostnamen, keine IP-Adressen, keine Zugangsschlüssel, keine
> Kundeninhalte. Interne Verdrahtung gehört in die jeweilige Betriebsdoku, nicht hierher.
Schreibzugriff haben `mm` (Owner) und das Agenten-Konto `kalina` (Collaborator,
`write`). Weitere Agenten werden als Collaborator mit `write` aufgenommen — die CI ist
kein Diskussionsgegenstand, sondern eine Vorlage, die Agenten anwenden.
## Änderungen
Nicht ad hoc. Der Weg steht in [`docs/aenderungen.md`](docs/aenderungen.md):
Issue im Repo → Branch `ci/<thema>` → PR → Review → Merge → `CHANGELOG.md` ergänzen.
Wer die CI in einem Projekt „schnell anders" braucht, ändert das Projekt, nicht die CI.