bollwerk/.github/prompts/autonomous.prompt.md
Jens Reinemann a27660fd4a feat(ui): add category and location management screens
Closes #25

ui/category/:
- CategoryListViewModel: StateFlow-based ViewModel with add/delete
  dialog state management, backed by CategoryRepository
- CategoryListScreen: Material 3 Scaffold with LazyColumn, FAB for
  adding, delete confirmation dialog with CASCADE warning

ui/location/:
- LocationListViewModel: same pattern for LocationRepository
- LocationListScreen: same UI pattern for location management

Tests:
- CategoryListViewModelTest: 11 tests covering init, add, delete,
  dialog state, blank name rejection
- LocationListViewModelTest: 11 tests (same coverage)

Dependencies:
- Added lifecycle-runtime-compose for collectAsStateWithLifecycle
- Added kotlinx-coroutines-test for ViewModel unit tests
2026-05-14 00:56:36 +02:00

71 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
description: "Autopilot Arbeitet alle offenen Tickets iterativ ab: ruft nextstep für jedes Ticket als Sub-Agent (Claude Opus 4.6) auf, committet nach jedem erfolgreichen Abschluss und stoppt wenn keine Tickets mehr vorhanden sind oder ein Fehler nicht behoben werden kann."
agent: agent
model: Claude Opus 4.6 (copilot)
tools: [read, edit, search, execute, agent, web, todo, browser, vscode]
---
# Autopilot
Führt das Ticket-Backlog vollautomatisch ab. Jeder Zyklus besteht aus drei Phasen:
1. Nächstes offenes Ticket ermitteln → kein Ticket: fertig
2. nextstep-Workflow als Sub-Agent (Claude Opus 4.6) ausführen
3. Bei Erfolg: committen → nächste Iteration
---
## Schritt 1 Nächstes Ticket prüfen
```powershell
& ".github/skills/gh-tickets/next-ticket.ps1"
```
- **Kein Ticket zurückgegeben:** Ausgabe `✅ Autopilot abgeschlossen keine offenen Tickets mehr.`**Stopp.**
- **Ticket vorhanden:** Ticket-Nummer und Typ merken → weiter mit Schritt 2.
---
## Schritt 2 nextstep als frischer Sub-Agent ausführen
Lies `.github/prompts/nextstep.prompt.md` vollständig.
> ⚠️ **Pflicht pro Iteration:** Für jedes Ticket muss ein **eigener, isolierter Sub-Agent** gestartet werden kein Kontext aus einer vorherigen Iteration darf übernommen werden. Der Sub-Agent startet jedes Mal mit leerem Zustand.
Starte einen **neuen Sub-Agent** (frische Instanz, kein geteilter Kontext) mit:
- **Modell:** `Claude Opus 4.6 (copilot)`
- **Aufgabe:** Den vollständigen nextstep-Workflow für das ermittelte Ticket aus Schritt 1 ausführen (Inhalt von `nextstep.prompt.md` als Prompt, Issue-Nummer als Parameter übergeben)
Warte auf die Rückmeldung des Sub-Agents und werte sie aus:
- **Workflow erfolgreich abgeschlossen** (Issue geschlossen, kein offener Fehler) → Weiter mit Schritt 3.
- **Nicht behebbarer Fehler aufgetreten** → Ausgabe:
```
❌ Autopilot gestoppt nicht behebbarer Fehler bei Issue #<N>.
Bitte manuell eingreifen.
```
**Stopp.**
---
## Schritt 3 Commit
Lies `.github/skills/git/SKILL.md`.
1. `git status` geänderte Dateien ermitteln.
2. Stage alle relevanten Änderungen mit `git add` (Build-Artefakte wie `build/`, `.gradle/` ausschließen).
3. Commit-Message im **Conventional Commits**-Format:
- Typ (`feat`, `fix`, `chore`, …) passend zum abgeschlossenen Ticket wählen
- Kurzbeschreibung ≤ 72 Zeichen, im Imperativ
- Body: Issue-Nummer referenzieren (`Closes #<N>`)
4. `git commit` ausführen.
5. Bestätigung ausgeben: Commit-Hash + Zusammenfassung.
---
## Schritt 4 Nächste Iteration
Wiederhole den Ablauf ab **Schritt 1**.
> Jede Wiederholung von Schritt 2 muss zwingend einen **neuen, unabhängigen Sub-Agent-Aufruf** erzeugen also einen separaten `runSubagent`-Call mit eigenem Kontext-Scope. Keinesfalls den Sub-Agent der vorherigen Iteration weiterverwenden oder dessen Kontext referenzieren.