This project aims to create an AI-powered software development assistant that uses Large Language Models (LLMs) to aid in code development. The system will be able to understand project requirements, generate code, run and test code, perform web searches when needed, and interact with the file system.
- Requirement analysis from a dev.txt file
- Code generation and suggestion
- Code execution and testing in a sandboxed environment
- File system interactions (read/write operations)
- Web search capabilities for additional information
- Use of multiple Claude Sonnet instances for parallel task processing
- Simple text editor for writing project requirements in dev.txt
- No complex IDE features; focus on text-based interaction
-
API Gateway (Golang)
- Handles incoming requests and routes them to appropriate services
-
Golang Backend Service
- Manages core business logic and coordinates between components
- Processes user requests and orchestrates tasks
-
Python LLM Service
- Interfaces with Claude Sonnet instances
- Handles LLM-related tasks (code generation, requirement analysis)
-
Action Executor (Golang)
- Performs file operations and web searches
- Executes system actions as needed
-
Code Execution Engine (Golang)
- Runs and tests code in a secure, isolated environment
- Provides feedback on code execution results
-
Multiple Claude Sonnet Instances
- Used for parallel processing of subtasks
- Coordinate through the Python LLM Service
-
Redis Cache
- Stores frequently accessed data for quick retrieval
-
PostgreSQL Database
- Persists project data, execution results, and system metadata
- Large Language Model API (Claude Sonnet)
- Search Engine API
- File System
- User writes project requirements in dev.txt
- System reads dev.txt and analyzes requirements
- Tasks are distributed among multiple Claude Sonnet instances
- Each instance generates code, suggests solutions, or provides analysis
- Generated code is executed and tested in the sandbox environment
- Results are aggregated and presented to the user
- User can iteratively refine requirements and receive updated results
- Backend: Hybrid of Golang (for performance) and Python (for AI/ML tasks)
- Inter-service Communication: gRPC
- Code Execution: Isolated sandbox (e.g., Docker containers)
- Database: PostgreSQL with pgx (Golang) and asyncpg (Python)
- Caching: Redis with go-redis (Golang) and aioredis (Python)
- API Gateway: Custom implementation in Golang or using Traefik
- LLM Integration: Custom Python service using FastAPI
- Sandbox environment for code execution with resource limitations
- Input sanitization to prevent malicious code execution
- Restricted network access for executed code
- Secure API authentication and authorization
- Set up the basic project structure with Golang and Python services
- Implement the file reading system for dev.txt
- Create the LLM service to interface with Claude Sonnet instances
- Develop the code execution engine with sandboxing
- Implement the action executor for file and web operations
- Set up the database and caching systems
- Develop the API gateway and request routing
- Integrate all components and implement the main workflow
- Conduct thorough testing and security audits
- Refine and optimize based on performance metrics