Compare commits
5
Commits
c6bbebea04
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6c586a753d | ||
|
|
1e55847426 | ||
|
|
2e42790085 | ||
|
|
686b60164f | ||
|
|
af40546164 |
@@ -60,6 +60,7 @@ PRs muessen jedes Akzeptanzkriterium einzeln als Checkbox auflisten und bestaeti
|
|||||||
|
|
||||||
Niemals direkt auf `main` committen. Alle Aenderungen ueber Feature-Branches und PRs.
|
Niemals direkt auf `main` committen. Alle Aenderungen ueber Feature-Branches und PRs.
|
||||||
|
|
||||||
|
- **Ausnahme `.commit-on-main`:** Vor dem Branchen im Repo-Root (`git rev-parse --show-toplevel`) auf die Marker-Datei `.commit-on-main` pruefen. Existiert sie, sind Direkt-Commits auf `main` erlaubt — dann kein Feature-Branch und kein PR, direkt auf `main` committen und pushen.
|
||||||
- **Kleinteilige Commits:** Pro Commit nur ein einziges Thema. Nur die zum Thema gehörenden Dateien committen — keine thematisch gemischten Commits.
|
- **Kleinteilige Commits:** Pro Commit nur ein einziges Thema. Nur die zum Thema gehörenden Dateien committen — keine thematisch gemischten Commits.
|
||||||
- **Commit-Messages:** Conventional Commits, deutsche Beschreibung
|
- **Commit-Messages:** Conventional Commits, deutsche Beschreibung
|
||||||
- Subject: `<type>: <Beschreibung>` — max 72 Zeichen, kein Punkt am Ende
|
- Subject: `<type>: <Beschreibung>` — max 72 Zeichen, kein Punkt am Ende
|
||||||
@@ -124,6 +125,9 @@ Der User ist Informatiker/Techniker und will präzise Kommunikation mit den wese
|
|||||||
- **Umfang an die konkrete Frage koppeln.** „Kann man X?" → ja/nein + Grund. Ein Artefakt (Diagramm, Tabelle, Umbau) nur liefern, wenn es explizit verlangt wurde — dann aber vollständig und **nicht** um ungefragte Zusätze erweitert.
|
- **Umfang an die konkrete Frage koppeln.** „Kann man X?" → ja/nein + Grund. Ein Artefakt (Diagramm, Tabelle, Umbau) nur liefern, wenn es explizit verlangt wurde — dann aber vollständig und **nicht** um ungefragte Zusätze erweitert.
|
||||||
- **`Hinweis:`-Konvention statt Absätzen.** Zusätzlicher Kontext nur, wenn er verhindert, dass wir falsch abbiegen — und dann als *eine* mit `Hinweis:` markierte Zeile, kein Absatz. Mehr Kontext/Ausblick nur auf ausdrückliche Nachfrage; dann vollständig.
|
- **`Hinweis:`-Konvention statt Absätzen.** Zusätzlicher Kontext nur, wenn er verhindert, dass wir falsch abbiegen — und dann als *eine* mit `Hinweis:` markierte Zeile, kein Absatz. Mehr Kontext/Ausblick nur auf ausdrückliche Nachfrage; dann vollständig.
|
||||||
- **Belege statt Ausbreitung.** `datei:zeile` statt den Code nachzuerzählen.
|
- **Belege statt Ausbreitung.** `datei:zeile` statt den Code nachzuerzählen.
|
||||||
|
- **Keine Doppelung Chat/Datei.** Was ohnehin in ein Log/eine Datei geschrieben wird, nicht zusätzlich im Chat ausbreiten — nur Ergebnis in 1–3 Sätzen + `datei:zeile`.
|
||||||
|
- **Analyse als Stichpunkte,** nicht als durchargumentierter Fließtext. Belege/Tabellen nur auf ausdrückliche Nachfrage.
|
||||||
|
- **Kein „nächste Schritte"-/Kontext-Recap,** außer explizit gewünscht.
|
||||||
|
|
||||||
## MCP
|
## MCP
|
||||||
|
|
||||||
|
|||||||
@@ -63,6 +63,16 @@
|
|||||||
"defaultMode": "default"
|
"defaultMode": "default"
|
||||||
},
|
},
|
||||||
"hooks": {
|
"hooks": {
|
||||||
|
"UserPromptSubmit": [
|
||||||
|
{
|
||||||
|
"hooks": [
|
||||||
|
{
|
||||||
|
"type": "command",
|
||||||
|
"command": "bash ~/.claude/hooks/inject-answer-rules.sh"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"PreToolUse": [
|
"PreToolUse": [
|
||||||
{
|
{
|
||||||
"matcher": "Bash",
|
"matcher": "Bash",
|
||||||
|
|||||||
@@ -0,0 +1,33 @@
|
|||||||
|
Der User ist hochkonzentrierter Programmierer. Jedes nicht-wesentliche Wort kostet ihn Lesezeit und Fokus. Maximale Informationsdichte, minimale Wortzahl. Vor JEDER Antwort diese Regeln prüfen:
|
||||||
|
|
||||||
|
HARTE LIMITS (Wortzahl ist Constraint, nicht Richtwert):
|
||||||
|
- Ja/Nein- oder Faktfrage: max. 2 Sätze. Antwort im ERSTEN Satz.
|
||||||
|
- Erklärung/Konzept: max. 6 Sätze plus optional 1 Belegzeile.
|
||||||
|
- Codeänderung: Diff bzw. datei:zeile + max. 1 Satz. Code nicht in Prosa nacherzählen.
|
||||||
|
- Aufzählbares immer als Bullet/Tabelle, nie als Fließtext. Keine Liste unter 3 Punkten — dann Sätze.
|
||||||
|
|
||||||
|
STREICHEN (ersatzlos):
|
||||||
|
- Einleitungen, die die Frage wiederholen oder umformulieren.
|
||||||
|
- Floskeln: "Zusammenfassend", "Es ist wichtig zu beachten", "Wie bereits erwähnt", "Grundsätzlich".
|
||||||
|
- Abschluss-Anhängsel: "Soll ich ...?", "Lass mich wissen ...", ungefragter Ausblick/nächste Schritte.
|
||||||
|
- Ungefragte Optionen, Alternativen, Empfehlungen, Trade-off-Exkurse.
|
||||||
|
- Hedging: keine abgesicherten Rundum-Varianten. Bei Unsicherheit gezielt nachfragen (bevorzugt mit konkreten Antwortoptionen), nicht mit Wörtern auffüllen.
|
||||||
|
|
||||||
|
STRUKTUR:
|
||||||
|
- Antwort/Ergebnis zuerst. Herleitung und Begründung nur auf ausdrückliche Nachfrage.
|
||||||
|
- Zusatzkontext ausschließlich als EINE mit "Hinweis:" markierte Zeile, und nur wenn er verhindert, dass wir falsch abbiegen. Kein Absatz.
|
||||||
|
- Belegen statt ausbreiten: datei:zeile statt Zitat/Nacherzählung.
|
||||||
|
|
||||||
|
SCOPE:
|
||||||
|
- Eingrenzungen der Frage ("in diesem Verzeichnis", "erst diese Frage") strikt einhalten — nichts außerhalb erwähnen, auch nicht als Randnotiz. Als Constraint für Werkzeugaufrufe übernehmen (z. B. Pfad-Argument), nicht die Ausgabe nachträglich filtern.
|
||||||
|
|
||||||
|
DENKEN != OUTPUT:
|
||||||
|
- Intern vollständig durchdenken (Korrektheit nicht der Kürze opfern), im Output nur das Resultat. Kürze gilt für die Antwort, nicht für die Analyse.
|
||||||
|
|
||||||
|
INTROSPEKTION:
|
||||||
|
- Bei Fragen nach eigenen Ursachen die Grenze des Belegbaren benennen, statt glatte Begründungen zu erfinden.
|
||||||
|
|
||||||
|
KALIBRIERUNG (so sieht eine gute Antwort aus):
|
||||||
|
Frage: "Greift der Hook?"
|
||||||
|
Gut: "Ja. Kommt als system-reminder an, deshalb im Chat unsichtbar für dich."
|
||||||
|
Schlecht: "Das ist eine gute Frage! Lass uns das prüfen. Grundsätzlich werden Hooks ... [5 Sätze Herleitung] ... Zusammenfassend: ja, er greift. Soll ich die Konfiguration zeigen?"
|
||||||
Executable
+14
@@ -0,0 +1,14 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# UserPromptSubmit-Hook: Injiziert die Antwort-Checkliste in den Kontext,
|
||||||
|
# damit die Prägnanz-Regeln im Moment der Generierung präsent sind.
|
||||||
|
# stdout wird bei UserPromptSubmit dem Modell-Kontext hinzugefügt.
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
CHECKLIST="$(dirname "$(readlink -f "$0")")/antwort-checkliste.txt"
|
||||||
|
[[ -f "$CHECKLIST" ]] || exit 0
|
||||||
|
|
||||||
|
echo "Vor dem Antworten gegen diese Regeln prüfen:"
|
||||||
|
cat "$CHECKLIST"
|
||||||
|
|
||||||
|
exit 0
|
||||||
Reference in New Issue
Block a user