11# CodeFRAME
22
3- ![ Status] ( https://img.shields.io/badge/status-v2%20Phase%201%20Complete-brightgreen )
3+ ![ Status] ( https://img.shields.io/badge/status-v2%20Phase%202%20In%20Progress-blue )
44![ License] ( https://img.shields.io/badge/license-AGPL--3.0-blue )
55![ Python] ( https://img.shields.io/badge/python-3.11%2B-blue )
6- ![ Tests] ( https://img.shields.io/badge/tests-4122 %20passing-brightgreen )
6+ ![ Tests] ( https://img.shields.io/badge/tests-4285 %20passing-brightgreen )
77![ Coverage] ( https://img.shields.io/badge/coverage-88%25-brightgreen )
88[ ![ Follow on X] ( https://img.shields.io/twitter/follow/FrankBria18044?style=social )] ( https://x.com/FrankBria18044 )
99
@@ -23,23 +23,62 @@ Unlike traditional AI coding assistants that wait for your prompts, CodeFRAME ag
2323
2424---
2525
26- ## What's New (Updated: 2026-02-01 )
26+ ## What's New (Updated: 2026-02-03 )
2727
28- ### V2 Phase 1 Complete 🎉
28+ ### Phase 2: Server Layer In Progress
2929
30- We've completed Phase 1 of the v2 strategic roadmap! The CLI foundation is now production-ready :
30+ Phase 1 is complete! We're now building the server layer as a thin adapter over the CLI-first core :
3131
3232| Feature | Status | Issue |
3333| ---------| --------| -------|
34- | ` cf prd generate ` - Interactive AI PRD creation | ✅ Complete | #307 |
35- | ` cf work follow ` - Live execution streaming | ✅ Complete | #308 |
36- | PRD template system for customizable output | ✅ Complete | #316 |
37- | Integration tests for credentials/environment | ✅ Complete | #309 |
38- | Bug fixes (#265 , #253 ) | ✅ Complete | - |
34+ | API key authentication for CLI & REST | ✅ Complete | #326 |
35+ | Rate limiting with slowapi | ✅ Complete | #327 |
36+ | Server audit & v2 routes | ✅ Complete | #322 |
37+ | Real-time events (SSE) | 🔄 Partial | #323 |
3938
40- ** Next up ** : Phase 2 (Server Layer) - See [ docs/V2_STRATEGIC_ROADMAP.md ] ( docs/V2_STRATEGIC_ROADMAP.md )
39+ ### API Key Authentication
4140
42- ### Interactive PRD Generation
41+ ** Programmatic access to CodeFRAME APIs** with scope-based permissions.
42+
43+ ``` bash
44+ # Create an API key
45+ cf auth api-key-create --name " CI Pipeline" --user-id 1
46+
47+ # List your API keys
48+ cf auth api-key-list --user-id 1
49+
50+ # Revoke a key
51+ cf auth api-key-revoke < key-id> --user-id 1 --yes
52+
53+ # Rotate a key (generates new key, same permissions)
54+ cf auth api-key-rotate < key-id> --user-id 1
55+ ```
56+
57+ Use API keys via header: ` X-API-Key: your_key_here `
58+
59+ ** Scopes** : ` read ` (GET operations), ` write ` (create/update/delete), ` admin ` (full access)
60+
61+ ### Rate Limiting
62+
63+ ** Configurable rate limits** to prevent abuse and ensure fair usage:
64+
65+ ``` bash
66+ # Configure via environment variables
67+ RATE_LIMIT_ENABLED=true
68+ RATE_LIMIT_AUTH=10/minute # Auth endpoints
69+ RATE_LIMIT_STANDARD=100/minute # Standard API calls
70+ RATE_LIMIT_AI=20/minute # AI/chat operations
71+ RATE_LIMIT_WEBSOCKET=30/minute # WebSocket connections
72+ ```
73+
74+ Supports Redis backend for distributed deployments: ` RATE_LIMIT_STORAGE=redis `
75+
76+ ---
77+
78+ ### Phase 1 Complete 🎉 (2026-02-01)
79+
80+ <details >
81+ <summary >Interactive PRD Generation</summary >
4382
4483** ` cf prd generate ` ** — AI-guided requirements discovery using Socratic questioning.
4584
@@ -57,7 +96,10 @@ cf prd generate --template enterprise
5796
5897The AI conducts 5+ turn discovery sessions, progressively refining from broad vision → specific requirements → acceptance criteria.
5998
60- ### PRD Template System
99+ </details >
100+
101+ <details >
102+ <summary >PRD Template System</summary >
61103
62104** Customizable PRD output formats** for different team needs:
63105
@@ -82,7 +124,10 @@ cf prd templates import ./my-template.yaml
82124- ` technical ` - Developer-focused with architecture details
83125- ` user-story ` - Agile/Scrum format with user stories
84126
85- ### Live Execution Streaming
127+ </details >
128+
129+ <details >
130+ <summary >Live Execution Streaming</summary >
86131
87132** ` cf work follow ` ** — Watch agent execution in real-time.
88133
@@ -94,6 +139,8 @@ cf work follow <task-id>
94139cf work follow < task-id> --tail 50
95140```
96141
142+ </details >
143+
97144---
98145
99146### Previous Updates
@@ -318,6 +365,11 @@ cf work batch run --all-ready --retry 3
318365- ** Checkpoint & Recovery** — Git + DB snapshots enable project state rollback
319366- ** Phase-Aware Components** — UI intelligently selects data sources based on project phase
320367
368+ ### Security & API
369+ - ** API Key Authentication** — Scope-based programmatic access (read/write/admin)
370+ - ** Rate Limiting** — Configurable limits per endpoint type with Redis support
371+ - ** JWT Authentication** — Session-based auth for web dashboard
372+
321373### Developer Experience
322374- ** Real-time Dashboard** — WebSocket-powered UI with agent status, blockers, and progress tracking
323375- ** Environment Validation** — ` cf env check ` validates tools and dependencies
@@ -468,6 +520,17 @@ cf env install-missing <tool> # Install specific missing tool
468520cf env auto-install --yes # Install all missing tools
469521```
470522
523+ ### Authentication & API Keys
524+ ``` bash
525+ cf auth setup --provider anthropic # Configure API credentials
526+ cf auth list # List configured credentials
527+ cf auth validate anthropic # Test credential validity
528+ cf auth api-key-create -n " Key Name" -u 1 # Create API key
529+ cf auth api-key-list -u 1 # List your API keys
530+ cf auth api-key-revoke < id> -u 1 --yes # Revoke an API key
531+ cf auth api-key-rotate < id> -u 1 # Rotate an API key
532+ ```
533+
471534### PRD (Product Requirements)
472535``` bash
473536cf prd generate # Interactive AI-guided PRD creation (NEW!)
@@ -589,6 +652,13 @@ AUTO_COMMIT_ENABLED=true # Enable automatic commits after test pas
589652NOTIFICATION_DESKTOP_ENABLED=true # Enable desktop notifications
590653NOTIFICATION_WEBHOOK_URL=https://... # Webhook endpoint for agent events
591654
655+ # Optional - Rate Limiting
656+ RATE_LIMIT_ENABLED=true # Enable rate limiting (default: true)
657+ RATE_LIMIT_AUTH=10/minute # Auth endpoints
658+ RATE_LIMIT_STANDARD=100/minute # Standard API endpoints
659+ RATE_LIMIT_AI=20/minute # AI/chat operations
660+ RATE_LIMIT_STORAGE=memory # memory or redis
661+
592662# Frontend (set at build time for Next.js)
593663NEXT_PUBLIC_API_URL=http://localhost:8080
594664NEXT_PUBLIC_WS_URL=ws://localhost:8080/ws
@@ -628,6 +698,39 @@ GET /api/templates # List task templates
628698POST /api/templates/{name}/apply # Apply template
629699```
630700
701+ ### V2 API Endpoints (Phase 2)
702+
703+ ```
704+ # Tasks
705+ GET /api/v2/tasks # List tasks with filtering
706+ GET /api/v2/tasks/{id} # Get task details
707+ POST /api/v2/tasks # Create task
708+ PATCH /api/v2/tasks/{id} # Update task
709+ DELETE /api/v2/tasks/{id} # Delete task
710+ GET /api/v2/tasks/{id}/stream # SSE streaming
711+
712+ # PRD
713+ GET /api/v2/prd # List PRDs
714+ POST /api/v2/prd # Create PRD
715+ GET /api/v2/prd/{id}/versions # Version history
716+
717+ # Blockers
718+ GET /api/v2/blockers # List blockers
719+ POST /api/v2/blockers/{id}/answer # Answer blocker
720+ ```
721+
722+ ### Authentication
723+
724+ ```
725+ # Session-based (JWT)
726+ POST /api/auth/login # Login, get JWT
727+ POST /api/auth/register # Register new user
728+ GET /api/auth/me # Current user info
729+
730+ # API Key
731+ Header: X-API-Key: your_key_here # Include in all requests
732+ ```
733+
631734### WebSocket
632735
633736```
@@ -661,10 +764,10 @@ uv run pytest -m v2
661764
662765### Test Statistics
663766
664- - ** Total Tests** : 4100 +
767+ - ** Total Tests** : 4285 +
665768 - Core module tests: ~ 1200
666769 - Unit tests: ~ 1500 (Python + TypeScript)
667- - Integration tests: ~ 800
770+ - Integration tests: ~ 1000
668771 - E2E tests: 100+ (Backend + Playwright)
669772- ** Coverage** : 88%+
670773- ** Pass Rate** : 100%
@@ -681,9 +784,9 @@ For detailed documentation, see:
681784- ** Agent Implementation** : [ docs/AGENT_IMPLEMENTATION_TASKS.md] ( docs/AGENT_IMPLEMENTATION_TASKS.md ) - Agent system details
682785- ** CLI Wireframe** : [ docs/CLI_WIREFRAME.md] ( docs/CLI_WIREFRAME.md ) - Command structure
683786- ** CLI Test Report** : [ docs/CLI_V2_TEST_REPORT.md] ( docs/CLI_V2_TEST_REPORT.md ) - End-to-end test results
787+ - ** Phase 2 Developer Guide** : [ docs/PHASE_2_DEVELOPER_GUIDE.md] ( docs/PHASE_2_DEVELOPER_GUIDE.md ) - Server layer patterns
684788- ** Product Requirements** : [ PRD.md] ( PRD.md )
685789- ** System Architecture** : [ CODEFRAME_SPEC.md] ( CODEFRAME_SPEC.md )
686- - ** Authentication** : [ docs/authentication.md] ( docs/authentication.md ) - Security guide
687790- ** Sprint Planning** : [ SPRINTS.md] ( SPRINTS.md )
688791- ** Agent Guide** : [ AGENTS.md] ( AGENTS.md )
689792
@@ -736,11 +839,11 @@ We welcome contributions! To get started:
736839 - Task self-diagnosis system
737840
738841### In Progress (Phase 2: Server Layer)
739- - ** Server audit and refactor** (#322 ) — Routes delegating to core modules
740- - ** Real-time events** (#323 ) — SSE/WebSocket for execution streaming
741- - ** API key authentication** (#324 ) — Programmatic API access
842+ - ** Server audit and refactor** (#322 ) — Routes delegating to core modules ✅
843+ - ** Real-time events** (#323 ) — SSE/WebSocket for execution streaming 🔄
844+ - ** API key authentication** (#326 ) — Programmatic API access ✅
845+ - ** Rate limiting** (#327 ) — Security and abuse prevention ✅
742846- ** OpenAPI documentation** (#119 ) — Auto-generated API docs
743- - ** Rate limiting** (#167 ) — Security and abuse prevention
744847- ** API pagination** (#118 ) — Large dataset support
745848
746849### Planned (Phases 3-5)
@@ -775,6 +878,7 @@ See [LICENSE](LICENSE) for full details.
775878- ** Anthropic Claude** - AI reasoning engine powering all agents
776879- ** FastAPI** - High-performance async web framework
777880- ** FastAPI Users** - Authentication and user management
881+ - ** SlowAPI** - Rate limiting for FastAPI
778882- ** React + TypeScript** - Modern frontend with real-time updates
779883- ** SQLite** - Embedded database for persistence
780884- ** Playwright** - End-to-end testing framework
0 commit comments