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

8.6 KiB

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

  1. 006-instance-session-tabs - Two-level tab navigation
  2. 007-message-display - Render user and assistant messages
  3. 008-sse-integration - Real-time message streaming
  4. 009-prompt-input-basic - Text input with send functionality
  5. 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

  1. 011-agent-model-selectors - Dropdown for agent/model switching
  2. 012-markdown-rendering - Proper markdown with code highlighting
  3. 013-logs-tab - View server logs
  4. 014-error-handling - Comprehensive error states and recovery
  5. 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

  1. 016-instance-tabs - Instance-level tab management
  2. 017-instance-state-persistence - Remember instances across restarts
  3. 018-child-session-handling - Auto-create tabs for child sessions
  4. 019-instance-lifecycle - Stop, restart, reconnect instances
  5. 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

  1. 021-slash-commands - Command palette with autocomplete
  2. 022-file-attachments - @ mention file picker
  3. 023-drag-drop-files - Drag files onto input
  4. 024-attachment-chips - Display and manage attachments
  5. 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

  1. 026-message-actions - Copy, edit, regenerate messages
  2. 027-search-in-session - Find text in conversation
  3. 028-session-management - Rename, share, export sessions
  4. 029-settings-ui - Preferences and configuration
  5. 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

  1. 031-system-tray - Background running with tray icon
  2. 032-notifications - Desktop notifications for events
  3. 033-auto-updater - In-app update mechanism
  4. 034-crash-reporting - Error reporting and recovery
  5. 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

  1. 036-virtual-scrolling - Handle 1000+ message sessions
  2. 037-message-search-advanced - Full-text search across sessions
  3. 038-workspace-management - Save/load workspace configurations
  4. 039-theme-customization - Custom themes and UI tweaks
  5. 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