tooling: make .junie/.gemini docs-first (remove legacy guidelines)
This commit is contained in:
Regular → Executable
+28
-28
@@ -1,43 +1,43 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# check-docs-drift.sh
|
||||
# Zweck: sehr schlanke Drift-Checks gegen die neue Doku-Struktur.
|
||||
# - Kein Guidelines-System mehr.
|
||||
# - Single Source of Truth: `docs/`
|
||||
|
||||
err=0
|
||||
|
||||
has() { grep -q "$2" "$1" || { echo "[DRIFT] '$2' fehlt in $1"; err=1; }; }
|
||||
miss() { grep -q "$2" "$1" && { echo "[DRIFT] Veralteter Begriff '$2' in $1"; err=1; }; }
|
||||
|
||||
# Quelle der Wahrheit: Spring Cloud Gateway
|
||||
has docs/overview/system-overview.md "Spring Cloud Gateway"
|
||||
has docs/architecture/adr/0007-api-gateway-pattern-de.md "Spring Cloud Gateway"
|
||||
miss docs/architecture/adr/0007-api-gateway-pattern-de.md "Ktor"
|
||||
|
||||
# C4: Container muss Technology korrekt führen
|
||||
has docs/architecture/c4/02-container-de.puml "Spring Cloud Gateway"
|
||||
miss docs/architecture/c4/02-container-de.puml "Ktor"
|
||||
|
||||
# Verbiete versehentlich verbliebene englische ADR/C4 ohne -de
|
||||
if ls docs/architecture/adr/*.md 2>/dev/null | grep -E -v '-de\.md$' >/dev/null; then
|
||||
echo "[DRIFT] Englische ADR-Dateien ohne -de gefunden in docs/architecture/adr/"
|
||||
ls docs/architecture/adr/*.md | grep -E -v '-de\.md$' || true
|
||||
# Harte Altlast-Pfade dürfen nicht mehr vorkommen
|
||||
if git grep -n "docs/00_Domain/" -- docs >/dev/null 2>&1; then
|
||||
echo "[DRIFT] Veralteter Pfad 'docs/00_Domain/' in docs/* gefunden"
|
||||
err=1
|
||||
fi
|
||||
if ls docs/architecture/c4/*.puml 2>/dev/null | grep -E -v '-de\.puml$' >/dev/null; then
|
||||
echo "[DRIFT] Englische C4-Dateien ohne -de gefunden in docs/architecture/c4/"
|
||||
ls docs/architecture/c4/*.puml | grep -E -v '-de\.puml$' || true
|
||||
if git grep -n "docs/adr/" -- docs >/dev/null 2>&1; then
|
||||
echo "[DRIFT] Veralteter Pfad 'docs/adr/' in docs/* gefunden"
|
||||
err=1
|
||||
fi
|
||||
if git grep -n "docs/c4/" -- docs >/dev/null 2>&1; then
|
||||
echo "[DRIFT] Veralteter Pfad 'docs/c4/' in docs/* gefunden"
|
||||
err=1
|
||||
fi
|
||||
if git grep -n "docs/how-to/" -- docs >/dev/null 2>&1; then
|
||||
echo "[DRIFT] Veralteter Pfad 'docs/how-to/' in docs/* gefunden"
|
||||
err=1
|
||||
fi
|
||||
if git grep -n "docs/reference/" -- docs >/dev/null 2>&1; then
|
||||
echo "[DRIFT] Veralteter Pfad 'docs/reference/' in docs/* gefunden"
|
||||
err=1
|
||||
fi
|
||||
|
||||
# ADR-Stubs: max. 40 Zeilen und YouTrack-Link Pflicht, wenn als Stub gekennzeichnet
|
||||
for f in $(grep -RIl "^doc_type: adr-link" docs/architecture/adr 2>/dev/null || true); do
|
||||
lines=$(wc -l < "$f" | tr -d ' ')
|
||||
if [ "${lines}" -gt 40 ]; then
|
||||
echo "[DRIFT] ADR-Stub überschreitet 40 Zeilen: $f (${lines})"
|
||||
err=1
|
||||
fi
|
||||
if ! grep -Eiq "https?://[^ ]*youtrack" "$f"; then
|
||||
echo "[DRIFT] ADR-Stub ohne YouTrack-Link: $f"
|
||||
err=1
|
||||
fi
|
||||
done
|
||||
# Quelle der Wahrheit: Gateway-Technologie (sollte in Architektur/ADRs/C4 konsistent sein)
|
||||
has docs/01_Architecture/ARCHITECTURE.md "Spring Cloud Gateway"
|
||||
has docs/01_Architecture/adr/0007-api-gateway-pattern-de.md "Spring Cloud Gateway"
|
||||
miss docs/01_Architecture/adr/0007-api-gateway-pattern-de.md "Ktor"
|
||||
has docs/01_Architecture/c4/02-container-de.puml "Spring Cloud Gateway"
|
||||
miss docs/01_Architecture/c4/02-container-de.puml "Ktor"
|
||||
|
||||
exit $err
|
||||
|
||||
Reference in New Issue
Block a user