init
This commit is contained in:
65
phase0/prompt-einheiten.md
Normal file
65
phase0/prompt-einheiten.md
Normal file
@@ -0,0 +1,65 @@
|
||||
# Auftrag: Quelldatei in Einheiten zerlegen
|
||||
|
||||
Du bekommst unten den vollständigen Inhalt der Datei `<DATEI>` aus einem
|
||||
Python-Projekt. Zerlege sie in **Einheiten** und gib GENAU EINE Markdown-Datei im
|
||||
unten definierten Format zurück — nichts davor, nichts danach, keine Code-Fences
|
||||
um das Gesamtergebnis.
|
||||
|
||||
## Was ist eine Einheit
|
||||
|
||||
Das Kleinste mit **eigener Verantwortung**, das sich in einem Satz beschreiben lässt —
|
||||
meist eine Funktion oder Klasse; mehrere kleine, zusammengehörige Symbole dürfen eine
|
||||
Einheit bilden. Jede Funktion/Klasse der Datei gehört zu genau einer Einheit (MECE).
|
||||
Modul-Konstanten und Imports darfst du unzugeordnet lassen.
|
||||
|
||||
## Ausgabeformat (exakt einhalten)
|
||||
|
||||
```
|
||||
# Einheiten: <DATEI>
|
||||
stand: UNBEKANNT
|
||||
|
||||
## <DATEI>::<hauptsymbol>
|
||||
beschreibung: <genau ein Satz: die Verantwortung der Einheit, ohne „und"-Aufzählung>
|
||||
input: <was die Einheit entgegennimmt — Parameter/Quellen, eine knappe Zeile>
|
||||
output: <was sie liefert bzw. bewirkt — Rückgabe/Effekt, eine knappe Zeile>
|
||||
entscheidungen:
|
||||
- <kurzer Satz: eine im Code getroffene Design-Entscheidung oder Garantie>
|
||||
beleg: "<kurzes WÖRTLICHES Zitat aus der Datei, das sie stützt>"
|
||||
- <weitere Entscheidungen nach demselben Muster>
|
||||
kanten:
|
||||
- ruft-auf: <einheiten-id>
|
||||
- nutzt: <einheiten-id>
|
||||
- wird-genutzt-von: <einheiten-id>
|
||||
```
|
||||
|
||||
Regeln:
|
||||
- Einheiten-ID = `<DATEI>::<symbolname>` (bei gebündelten Symbolen: das
|
||||
Hauptsymbol als ID, zusätzliche Symbole je als Zeile `anker: <DATEI>::<symbol>`
|
||||
direkt unter der Überschrift).
|
||||
- `beschreibung:` ist genau EIN Satz und beschreibt EINE Aufgabe — keine
|
||||
„und"-Aufzählungen.
|
||||
- `input:` und `output:` sind Pflicht: je EINE knappe Zeile (was geht rein, was kommt
|
||||
raus bzw. welcher Effekt tritt ein). Bei Klassen: was sie zum Bau braucht / was sie
|
||||
bereitstellt. Keine Prosa.
|
||||
- 2–5 Entscheidungen je Einheit: kurze Sätze über im Code getroffene Design-
|
||||
Entscheidungen und Garantien (was ist zugesichert, was wurde bewusst so gebaut) —
|
||||
KEIN Nacherzählen der Implementierung. Jede Entscheidung gehört zu der Einheit, in
|
||||
deren Code-Körper der Beleg steht (Modul-Ebene nicht einer Klasse zuschlagen).
|
||||
- Jede Entscheidung hat GENAU EINE `beleg:`-Zeile. Das Zitat muss WÖRTLICH (Zeichen für
|
||||
Zeichen, inkl. Klammern und Unterstrichen) in der Datei vorkommen und ein
|
||||
zusammenhängender Ausschnitt aus GENAU EINER Quellzeile sein — NIEMALS mehrere
|
||||
Zeilen zu einer zusammenziehen (kein `if x: return y`, wenn das `return` in der
|
||||
nächsten Zeile steht; zitiere dann nur `if x:` oder nur `return y`). Max. ~60 Zeichen.
|
||||
- Kanten-Typen nur: `ruft-auf`, `nutzt`, `wird-genutzt-von`, `löst-aus`, `wird-ausgelöst-von`.
|
||||
Hinter dem Ziel steht NICHTS mehr — kein Kommentar, keine Klammern. Richtungen:
|
||||
`ruft-auf`/`nutzt` = diese Einheit verwendet das Ziel in ihrem Code-Körper;
|
||||
`wird-genutzt-von` = das Ziel verwendet diese Einheit in SEINEM Code-Körper.
|
||||
Ziele innerhalb der Datei: `<DATEI>::<symbol>`. Ziele in anderen Modulen
|
||||
(aus den Imports ableitbar): `backend/<modul>.py::<symbol>`, z. B. nutzt die Datei
|
||||
`db.kanban_pull` → `backend/database.py::kanban_pull`.
|
||||
- Keine Kante erfinden, die nicht im Code steht. Lieber weniger Kanten als falsche.
|
||||
- Schreibe auf Deutsch.
|
||||
|
||||
## Quelldatei `<DATEI>`
|
||||
|
||||
<QUELLE>
|
||||
Reference in New Issue
Block a user