|
| 1 | +# AutoCoder Development Roadmap |
| 2 | + |
| 3 | +This roadmap breaks work into clear phases so you can pick the next most valuable items quickly. |
| 4 | + |
| 5 | +## Phase 0 — Baseline (ship ASAP) |
| 6 | +- **PR discipline:** Enforce branch protection requiring “PR Check” (already configured in workflows; ensure GitHub rule is on). |
| 7 | +- **Secrets hygiene:** Move all deploy secrets into repo/environment secrets; prohibit `.env` commits via pre-commit hook. |
| 8 | +- **Smoke tests:** Keep `/health` and `/readiness` endpoints green; add UI smoke (landing page loads) to CI. |
| 9 | + |
| 10 | +## Phase 1 — Reliability & Observability |
| 11 | +- **Structured logging:** Add JSON logging for FastAPI (uvicorn access + app logs) with request IDs; forward to stdout for Docker/Traefik. |
| 12 | +- **Error reporting:** Wire Sentry (or OpenTelemetry + OTLP) for backend exceptions and front-end errors. |
| 13 | +- **Metrics:** Expose `/metrics` (Prometheus) for FastAPI; Traefik already exposes metrics option—enable when scraping is available. |
| 14 | +- **Tracing:** Add OTEL middleware to FastAPI; propagate trace IDs through to Claude/Gemini calls when possible. |
| 15 | + |
| 16 | +## Phase 2 — Platform & DevX |
| 17 | +- **Local dev parity:** Add `docker-compose.dev.yml` with hot-reload for FastAPI + Vite UI; document one-command setup. |
| 18 | +- **Makefile/taskfile:** Common commands (`make dev`, `make test`, `make lint`, `make format`, `make seed`). |
| 19 | +- **Pre-commit:** Ruff, mypy, black (if adopted), eslint/prettier for `ui/`. |
| 20 | +- **Typed APIs:** Add mypy strict mode to `server/` and type `schemas.py` fully (Pydantic v2 ConfigDict). |
| 21 | + |
| 22 | +## Phase 3 — Product & Agent Quality |
| 23 | +- **Model selection UI:** Let users choose assistant provider (Claude/Gemini) in settings; display active provider badge in chat. |
| 24 | +- **Tooling guardrails:** For Gemini (chat-only), show “no tools” notice in UI and fallback logic to Claude when tools needed. |
| 25 | +- **Conversation persistence:** Add pagination/search over assistant history; export conversation to file. |
| 26 | +- **Feature board:** Surface feature stats/graph from MCP in the UI (read-only dashboard). |
| 27 | + |
| 28 | +## Phase 4 — Security & Compliance |
| 29 | +- **AuthN/AuthZ:** Add optional login (JWT/OIDC) gate for UI/API; role for “admin” vs “viewer” at least. |
| 30 | +- **Rate limiting:** Enable per-IP rate limits at Traefik and per-token limits in FastAPI. |
| 31 | +- **Audit trails:** Log agent actions and feature state changes with user identity. |
| 32 | +- **Headers/HTTPS:** HSTS via Traefik, content-security-policy header from FastAPI. |
| 33 | + |
| 34 | +## Phase 5 — Performance & Scale |
| 35 | +- **Caching:** CDN/Traefik static cache for UI assets; server-side cache for model list/status endpoints. |
| 36 | +- **Worker separation:** Optionally split agent runner from API via separate services and queues (e.g., Redis/RQ or Celery). |
| 37 | +- **Background jobs:** Move long-running tasks to scheduler/worker with backoff and retries. |
| 38 | + |
| 39 | +## Phase 6 — Testing & Quality Gates |
| 40 | +- **Backend tests:** Add pytest suite for key routers (`/api/setup/status`, assistant chat happy-path with mock Claude/Gemini). |
| 41 | +- **Frontend tests:** Add Vitest + React Testing Library smoke tests for core pages (dashboard loads, settings save). |
| 42 | +- **E2E:** Playwright happy-path (login optional, start agent, view logs). |
| 43 | +- **Coverage:** Fail CI if coverage drops below threshold (start at 60–70%). |
| 44 | + |
| 45 | +## Phase 7 — Deployment & Ops |
| 46 | +- **Blue/green deploy:** Add image tagging `:sha` + `:latest` (already for CI) with Traefik service labels to toggle. |
| 47 | +- **Backups:** Snapshot `~/.autocoder` data volume; document restore. |
| 48 | +- **Runbooks:** Add `RUNBOOK.md` for common ops (restart, rotate keys, renew certs, roll back). |
| 49 | + |
| 50 | +## Phase 8 — Documentation & Onboarding |
| 51 | +- **Getting started:** Short path for “run locally in 5 minutes” (scripted). |
| 52 | +- **Config matrix:** Document required/optional env vars (Claude, Gemini, DuckDNS, Traefik, TLS). |
| 53 | +- **Architecture:** One-page diagram: UI ↔ FastAPI ↔ Agent subprocess ↔ Claude/Gemini; MCP servers; Traefik front. |
| 54 | + |
| 55 | +## Stretch Ideas |
| 56 | +- **Telemetry-driven tuning:** Auto-select model/provider based on latency/cost SLA. |
| 57 | +- **Cost controls:** Show per-run token/cost estimates; configurable budgets. |
| 58 | +- **Offline/edge mode:** Ollama provider toggle with cached models. |
| 59 | + |
| 60 | +## How to use this roadmap |
| 61 | +- Pick the next phase that unblocks your current goal (reliability → platform → product). |
| 62 | +- Keep PRs small and scoped to one bullet. |
| 63 | +- Update this document when a bullet ships or is reprioritized. |
0 commit comments