Files
NomadArch/dev-docs/build-roadmap.md
Gemini AI 157449a9ad restore: recover deleted documentation, CI/CD, and infrastructure files
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)
2025-12-23 13:03:48 +04:00

392 lines
8.6 KiB
Markdown

# CodeNomad Build Roadmap
## Overview
This document outlines the phased approach to building the CodeNomad desktop application. Each phase builds incrementally on the previous, with clear deliverables and milestones.
**Status:** MVP (Phases 1-3) is complete. Focus now shifts to post-MVP phases starting with multi-instance support and advanced input refinements.
## MVP Scope (Phases 1-3)
The minimum viable product includes:
- Single instance management
- Session selection and creation
- Message display (streaming)
- Basic prompt input (text only)
- Agent/model selection
- Process lifecycle management
**Target: 3-4 weeks for MVP**
---
## Phase 1: Foundation (Week 1)
**Goal:** Running Electron app that can spawn OpenCode servers
### Tasks
1.**001-project-setup** - Electron + SolidJS + Vite boilerplate
2.**002-empty-state-ui** - Empty state UI with folder selection
3.**003-process-manager** - Spawn and manage OpenCode server processes
4.**004-sdk-integration** - Connect to server via SDK
5.**005-session-picker-modal** - Select/create session modal
### Deliverables
- App launches successfully
- Can select folder
- Server spawns automatically
- Session picker appears
- Can create/select session
### Success Criteria
- User can launch app → select folder → see session picker
- Server process runs in background
- Sessions fetch from API successfully
---
## Phase 2: Core Chat Interface (Week 2)
**Goal:** Display messages and send basic prompts
### Tasks
6. **006-instance-session-tabs** - Two-level tab navigation
7. **007-message-display** - Render user and assistant messages
8. **008-sse-integration** - Real-time message streaming
9. **009-prompt-input-basic** - Text input with send functionality
10. **010-tool-call-rendering** - Display tool executions inline
### Deliverables
- Tab navigation works
- Messages display correctly
- Real-time updates via SSE
- Can send text messages
- Tool calls show status
### Success Criteria
- User can type message → see response stream in real-time
- Tool executions visible and expandable
- Multiple sessions can be open simultaneously
---
## Phase 3: Essential Features (Week 3)
**Goal:** Feature parity with basic TUI functionality
### Tasks
11. **011-agent-model-selectors** - Dropdown for agent/model switching
12. **012-markdown-rendering** - Proper markdown with code highlighting
13. **013-logs-tab** - View server logs
14. **014-error-handling** - Comprehensive error states and recovery
15. **015-keyboard-shortcuts** - Essential keyboard navigation
### Deliverables
- Can switch agents and models
- Markdown renders beautifully
- Code blocks have syntax highlighting
- Server logs accessible
- Errors handled gracefully
- Cmd/Ctrl+N, K, L shortcuts work
### Success Criteria
- User experience matches TUI quality
- All error cases handled
- Keyboard-first navigation option available
---
## Phase 4: Multi-Instance Support (Week 4)
**Goal:** Work on multiple projects simultaneously
### Tasks
16. **016-instance-tabs** - Instance-level tab management
17. **017-instance-state-persistence** - Remember instances across restarts
18. **018-child-session-handling** - Auto-create tabs for child sessions
19. **019-instance-lifecycle** - Stop, restart, reconnect instances
20. **020-multiple-sdk-clients** - One SDK client per instance
### Deliverables
- Multiple instance tabs
- Persists across app restarts
- Child sessions appear as new tabs
- Can stop individual instances
- All instances work independently
### Success Criteria
- User can work on 3+ projects simultaneously
- App remembers state on restart
- No interference between instances
---
## Phase 5: Advanced Input (Week 5)
**Goal:** Full input capabilities matching TUI
### Tasks
21. **021-slash-commands** - Command palette with autocomplete
22. **022-file-attachments** - @ mention file picker
23. **023-drag-drop-files** - Drag files onto input
24. **024-attachment-chips** - Display and manage attachments
25. **025-input-history** - Up/down arrow message history
### Deliverables
- `/command` autocomplete works
- `@file` picker searches files
- Drag & drop attaches files
- Attachment chips removable
- Previous messages accessible
### Success Criteria
- Input feature parity with TUI
- File context easy to add
- Command discovery intuitive
---
## Phase 6: Polish & UX (Week 6)
**Goal:** Production-ready user experience
### Tasks
26. **026-message-actions** - Copy, edit, regenerate messages
27. **027-search-in-session** - Find text in conversation
28. **028-session-management** - Rename, share, export sessions
29. **029-settings-ui** - Preferences and configuration
30. **030-native-menus** - Platform-native menu bar
### Deliverables
- Message context menus
- Search within conversation
- Session CRUD operations
- Settings dialog
- Native File/Edit/View menus
### Success Criteria
- Feels polished and professional
- All common actions accessible
- Settings discoverable
---
## Phase 7: System Integration (Week 7)
**Goal:** Native desktop app features
### Tasks
31. **031-system-tray** - Background running with tray icon
32. **032-notifications** - Desktop notifications for events
33. **033-auto-updater** - In-app update mechanism
34. **034-crash-reporting** - Error reporting and recovery
35. **035-performance-profiling** - Optimize rendering and memory
### Deliverables
- Runs in background
- Notifications for session activity
- Auto-updates on launch
- Crash logs captured
- Smooth performance with large sessions
### Success Criteria
- App feels native to platform
- Updates seamlessly
- Crashes don't lose data
---
## Phase 8: Advanced Features (Week 8+)
**Goal:** Beyond MVP, power user features
### Tasks
36. **036-virtual-scrolling** - Handle 1000+ message sessions
37. **037-message-search-advanced** - Full-text search across sessions
38. **038-workspace-management** - Save/load workspace configurations
39. **039-theme-customization** - Custom themes and UI tweaks
40. **040-plugin-system** - Extension API for custom tools
### Deliverables
- Virtual scrolling for performance
- Cross-session search
- Workspace persistence
- Theme editor
- Plugin loader
### Success Criteria
- Handles massive sessions (5000+ messages)
- Can search entire project history
- Fully customizable
---
## Parallel Tracks
Some tasks can be worked on independently:
### Design Track
- Visual design refinements
- Icon creation
- Brand assets
- Marketing materials
### Documentation Track
- User guide
- Keyboard shortcuts reference
- Troubleshooting docs
- Video tutorials
### Infrastructure Track
- CI/CD pipeline
- Automated testing
- Release automation
- Analytics integration
---
## Release Strategy
### Alpha (After Phase 3)
- Internal testing only
- Frequent bugs expected
- Rapid iteration
### Beta (After Phase 6)
- Public beta program
- Feature complete
- Bug fixes and polish
### v1.0 (After Phase 7)
- Public release
- Stable and reliable
- Production-ready
### v1.x (Phase 8+)
- Regular feature updates
- Community-driven priorities
- Plugin ecosystem
---
## Success Metrics
### MVP Success
- 10 internal users daily
- Can complete full coding session
- <5 critical bugs
### Beta Success
- 100+ external users
- NPS >50
- <10 bugs per week
### v1.0 Success
- 1000+ users
- <1% crash rate
- Feature requests > bug reports
---
## Risk Mitigation
### Technical Risks
- **Process management complexity**
- Mitigation: Extensive testing, graceful degradation
- **SSE connection stability**
- Mitigation: Robust reconnection logic, offline mode
- **Performance with large sessions**
- Mitigation: NOT a concern for MVP - defer to Phase 8
- Accept slower performance initially, optimize later based on user feedback
### Product Risks
- **Feature creep**
- Mitigation: Strict MVP scope, user feedback prioritization
- **Over-optimization too early**
- Mitigation: Focus on functionality first, optimize in Phase 8
- Avoid premature performance optimization
- **Platform inconsistencies**
- Mitigation: Test on all platforms regularly
---
## Dependencies
### External
- OpenCode CLI availability
- OpenCode SDK stability
- Electron framework updates
### Internal
- Design assets
- Documentation
- Testing resources
---
## Milestone Checklist
### Pre-Alpha
- [ ] All Phase 1 tasks complete
- [ ] Can create instance and session
- [ ] Internal demo successful
### Alpha
- [ ] All Phase 2-3 tasks complete
- [ ] MVP feature complete
- [ ] 5+ internal users testing
### Beta
- [ ] All Phase 4-6 tasks complete
- [ ] Multi-instance stable
- [ ] 50+ external testers
### v1.0
- [ ] All Phase 7 tasks complete
- [ ] Documentation complete
- [ ] <5 known bugs
- [ ] Ready for public release