Merge commit 'cfaf67010017eab368216aded483a64126dbcb2e' as 'bahn/wissensdatenbank'
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
# Changelog & Versionierung (verbindlich)
|
||||
|
||||
Diese Regel steuert, **wann und wie** `CHANGELOG.md` und `VERSION` zu pflegen sind.
|
||||
Sie gilt fuer jede Code-/Config-/Doku-Aenderung in diesem Repo.
|
||||
|
||||
## Single Source of Truth
|
||||
- **`VERSION`** (Repo-Root): genau eine Zeile, `MAJOR.MINOR.PATCH` (SemVer).
|
||||
- **`CHANGELOG.md`** (Repo-Root): Format „Keep a Changelog". Oben steht immer ein
|
||||
Abschnitt `## [Unreleased]`.
|
||||
- Die GitLab-Pages-Seite **„Changelog"** (`changelog.html`) wird aus `CHANGELOG.md`
|
||||
erzeugt; `src/site.py` zeigt die `VERSION` in der Navigation an. Beides wird beim
|
||||
Pages-Build automatisch aktuell – **es ist also keine HTML-Datei von Hand zu pflegen**,
|
||||
nur `CHANGELOG.md` und `VERSION`.
|
||||
|
||||
## Bei JEDER inhaltlichen Aenderung (vor dem Commit)
|
||||
Trage einen kurzen, nutzerverstaendlichen Eintrag unter `## [Unreleased]` ein,
|
||||
gruppiert in **Added** / **Changed** / **Fixed** (bei Bedarf **Removed**):
|
||||
|
||||
```
|
||||
## [Unreleased]
|
||||
### Added
|
||||
- <was neu ist>
|
||||
### Fixed
|
||||
- <was korrigiert wurde>
|
||||
```
|
||||
|
||||
Reine interne Nebensaechlichkeiten (Tippfehler in Kommentaren o.ae.) muessen nicht
|
||||
ins Changelog.
|
||||
|
||||
## Beim Abschluss eines Merge Requests (Release schneiden)
|
||||
Wenn ein MR gemergt werden soll und `[Unreleased]` Eintraege enthaelt:
|
||||
|
||||
1. **Version bestimmen** (SemVer, ausgehend vom aktuellen `VERSION`):
|
||||
- **MAJOR** +1: inkompatible Aenderung an Datenmodell/Frontmatter/Output-Struktur
|
||||
(`output/processed/<scope>/<domaene>`), an Strategien-Semantik oder Pipeline-Verhalten.
|
||||
- **MINOR** +1: neue Strategie/Quelle/Funktion/Seite, abwaertskompatibel.
|
||||
- **PATCH** +1: Bugfix, Doku, kleine Korrektur.
|
||||
2. **`VERSION`** auf die neue Nummer setzen.
|
||||
3. In `CHANGELOG.md` den Block `## [Unreleased]` in `## [X.Y.Z] - JJJJ-MM-TT`
|
||||
umbenennen (Datum = heute) und **einen neuen leeren `## [Unreleased]`** darueber anlegen.
|
||||
4. Commit-Message: `chore(release): vX.Y.Z`.
|
||||
|
||||
## Hinweise
|
||||
- Im Zweifel die kleinere Erhoehung waehlen (lieber MINOR als MAJOR), aber
|
||||
inkompatible Aenderungen ehrlich als MAJOR markieren.
|
||||
- Den automatischen Daten-Commit des Bots (`chore(data): ...`) NICHT versionieren –
|
||||
er aendert nur `data/`, nicht Code/Verhalten.
|
||||
- Wird die Output-/Frontmatter-Struktur geaendert, zusaetzlich `.kiro/steering/architecture.md`,
|
||||
`README.md` und Tests anpassen (siehe AGENTS.md).
|
||||
Reference in New Issue
Block a user