22
33# CodeFRAME
44
5- ![ Status] ( https://img.shields.io/badge/status-v2%20Phase%202 %20In%20Progress-blue )
5+ ![ Status] ( https://img.shields.io/badge/status-v2%20Phase%203 %20In%20Progress-blue )
66![ License] ( https://img.shields.io/badge/license-AGPL--3.0-blue )
77![ Python] ( https://img.shields.io/badge/python-3.11%2B-blue )
88![ Tests] ( https://img.shields.io/badge/tests-4285%20passing-brightgreen )
@@ -19,78 +19,78 @@ CodeFRAME is an autonomous AI development system where specialized agents collab
1919
2020Unlike traditional AI coding assistants that wait for your prompts, CodeFRAME agents work independently on tasks, ask questions when blocked, and coordinate with each other to ship complete features—day and night.
2121
22- ** Two modes of operation:**
22+ ** Three modes of operation:**
2323- ** CLI-first (v2)** — Complete Golden Path workflow from the command line, no server required
24- - ** Dashboard (v1)** — Real-time web UI with WebSocket updates for monitoring and interaction
24+ - ** Web Dashboard (v2)** — Next.js UI with workspace management, PRD discovery, and real-time SSE streaming
25+ - ** Dashboard (v1)** — Legacy web UI with WebSocket updates (reference only)
2526
2627---
2728
28- ## What's New (Updated: 2026-02-03 )
29+ ## What's New (Updated: 2026-02-05 )
2930
30- ### Phase 2: Server Layer In Progress
31+ ### Phase 3: Web UI Rebuild In Progress
3132
32- Phase 1 is complete! We're now building the server layer as a thin adapter over the CLI-first core:
33+ Phases 1 and 2 are complete! We're now rebuilding the web dashboard on the v2 foundation with Next.js, Shadcn/UI, and real-time SSE streaming.
3334
3435| Feature | Status | Issue |
3536| ---------| --------| -------|
36- | API key authentication for CLI & REST | ✅ Complete | # 326 |
37- | Rate limiting with slowapi | ✅ Complete | #327 |
38- | Server audit & v2 routes | ✅ Complete | #322 |
39- | Real-time events (SSE) | ✅ Complete | # 328 |
40- | OpenAPI documentation | ✅ Complete | # 119 |
41-
42- ### API Key Authentication
37+ | Phase 3 UI architecture & information design | ✅ Complete | — |
38+ | Workspace View with activity feed | ✅ Complete | #335 |
39+ | PRD View with document creation & discovery | ✅ Complete | #330 |
40+ | Task Board View | Planned | — |
41+ | Execution Monitor View | Planned | — |
42+ | Blocker Resolution View | Planned | — |
43+ | Review & Commit View | Planned | — |
4344
44- ** Programmatic access to CodeFRAME APIs ** with scope-based permissions.
45+ ### Workspace View
4546
46- ``` bash
47- # Create an API key
48- cf auth api-key-create --name " CI Pipeline" --user-id 1
47+ ** Project dashboard** — Select a workspace, view stats, and see recent activity at a glance.
4948
50- # List your API keys
51- cf auth api-key-list --user-id 1
49+ - ** Workspace Selector** — Initialize or connect to existing projects with tech stack auto-detection
50+ - ** Stats Cards** — Tech stack, task counts by status, active runs
51+ - ** Activity Feed** — Timeline of recent events (tasks completed, runs started, blockers raised)
52+ - ** Quick Actions** — One-click access to generate PRD, create tasks, and start execution
5253
53- # Revoke a key
54- cf auth api-key-revoke < key-id> --user-id 1 --yes
54+ ### PRD View
5555
56- # Rotate a key (generates new key, same permissions)
57- cf auth api-key-rotate < key-id> --user-id 1
58- ```
56+ ** Document creation and AI discovery** — Write, upload, or generate PRDs with Socratic AI assistance.
5957
60- Use API keys via header: ` X-API-Key: your_key_here `
58+ - ** Markdown Editor** — Edit PRD content directly with live preview
59+ - ** Upload Modal** — Import PRD from file or paste markdown
60+ - ** Discovery Panel** — AI-guided conversation panel for requirements elicitation
61+ - ** Task Summary** — Associated tasks broken down by status
62+ - ** Version History** — Track changes across PRD revisions
6163
62- ** Scopes ** : ` read ` (GET operations), ` write ` (create/update/delete), ` admin ` (full access)
64+ ### Web UI Tech Stack
6365
64- ### Rate Limiting
66+ - ** Next.js 15** with App Router
67+ - ** Shadcn/UI** (Nova preset) with gray color scheme
68+ - ** Hugeicons** for consistent iconography
69+ - ** Tailwind CSS** for styling
70+ - ** SSE hooks** (` useEventSource ` , ` useTaskStream ` ) for real-time streaming
6571
66- ** Configurable rate limits ** to prevent abuse and ensure fair usage:
72+ ---
6773
68- ``` bash
69- # Configure via environment variables
70- RATE_LIMIT_ENABLED=true
71- RATE_LIMIT_AUTH=10/minute # Auth endpoints
72- RATE_LIMIT_STANDARD=100/minute # Standard API calls
73- RATE_LIMIT_AI=20/minute # AI/chat operations
74- RATE_LIMIT_WEBSOCKET=30/minute # WebSocket connections
75- ```
74+ <details >
75+ <summary >Phase 2 Complete: Server Layer (2026-02-03)</summary >
7676
77- Supports Redis backend for distributed deployments: ` RATE_LIMIT_STORAGE=redis `
77+ Server layer built as a thin adapter over the CLI-first core:
7878
79- ### OpenAPI Documentation
79+ | Feature | Status | Issue |
80+ | ---------| --------| -------|
81+ | API key authentication for CLI & REST | ✅ Complete | #326 |
82+ | Rate limiting with slowapi | ✅ Complete | #327 |
83+ | Server audit & v2 routes | ✅ Complete | #322 |
84+ | Real-time events (SSE) | ✅ Complete | #328 |
85+ | OpenAPI documentation | ✅ Complete | #119 |
8086
81- ** Complete API documentation ** available via Swagger UI and ReDoc.
87+ ** API Key Authentication ** — Programmatic access with scope-based permissions ( ` read ` , ` write ` , ` admin ` ). Use via header: ` X-API-Key: your_key_here `
8288
83- - ** Swagger UI** : ` http://localhost:8080/docs ` — Interactive API explorer
84- - ** ReDoc** : ` http://localhost:8080/redoc ` — Clean API reference
85- - ** OpenAPI JSON** : ` http://localhost:8080/openapi.json ` — Schema export
89+ ** Rate Limiting** — Configurable per-endpoint limits. Supports Redis backend for distributed deployments.
8690
87- All endpoints include:
88- - Response models with examples
89- - Error response documentation (401, 403, 404, 409, 500)
90- - Query parameter descriptions
91- - Authentication requirements
91+ ** OpenAPI Documentation** — Swagger UI at ` /docs ` , ReDoc at ` /redoc ` , OpenAPI JSON at ` /openapi.json ` .
9292
93- ---
93+ </ details >
9494
9595### Phase 1 Complete 🎉 (2026-02-01)
9696
@@ -387,8 +387,13 @@ cf work batch run --all-ready --retry 3
387387- ** Rate Limiting** — Configurable limits per endpoint type with Redis support
388388- ** JWT Authentication** — Session-based auth for web dashboard
389389
390+ ### Web Dashboard (v2 — Phase 3)
391+ - ** Workspace View** — Project selection, stats cards, activity feed, and quick actions
392+ - ** PRD View** — Markdown editor with AI-powered Socratic discovery panel
393+ - ** Real-time Streaming** — SSE-based live updates for task execution and discovery sessions
394+ - ** Golden Path Navigation** — UI follows the same workflow as the CLI
395+
390396### Developer Experience
391- - ** Real-time Dashboard** — WebSocket-powered UI with agent status, blockers, and progress tracking
392397- ** Environment Validation** — ` cf env check ` validates tools and dependencies
393398- ** PR Workflow** — ` cf pr create/list/merge ` for GitHub integration
394399- ** Task Scheduling** — CPM-based critical path analysis
@@ -401,31 +406,39 @@ cf work batch run --all-ready --retry 3
401406## Architecture
402407
403408```
404- ┌─────────────────────────────────────────────────────────────┐
405- │ CLI / Agent Orchestrator │
406- │ • cf work start --execute │
407- │ • Context loading → Planning → Execution → Verification │
408- │ • Blocker detection and human-in-loop │
409- └─────────────┬──────────────┬──────────────┬────────────┬────┘
410- │ │ │ │
411- ┌───────▼───┐ ┌──────▼──────┐ ┌───▼────────┐ ┌▼────────┐
412- │ Backend │ │ Frontend │ │ Test │ │ Review │
413- │ Worker │ │ Worker │ │ Worker │ │ Worker │
414- │ (async) │ │ (async) │ │ (async) │ │ (async) │
415- └─────┬─────┘ └──────┬──────┘ └─────┬──────┘ └────┬────┘
416- │ │ │ │
417- │ ┌─────────────▼───────────────▼──────────────▼─────┐
418- │ │ Blocker Management (Sync/Async) │
419- │ │ • Database-backed queue (SQLite) │
420- │ │ • Human-in-the-loop questions │
421- │ └───────────────────────────────────────────────────┘
422- │
423- ┌───────▼──────────────────────────────────────────────────┐
424- │ Context Management Layer │
425- │ • Tiered memory (HOT/WARM/COLD) │
426- │ • Importance scoring & tier assignment │
427- │ • Flash save mechanism │
428- └──────────────────────────────────────────────────────────┘
409+ ┌──────────────────┐ ┌──────────────────────────────────────┐
410+ │ Web UI (Next.js) │ │ CLI (Typer) │
411+ │ • Workspace View │ │ • cf work start --execute │
412+ │ • PRD Discovery │ │ • cf prd generate │
413+ │ • Task Board │ │ • cf work follow │
414+ └────────┬─────────┘ └────────────────┬─────────────────────┘
415+ │ │
416+ │ ┌──────────────────────┐ │
417+ └───►│ FastAPI Server │◄───┘
418+ │ (thin adapter) │
419+ │ • REST API (v2) │
420+ │ • SSE streaming │
421+ │ • API key auth │
422+ └──────────┬───────────┘
423+ │
424+ ┌───────────────▼───────────────────────────────────┐
425+ │ Core Domain (headless) │
426+ │ • Agent orchestrator with self-correction │
427+ │ • Planning → Execution → Verification loop │
428+ │ • Blocker detection and human-in-loop │
429+ └──────┬──────────┬──────────┬────────────┬─────────┘
430+ │ │ │ │
431+ ┌───────▼──┐ ┌─────▼─────┐ ┌──▼───────┐ ┌─▼───────┐
432+ │ Backend │ │ Frontend │ │ Test │ │ Review │
433+ │ Worker │ │ Worker │ │ Worker │ │ Worker │
434+ └──────────┘ └───────────┘ └──────────┘ └─────────┘
435+ │
436+ ┌───────────────▼───────────────────────────────────┐
437+ │ Context Management Layer │
438+ │ • Tiered memory (HOT/WARM/COLD) │
439+ │ • State persistence (SQLite) │
440+ │ • Checkpoint & recovery │
441+ └────────────────────────────────────────────────────┘
429442```
430443
431444---
@@ -500,22 +513,23 @@ cf review
500513cf checkpoint create " Feature complete"
501514```
502515
503- ### Dashboard Mode (v1 )
516+ ### Web Dashboard (v2 )
504517
505518``` bash
506- # Start the dashboard (from project root)
507- codeframe serve
508-
509- # Or manually start backend and frontend separately:
510- # Terminal 1: Backend
519+ # Terminal 1: Start the API server
511520uv run uvicorn codeframe.ui.server:app --reload --port 8080
512521
513- # Terminal 2: Frontend
522+ # Terminal 2: Start the web UI
514523cd web-ui && npm install && npm run dev
515524
516525# Access dashboard at http://localhost:3000
517526```
518527
528+ The web dashboard provides:
529+ - ** Workspace View** (` / ` ) — Project selection, stats, activity feed
530+ - ** PRD View** (` /prd ` ) — Document editing with AI discovery panel
531+ - More views coming: Tasks, Execution Monitor, Blockers, Review
532+
519533---
520534
521535## CLI Commands
@@ -763,20 +777,24 @@ For detailed API documentation, see `/docs` (Swagger UI) or `/redoc` (ReDoc) whe
763777### Run Tests
764778
765779``` bash
766- # Run all unit tests
780+ # Run all Python tests
767781uv run pytest
768782
769783# Run specific test suite
770784uv run pytest tests/core/ # Core module tests
771785uv run pytest tests/agents/ # Agent tests
772786uv run pytest tests/api/ # API endpoint tests
773787uv run pytest tests/cli/ # CLI command tests
788+ uv run pytest tests/ui/ # Server router tests
774789
775790# Run with coverage
776791uv run pytest --cov=codeframe --cov-report=html
777792
778793# Run v2 tests only
779794uv run pytest -m v2
795+
796+ # Run frontend tests
797+ cd web-ui && npm test # Jest unit tests
780798```
781799
782800### Test Statistics
@@ -802,6 +820,7 @@ For detailed documentation, see:
802820- ** CLI Wireframe** : [ docs/CLI_WIREFRAME.md] ( docs/CLI_WIREFRAME.md ) - Command structure
803821- ** CLI Test Report** : [ docs/CLI_V2_TEST_REPORT.md] ( docs/CLI_V2_TEST_REPORT.md ) - End-to-end test results
804822- ** Phase 2 Developer Guide** : [ docs/PHASE_2_DEVELOPER_GUIDE.md] ( docs/PHASE_2_DEVELOPER_GUIDE.md ) - Server layer patterns
823+ - ** Phase 3 UI Architecture** : [ docs/PHASE_3_UI_ARCHITECTURE.md] ( docs/PHASE_3_UI_ARCHITECTURE.md ) - Web UI information design
805824- ** Product Requirements** : [ PRD.md] ( PRD.md )
806825- ** System Architecture** : [ CODEFRAME_SPEC.md] ( CODEFRAME_SPEC.md )
807826- ** Sprint Planning** : [ SPRINTS.md] ( SPRINTS.md )
@@ -854,16 +873,23 @@ We welcome contributions! To get started:
854873 - Environment validation and tool detection
855874 - GitHub PR workflow commands
856875 - Task self-diagnosis system
857-
858- ### In Progress (Phase 2: Server Layer)
859- - ** Server audit and refactor** (#322 ) — Routes delegating to core modules ✅
860- - ** Real-time events** (#328 ) — SSE streaming for task execution ✅
861- - ** API key authentication** (#326 ) — Programmatic API access ✅
862- - ** Rate limiting** (#327 ) — Security and abuse prevention ✅
863- - ** OpenAPI documentation** (#119 ) — Complete API docs with examples ✅
864-
865- ### Planned (Phases 3-5)
866- - ** Phase 3** : Web UI rebuild on v2 foundation
876+ - ** Phase 2** : Server Layer ✅
877+ - Server audit and refactor — 15 v2 routers as thin adapters over core
878+ - API key authentication with scopes (read/write/admin)
879+ - Rate limiting with Redis support
880+ - Real-time SSE streaming for task execution
881+ - OpenAPI documentation (Swagger UI + ReDoc)
882+
883+ ### In Progress (Phase 3: Web UI Rebuild)
884+ - ** UI architecture and information design** — ✅ Complete
885+ - ** Workspace View** (#335 ) — Project dashboard with activity feed ✅
886+ - ** PRD View** (#330 ) — Document creation & AI discovery ✅
887+ - ** Task Board View** — Planned
888+ - ** Execution Monitor View** — Planned
889+ - ** Blocker Resolution View** — Planned
890+ - ** Review & Commit View** — Planned
891+
892+ ### Planned (Phases 4-5)
867893- ** Phase 4** : Multi-agent coordination (agent roles, conflict resolution, handoffs)
868894- ** Phase 5** : Advanced features (TUI dashboard, token/cost tracking, debug/replay mode)
869895
@@ -895,7 +921,10 @@ See [LICENSE](LICENSE) for full details.
895921- ** FastAPI** - High-performance async web framework
896922- ** FastAPI Users** - Authentication and user management
897923- ** SlowAPI** - Rate limiting for FastAPI
898- - ** React + TypeScript** - Modern frontend with real-time updates
924+ - ** Next.js 15** - React framework with App Router for web dashboard
925+ - ** Shadcn/UI** - Component library (Nova preset with Hugeicons)
926+ - ** Tailwind CSS** - Utility-first CSS framework
927+ - ** TypeScript** - Type-safe frontend and tooling
899928- ** SQLite** - Embedded database for persistence
900929- ** Playwright** - End-to-end testing framework
901930- ** pytest + jest** - Comprehensive testing frameworks
0 commit comments