disclaw/tasks/DIS-107.md

45 lines
1.3 KiB
Markdown

---
id: DIS-107
status: backlog
phase: 1
priority: p1
labels: [phase:1, type:feat, priority:p1]
branch: phase-1/zod-schemas
assignee: null
started: null
pr: null
merged: null
---
# DIS-107: Zod-Schemas für Config, `agent.yaml`, CLI-JSON-Output
## Ziel
Alle externen Daten (Config-Datei, `agent.yaml`, Claude-CLI-JSON-Output) werden via Zod validiert.
Frühzeitige, verständliche Fehlermeldungen bei fehlerhafter Konfiguration.
## Kontext
`docs/development-plan.md` §3 (Zod als Dependency), Phase 1 Task 7.
## Scope
- **In**: `src/config/schema.ts` (DisClaw-Config-Schema) · `src/agent/schema.ts` (`agent.yaml` + CLI-Output-Schema) · `src/config/loader.ts` + `identity.ts` nutzen Schemas · `zod` in `dependencies`
- **Out**: Zod-Transforms für DB-Queries (separate Issue)
## Definition of Done
- [ ] Alle externen Dateneingaben gehen durch Zod-Parse
- [ ] Ungültige `disclaw.yaml` → verständliche Fehlermeldung mit Feldname und erwartetem Typ
- [ ] Unit-Test `tests/unit/schemas.test.ts` für jeden Schema-Typ (valid + invalid cases)
- [ ] `npm run build && npm test` grün
## Dateien (erwartet)
- `src/config/schema.ts`
- `src/agent/schema.ts`
- `src/config/loader.ts`
- `src/agent/identity.ts`
- `package.json`
- `tests/unit/schemas.test.ts`
## Abhängigkeiten
Blockiert durch: **DIS-101**.
## Spec
`docs/backlog.md` #DIS-107