49 lines
1.7 KiB
Markdown
49 lines
1.7 KiB
Markdown
---
|
|
id: DIS-001
|
|
status: ready
|
|
phase: 0
|
|
priority: p0
|
|
labels: [phase:0, type:feat, priority:p0, security]
|
|
branch: phase-0/workspace-root-home
|
|
assignee: null
|
|
started: null
|
|
pr: null
|
|
merged: null
|
|
---
|
|
|
|
# DIS-001: Workspace-Root nach `~/.disclaw/workspaces/` verschieben
|
|
|
|
## Ziel
|
|
Workspaces werden standardmäßig unter `~/.disclaw/workspaces/<agent>/` (Linux/Mac) bzw.
|
|
`%USERPROFILE%\.disclaw\workspaces\<agent>\` (Windows) angelegt. Verhindert CLAUDE.md-Walk-Up-Leak.
|
|
|
|
## Kontext
|
|
Claude Code walkt beim Start Parent-Directories hoch und konkateniert alle gefundenen `CLAUDE.md`.
|
|
Liegt ein Workspace unter `disclaw/workspaces/`, erbt jeder Agent die DisClaw-Projekt-CLAUDE.md.
|
|
→ `docs/development-plan.md` §2.9, `docs/cli-feature-answers.md` Frage 8.
|
|
|
|
## Scope
|
|
- **In**: `disclaw.yaml` Default ändern · Tilde-Expansion in `src/config/loader.ts` · `new-agent.ts` legt Workspace unter resolvierten Root an · Warning-Log wenn Root innerhalb Repo · README-Migrationshinweis
|
|
- **Out**: Automatische Migration bestehender Workspaces · `--bare`-Flags (DIS-004)
|
|
|
|
## Definition of Done
|
|
- [ ] `disclaw.yaml` Default ist `workspaces_root: "~/.disclaw/workspaces"`
|
|
- [ ] `src/config/loader.ts` expandiert `~` auf Linux/Mac/Windows korrekt
|
|
- [ ] `new-agent` legt Workspace unter dem neuen Root an, DB speichert absoluten Pfad
|
|
- [ ] Warning-Log feuert wenn Root innerhalb des Repos liegt
|
|
- [ ] Unit-Test `tests/unit/workspace-root-resolve.test.ts` grün
|
|
- [ ] README-Abschnitt „Migration bestehender Workspaces" vorhanden
|
|
- [ ] `npm run build && npm test` grün
|
|
|
|
## Dateien (erwartet)
|
|
- `disclaw.yaml`
|
|
- `src/config/loader.ts`
|
|
- `src/commands/new-agent.ts`
|
|
- `tests/unit/workspace-root-resolve.test.ts`
|
|
- `README.md`
|
|
|
|
## Abhängigkeiten
|
|
Keine.
|
|
|
|
## Spec
|
|
→ `docs/backlog.md` #DIS-001
|