- Introduction
- Features
- Prerequisites
- Installation
- Configuration
- Usage
- Contributing
- License
- Acknowledgements
The AI-Powered Software Development Assistant is an advanced tool that leverages the Claude AI model to provide interactive coding help, project management, and software development insights. It combines natural language processing, code analysis, and real-time web search capabilities to offer a comprehensive assistant for developers.
- AI-powered conversation for software development assistance
- File and directory management within your project structure
- Code syntax highlighting for better readability
- Image analysis capabilities
- Real-time web search integration
- Autonomous mode for independent task execution
- Conversation memory for contextual interactions
- Configuration management using YAML and environment variables
- Robust error handling and logging system
- Asynchronous operations for improved performance
- Interactive and colorful command-line interface
- Code diff generation for clear change visualization
- Python 3.9 or higher
- Anthropic API key
- Tavily API key
-
Clone the repository:
git clone https://github.com/yourusername/ai-dev-assistant.git cd ai-dev-assistant
-
Create a virtual environment (optional but recommended):
python -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`
-
Install the required dependencies:
pip install -r requirements.txt
-
Copy the example configuration file:
cp config.example.yaml config.yaml
-
Open
config.yaml
and add your API keys:anthropic_api_key: "your_anthropic_api_key_here" tavily_api_key: "your_tavily_api_key_here"
Alternatively, you can set these as environment variables:
export ANTHROPIC_API_KEY="your_anthropic_api_key_here" export TAVILY_API_KEY="your_tavily_api_key_here"
Run the assistant:
python g0dmode.py
- Type your questions or requests for AI assistance
- Type 'exit' to end the conversation
- Type 'image' to include an image in your message
- Type 'automode [number]' to enter Autonomous mode with a specific number of iterations
-
Ask for coding help:
You: Can you help me write a Python function to calculate the Fibonacci sequence?
-
Request project structure creation:
You: Create a basic folder structure for a Python web application using Flask.
-
Analyze an image:
You: image You: Drag and drop your image here: /path/to/your/image.jpg You: Can you describe what you see in this image and suggest how it might relate to a software project?
-
Enter automode:
You: automode 5 You: Refactor the Python script in the current directory to improve its efficiency and readability.
We welcome contributions to the AI-Powered Software Development Assistant! Please follow these steps to contribute:
- Fork the repository
- Create a new branch:
git checkout -b feature-branch-name
- Make your changes and commit them:
git commit -m 'Add some feature'
- Push to the branch:
git push origin feature-branch-name
- Submit a pull request
Please make sure to update tests as appropriate and adhere to the project's coding standards.
This project is licensed under the MIT License - see the LICENSE file for details.
- Anthropic for the Claude AI model
- Tavily for the search API
- All the open-source libraries used in this project
For any questions or issues, please open an issue on the GitHub repository.