feat(KB-029): add file browser for viewing and editing task files

- Add server-side file service with list, read, and write operations
- Add REST API endpoints for file operations with tests
- Add client-side API functions and React hooks for file browsing
- Create FileBrowser, FileEditor, and FileBrowserModal components
- Add CodeMirror 6 for syntax-highlighted file editing
- Integrate Files tab into TaskDetailModal
- Add comprehensive file browser styles and responsive design
This commit is contained in:
gsxdsm
2026-03-29 21:18:21 -07:00
parent 33bfe25536
commit 4b83c13ff7
19 changed files with 2896 additions and 2 deletions

View File

@@ -84,6 +84,24 @@ The dashboard includes a fully interactive shell terminal for executing commands
- Push current branch
- View operation results and error states
### File Browser
Browse and edit task worktree files directly from the task detail modal:
- **Files Tab**: Available when a task has a worktree assigned
- **File Tree**: Navigate directories with breadcrumb-style path display
- **Code Editor**: Edit files with syntax highlighting powered by CodeMirror 6
- Supports TypeScript, JavaScript, JSON, CSS, Markdown, and more
- One-dark theme matching the dashboard
- Auto-detects language from file extension
- **Safety Features**:
- Path traversal prevention (blocks `..` patterns)
- Binary file detection (prevents editing images, executables, etc.)
- 1MB file size limit
- Unsaved change indicators
- **Keyboard Shortcuts**:
- `Ctrl/Cmd+S` to save
- `Escape` to close
### Configuration
- **Settings Modal**: Configure scheduling, worktrees, build commands, merge preferences, notifications, and appearance
- **Notifications**: ntfy.sh integration for push notifications when tasks complete or fail