--- id: DIS-001 status: done phase: 0 priority: p0 labels: [phase:0, type:feat, priority:p0, security] branch: phase-0/workspace-root-home assignee: claude-agent started: null pr: null merged: 2026-04-08 --- # DIS-001: Workspace-Root nach `~/.disclaw/workspaces/` verschieben ## Ziel Workspaces werden standardmäßig unter `~/.disclaw/workspaces//` (Linux/Mac) bzw. `%USERPROFILE%\.disclaw\workspaces\\` (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