SHA256
Separation as Tool
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
# AGENTS — GCBoK.WebStaticBuilder
|
||||
|
||||
Guidelines für KI-Agenten, die an diesem Tool (nicht an der GCBoK-Website) arbeiten.
|
||||
|
||||
## Wesen des Projekts
|
||||
- Eigenständiger **Static-Site-Generator** (C# / .NET 10, kompilierte Konsolen-App, Assembly `webstatic`).
|
||||
- Früher: Submodul `OSS/build_webstatic` innerhalb der GCBoK-Website (`www/build/`).
|
||||
Seit 2026-07 eigenständiges OSS-Tool unter `/opt/GitCover/webstatic` (KMU-fähig).
|
||||
- **Kein Python.** Einzige externe Build-Abhängigkeit: `npx pagefind` (Suchindex, optional).
|
||||
- Lizenz: **MIT** (`LICENSE`).
|
||||
|
||||
## Build & Verify (kanonisch)
|
||||
```bash
|
||||
dotnet build -c Release # kompiliert src/ -> bin/Release/net10.0/webstatic.dll
|
||||
dotnet bin/Release/net10.0/webstatic.dll build --env work --verbose # Beispiel in webstatic.example/
|
||||
dotnet bin/Release/net10.0/webstatic.dll serve --port 8000 # lokale Vorschau
|
||||
```
|
||||
|
||||
## Konventionen
|
||||
- **Namespace:** `GCBoK.WebStaticBuilder` (jede `.cs` in `src/` deklariert ihn; `Program.cs` nutzt `using GCBoK.WebStaticBuilder;`).
|
||||
- **Packages:** `Markdig`, `YamlDotNet` (Versionen **explizit** gepinnt — CPM ist deaktiviert via `<ManagePackageVersionsCentrally>false</ManagePackageVersionsCentrally>`).
|
||||
- **Keine unversionierten `PackageReference`** (führt zu NU1015).
|
||||
- **Config-Priorität:** CLI-Flags > `webstatic.json` > eingebaute Defaults (`BuildConfig.Defaults()`).
|
||||
- **Pfade generisch:** nie hartkodiert auf `www/` — alles über `Directories` (aus `BuildConfig.Paths` relativ zum Site-Root).
|
||||
- **i18n:** UI-Texte über `{{ i18n.<bereich>.<key> }}` in Templates; Daten in `i18n.json`; Substitution via `I18n.cs` (Fallback Englisch).
|
||||
|
||||
## Verzeichnisstruktur
|
||||
`plans/` (Pläne), `docs/` (Anleitungen), `diary/` (Dev-Tagebuch), `src/` (Code),
|
||||
`tests/` (Tests), `webstatic.example/` (KMU-Vorlage), `install.sh`, `LICENSE`.
|
||||
|
||||
## Guardrails
|
||||
- Umlaute in Prosa verwenden (`ä ö ü ß`), nicht `ae/oe/ue`.
|
||||
- `§` (nicht ausgeschrieben) für Gesetzesparagraphen.
|
||||
- **Kein Commit ohne expliziten Wunsch.** Bei Release: signierte Commits.
|
||||
- `dist/`, `bin/`, `obj/`, `.translation-drafts/` sind gitignored.
|
||||
- Machine-Translation liefert nur **Entwürfe** (`.translation-drafts/`), nie Auto-Überschreibung.
|
||||
Reference in New Issue
Block a user