Autonomous Software Development System powered by deep AI agents,a Neo4j knowledge graph, ChromaDB memory, and a real-time React dashboard.
Codonova autonomously:
- Plans — Analyzes requirements, extracts features, decomposes into tasks with dependencies
- Develops — Generates production-quality Python code using Gemini 2.5 Flash
- Tests — Auto-generates and runs pytest test suites using Groq Llama 4 Scout
- Debugs — Performs root-cause analysis and applies fixes using Gemini
- Evaluates — Scores output 0-10 on correctness, quality, completeness
- Self-corrects — Retries failing code up to 3 times with critique-augmented prompts
- Learns — Stores successful patterns in ChromaDB for future context injection
┌─────────────────────────────────────────────────────┐
│ React Dashboard │
│ [Task Graph] [Agent Feed] [Code] [Scores] [Insights]│
└──────────────────────┬──────────────────────────────┘
│ REST + WebSocket
┌──────────────────────▼──────────────────────────────┐
│ FastAPI Backend │
│ │
│ PlanningAgent (Gemini) → DecomposesRequirements │
│ Scheduler → Routes tasks │
│ DeveloperAgent (Gemini) → Generates code │
│ TestingAgent (Groq) → Writes+runs tests │
│ DebuggingAgent (Gemini) → Fixes failures │
│ EvaluatorAgent (Groq) → Scores output │
│ CorrectionEngine → Self-correction loop │
└────────┬─────────────────────────┬──────────────────┘
│ Neo4j Cypher │ ChromaDB
┌────────▼──────────┐ ┌──────────▼──────────────────┐
│ Neo4j Graph DB │ │ ChromaDB Vector Store │
│ (Task knowledge) │ │ (sentence-transformers) │
└───────────────────┘ └──────────────────────────────┘
- Docker & Docker Compose
- API keys (all free):
- Google AI Studio → Gemini 2.5 Flash
- Groq Cloud → Llama 4 Scout
- OpenRouter → Fallback (optional)
cd autonomousdev
cp .env.example .env
# Edit .env and fill in your API keys and Neo4j password.env required fields:
GEMINI_API_KEY=your_key_here
GROQ_API_KEY=your_key_here
NEO4J_PASSWORD=choose_a_passworddocker-compose up -dServices start in order: Neo4j → ChromaDB → Backend → Frontend
| Service | URL | Purpose |
|---|---|---|
| Dashboard | http://localhost:3000 | React UI |
| API Docs | http://localhost:8000/docs | Swagger UI |
| Neo4j | http://localhost:7474 | Graph Browser |
| ChromaDB | http://localhost:8001 | Vector DB |
Backend:
cd autonomousdev/backend
pip install -r requirements.txt
uvicorn main:app --reload --port 8000Frontend:
cd autonomousdev/frontend
npm install
npm run dev # runs on http://localhost:3000- Open http://localhost:3000
- Enter a requirement in the launcher (right panel)
- Click 🚀 Start Autonomous Pipeline
- Watch the Task Graph panel fill with nodes
- Monitor live events in the Agent Feed panel
- View generated code in the Code Viewer
- Download the ZIP export when complete
Plan only:
curl -X POST http://localhost:8000/api/plan \
-H "Content-Type: application/json" \
-d '{"requirement": "Build a REST API for a task management app"}'Full pipeline:
curl -X POST http://localhost:8000/api/start \
-H "Content-Type: application/json" \
-d '{"requirement": "Build a REST API for a student grade management system with endpoints to add students, record grades, and calculate GPA. Use FastAPI and SQLite."}'Check status:
curl http://localhost:8000/api/status/{project_id}Download export:
curl -O http://localhost:8000/api/export/{project_id}| Agent | Provider | Model | Why |
|---|---|---|---|
| Planning | Gemini | gemini-2.5-flash | Deep reasoning |
| Developer | Gemini | gemini-2.5-flash | Code generation |
| Debugger | Gemini | gemini-2.5-flash | Root-cause analysis |
| Testing | Groq | llama-4-scout-17b-16e-instruct | Speed + volume |
| Evaluator | Groq | llama-4-scout-17b-16e-instruct | Speed + volume |
| Fallback (all) | OpenRouter | meta-llama/llama-4-scout:free | Rate limit backup |
Project ──HAS_FEATURE──► Feature ──HAS_TASK──► Task ──HAS_SUBTASK──► SubTask
│
◄DEPENDS_ON
│
CodeModule ──PRODUCED_BY──► Task
│
TestResult ──VALIDATES──► CodeModule
│
Bug ──FAILED_BY──► CodeModule
│
Fix ──RESOLVES──► Bug
│
EvaluationResult ──EVALUATES──► CodeModule
│
LearningNode ──PRODUCED_BY──► Task
│
Agent ──LEARNED_FROM──► LearningNode
autonomousdev/
├── backend/
│ ├── agents/
│ │ ├── planning_agent.py # Gemini — requirement decomposition
│ │ ├── developer_agent.py # Gemini — code generation
│ │ ├── testing_agent.py # Groq — test gen + execution
│ │ ├── debugging_agent.py # Gemini — root cause + fix
│ │ ├── evaluator_agent.py # Groq — quality scoring
│ │ ├── correction_engine.py # Self-correction loop orchestrator
│ │ └── scheduler.py # Task polling + routing
│ ├── graph/
│ │ └── neo4j_client.py # All Cypher queries
│ ├── memory/
│ │ ├── memory_store.py # ChromaDB + sentence-transformers
│ │ └── context_retriever.py # Similar context finder
│ ├── llm_client.py # Shared LLM client (NEVER bypass this)
│ ├── main.py # FastAPI app + all routes
│ └── requirements.txt
├── frontend/
│ └── src/
│ ├── App.jsx # Main dashboard
│ └── components/
│ ├── TaskGraph.jsx # Force graph visualization
│ ├── AgentFeed.jsx # Live WebSocket feed
│ ├── CodeViewer.jsx # Syntax-highlighted code
│ ├── EvalChart.jsx # Score charts
│ └── InsightsPanel.jsx # Neo4j analytics
├── docker-compose.yml
├── PHASE_1_SUMMARY.md ... PHASE_5_SUMMARY.md
└── .env.example
The ZIP export (GET /api/export/{project_id}) contains:
src/— all generated Python source filesrequirements.txt— auto-detected dependenciesREADME.md— project overview generated by Geminitest_report.json— full pytest resultsEVALUATION_REPORT.md— per-module quality scores
Built with ❤️ by Codonova — Autonomous AI Software Development