Restored from origin/main (b4663fb): - .github/ workflows and issue templates - .gitignore (proper exclusions) - .opencode/agent/web_developer.md - AGENTS.md, BUILD.md, PROGRESS.md - dev-docs/ (9 architecture/implementation docs) - docs/screenshots/ (4 UI screenshots) - images/ (CodeNomad icons) - package-lock.json (dependency lockfile) - tasks/ (25+ project task files) Also restored original source files that were modified: - packages/ui/src/App.tsx - packages/ui/src/lib/logger.ts - packages/ui/src/stores/instances.ts - packages/server/src/server/routes/workspaces.ts - packages/server/src/workspaces/manager.ts - packages/server/src/workspaces/runtime.ts - packages/server/package.json Kept new additions: - Install-*.bat/.sh (enhanced installers) - Launch-*.bat/.sh (new launchers) - README.md (SEO optimized with GLM 4.7)
178 lines
4.6 KiB
Markdown
178 lines
4.6 KiB
Markdown
# Task Management
|
|
|
|
This directory contains the task breakdown for building CodeNomad.
|
|
|
|
## Structure
|
|
|
|
- `todo/` - Tasks waiting to be worked on
|
|
- `done/` - Completed tasks (moved from todo/)
|
|
|
|
## Task Naming Convention
|
|
|
|
Tasks are numbered sequentially with a descriptive name:
|
|
|
|
```
|
|
001-project-setup.md
|
|
002-empty-state-ui.md
|
|
003-process-manager.md
|
|
...
|
|
```
|
|
|
|
## Task Format
|
|
|
|
Each task file contains:
|
|
|
|
1. **Goal** - What this task achieves
|
|
2. **Prerequisites** - What must be done first
|
|
3. **Acceptance Criteria** - Checklist of requirements
|
|
4. **Steps** - Detailed implementation guide
|
|
5. **Testing Checklist** - How to verify completion
|
|
6. **Dependencies** - What blocks/is blocked by this task
|
|
7. **Estimated Time** - Rough time estimate
|
|
8. **Notes** - Additional context
|
|
|
|
## Workflow
|
|
|
|
### Starting a Task
|
|
|
|
1. Read the task file thoroughly
|
|
2. Ensure prerequisites are met
|
|
3. Check dependencies are complete
|
|
4. Create a feature branch: `feature/task-XXX-name`
|
|
|
|
### Working on a Task
|
|
|
|
1. Follow steps in order
|
|
2. Check off acceptance criteria as you complete them
|
|
3. Run tests frequently
|
|
4. Commit regularly with descriptive messages
|
|
|
|
### Completing a Task
|
|
|
|
1. Verify all acceptance criteria met
|
|
2. Run full testing checklist
|
|
3. Update task file with any notes/changes
|
|
4. Move task from `todo/` to `done/`
|
|
5. Create PR for review
|
|
|
|
## Current Tasks
|
|
|
|
### Phase 1: Foundation (Tasks 001-005)
|
|
|
|
- [x] 001 - Project Setup
|
|
- [x] 002 - Empty State UI
|
|
- [x] 003 - Process Manager
|
|
- [x] 004 - SDK Integration
|
|
- [x] 005 - Session Picker Modal
|
|
|
|
### Phase 2: Core Chat (Tasks 006-010)
|
|
|
|
- [x] 006 - Instance & Session Tabs
|
|
- [x] 007 - Message Display
|
|
- [x] 008 - SSE Integration
|
|
- [x] 009 - Prompt Input (Basic)
|
|
- [x] 010 - Tool Call Rendering
|
|
|
|
### Phase 3: Essential Features (Tasks 011-015)
|
|
|
|
- [x] 011 - Agent/Model Selectors
|
|
- [x] 012 - Markdown Rendering
|
|
- [x] 013 - Logs Tab
|
|
- [ ] 014 - Error Handling
|
|
- [ ] 015 - Keyboard Shortcuts
|
|
|
|
### Phase 4: Multi-Instance (Tasks 016-020)
|
|
|
|
- [ ] 016 - Instance Tabs
|
|
- [ ] 017 - Instance Persistence
|
|
- [ ] 018 - Child Session Handling
|
|
- [ ] 019 - Instance Lifecycle
|
|
- [ ] 020 - Multiple SDK Clients
|
|
|
|
### Phase 5: Advanced Input (Tasks 021-025)
|
|
|
|
- [ ] 021 - Slash Commands
|
|
- [ ] 022 - File Attachments
|
|
- [ ] 023 - Drag & Drop
|
|
- [ ] 024 - Attachment Chips
|
|
- [ ] 025 - Input History
|
|
|
|
### Phase 6: Polish (Tasks 026-030)
|
|
|
|
- [ ] 026 - Message Actions
|
|
- [ ] 027 - Search in Session
|
|
- [ ] 028 - Session Management
|
|
- [ ] 029 - Settings UI
|
|
- [ ] 030 - Native Menus
|
|
|
|
### Phase 7: System Integration (Tasks 031-035)
|
|
|
|
- [ ] 031 - System Tray
|
|
- [ ] 032 - Notifications
|
|
- [ ] 033 - Auto-updater
|
|
- [ ] 034 - Crash Reporting
|
|
- [ ] 035 - Performance Profiling
|
|
|
|
### Phase 8: Advanced (Tasks 036-040)
|
|
|
|
- [ ] 036 - Virtual Scrolling
|
|
- [ ] 037 - Advanced Search
|
|
- [ ] 038 - Workspace Management
|
|
- [ ] 039 - Theme Customization
|
|
- [ ] 040 - Plugin System
|
|
|
|
## Priority Levels
|
|
|
|
Tasks are prioritized as follows:
|
|
|
|
- **P0 (MVP)**: Must have for first release (Tasks 001-015)
|
|
- **P1 (Beta)**: Important for beta (Tasks 016-030)
|
|
- **P2 (v1.0)**: Should have for v1.0 (Tasks 031-035)
|
|
- **P3 (Future)**: Nice to have (Tasks 036-040)
|
|
|
|
## Dependencies Graph
|
|
|
|
```
|
|
001 (Setup)
|
|
├─ 002 (Empty State)
|
|
│ └─ 003 (Process Manager)
|
|
│ └─ 004 (SDK Integration)
|
|
│ └─ 005 (Session Picker)
|
|
│ ├─ 006 (Tabs)
|
|
│ │ └─ 007 (Messages)
|
|
│ │ └─ 008 (SSE)
|
|
│ │ └─ 009 (Input)
|
|
│ │ └─ 010 (Tool Calls)
|
|
│ │ └─ 011-015 (Essential Features)
|
|
│ │ └─ 016-020 (Multi-Instance)
|
|
│ │ └─ 021-025 (Advanced Input)
|
|
│ │ └─ 026-030 (Polish)
|
|
│ │ └─ 031-035 (System)
|
|
│ │ └─ 036-040 (Advanced)
|
|
```
|
|
|
|
## Tips
|
|
|
|
- **Don't skip steps** - They're ordered for a reason
|
|
- **Test as you go** - Don't wait until the end
|
|
- **Keep tasks small** - Break down if >1 day of work
|
|
- **Document issues** - Note any blockers or problems
|
|
- **Ask questions** - If unclear, ask before proceeding
|
|
|
|
## Tracking Progress
|
|
|
|
Update this file as tasks complete:
|
|
|
|
- Change `[ ]` to `[x]` in the task list
|
|
- Move completed task files to `done/`
|
|
- Update build roadmap doc
|
|
|
|
## Getting Help
|
|
|
|
If stuck on a task:
|
|
|
|
1. Review prerequisites and dependencies
|
|
2. Check related documentation in `docs/`
|
|
3. Review similar patterns in existing code
|
|
4. Ask for clarification on unclear requirements
|