feat(KB-502): implement dashboard multi-project UX

- Add project selector, health badge, and overview components to dashboard
- Add multi-project API functions (api.ts) for cross-project operations
- Update App.tsx with project context and navigation improvements
- Add script-store.ts for centralized project script management
- Extend types with multi-project support: SetupState, MigrationOptions, etc.
- Add project runtime fields: baseCommitSha, modifiedFiles, missionId, sliceId
- Add setupComplete to global settings for first-run wizard tracking
- Add project-level settings: scripts, setupScript, ntfyDashboardHost
- Add backward-compatible addSteeringComment method to TaskStore
This commit is contained in:
gsxdsm
2026-04-01 16:41:11 -07:00
parent db18a5af6d
commit cd165f0bd3
9 changed files with 647 additions and 94 deletions

View File

@@ -4,12 +4,10 @@
Add multi-project UX with overview page, drill-down, and setup wizard
- New Project Overview page showing all registered projects in a responsive grid with health metrics
- Project selector dropdown in header for quick context switching (appears when 2+ projects)
- Project drill-down into per-project task views with back navigation to overview
- Setup wizard for first-run project registration with auto-detection and manual entry flows
- Global activity feed with project attribution badges when viewing all projects
- Project health polling with active tasks, running agents, and completion counts
- Empty states and loading skeletons for better UX during data fetching
- Keyboard navigation support in project selector (arrow keys, enter, escape)
- LocalStorage persistence for wizard state (resume capability) and view preferences
- New Project Overview page showing all registered projects
- Project selector in header for switching contexts
- Project drill-down into per-project task views
- Setup wizard for first-run project registration
- Global activity feed with project attribution
- Added project management API routes (detect, register, update, etc.)
- Fixed App.tsx variable ordering issues