This project implements an AI coding agent capable of autonomously building software projects based on a single user prompt. It leverages the Anthropic API to execute the entire development process, creating a fully functional project with minimal human intervention.
- Development plan creation
- Step-by-step project building using AI
- File reading, writing, and modification capabilities
- Terminal command execution for package installation and other system-level operations
- Logging of LLM history
main.py
: The entry point of the applicationidea_gathering.py
: Handles the initial project idea interpretation phasebuild.py
: Executes the development planllm_thread.py
: Manages conversations with the Anthropic Claude modelllm_utils.py
: Utility functions for file operations and terminal commands
- Install Python
- Create a
secret_key.txt
file in the project root and add your Anthropic API key - Run the main script:
main.py
- Provide a project idea when prompted
The script will then:
- Set up the project directory and logging
- Connect to the Anthropic API
- Interpret your project idea and create a development plan
- Build the project step by step based on the AI-generated plan
- Ensure you have the necessary permissions to create directories and files in the specified path
- User confirmation is required before executing terminal commands
- Only files inside the project directory can be accessed by the agent
- This tool is designed to work autonomously, with minimal user intervention after the initial prompt
All activities are logged in agent_logs/agent_log.txt
. Check this file for detailed information about the build process.
This script executes terminal commands and modifies files on your system. Always review the actions it's about to take and use it in a controlled environment. It's recommended to use this tool in a sandboxed or isolated development environment.
- The AI Agent's capabilities are limited by the underlying language model
- Limited to locally installable tools and packages; no web browsing capability
- Complex projects may require human intervention
- May not always produce optimal or bug-free code
- Optimized for macOS
For any questions or issues, please open an issue in the GitHub repository. For personal inquiries, feel free to reach out to me on LinkedIn.
This tool is for experimental and educational purposes. Always review and test the generated code before using it in production environments.