Skip to content

Commit 250c0c1

Browse files
author
Test User
committed
docs: update README and roadmap for Phase 2 progress
- Update status badge to Phase 2 In Progress (4285 tests) - Add API key authentication section with CLI commands - Add rate limiting configuration documentation - Document new V2 API endpoints - Add Security & API section to Key Features - Update roadmap to show Phase 2 at 90% complete - Mark #322, #325, #326, #327 as complete - Update current focus to remaining items (WebSocket, OpenAPI, pagination)
1 parent e7f9d01 commit 250c0c1

2 files changed

Lines changed: 176 additions & 57 deletions

File tree

README.md

Lines changed: 125 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
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

5897
The 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>
94139
cf 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
468520
cf 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
473536
cf prd generate # Interactive AI-guided PRD creation (NEW!)
@@ -589,6 +652,13 @@ AUTO_COMMIT_ENABLED=true # Enable automatic commits after test pas
589652
NOTIFICATION_DESKTOP_ENABLED=true # Enable desktop notifications
590653
NOTIFICATION_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)
593663
NEXT_PUBLIC_API_URL=http://localhost:8080
594664
NEXT_PUBLIC_WS_URL=ws://localhost:8080/ws
@@ -628,6 +698,39 @@ GET /api/templates # List task templates
628698
POST /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

Comments
 (0)