Bronie is an AI-powered assistant that seamlessly integrates with your development environment. By using Large Language Models (LLMs) and a suite of specialized tools, Bronie helps you understand, navigate, and modify code directly from your terminal.
Bronie works by connecting an AI model with your local project directory, allowing it to perform coding tasks through natural language commands. It has deep contextual understanding of your codebase and can execute precise modifications without leaving your terminal.
- Agent-Tool Architecture: The core Agent orchestrates tasks by intelligently selecting and using various Tools (like edit_file, list_files) based on your requests.
- Dynamic Tool Discovery: The system automatically discovers tools from the bronie/tools directory, making it easily extensible with new capabilities.
- Precise File Editing: The edit_file tool uses a SEARCH/REPLACE block mechanism for reliable, targeted code modifications without affecting surrounding code.
- 💬 Conversational Coding: Interact with your codebase using natural language
- 📁 File System Integration: Browse, search, and modify files within your project context
- 🔧 Shell Command Execution: Run commands and integrate their output into the conversation
- 👀 Visual Context: Get descriptions and details about files and project structure
- 🧩 Automatic Tool Registration: Easily extend with new tools that are automatically discovered
- 🔄 Reliable Code Editing: Make precise changes with the SEARCH/REPLACE block mechanism
- Python 3.8 or higher
- API key(s) for your chosen LLM provider (OpenAI, Anthropic, OpenRouter, etc.)
Create a .env file in your home directory with your API credentials:
Start the assistant with your project directory:
You can configure models and providers in bronie/config.json:
- agent_model: The primary model that runs the main assistant
- code_model: Model specifically optimized for code-heavy tasks
- light_model: Lighter model used for simple operations
Define API providers in the providers array:
OpenRouter Support: Use any model with the openrouter/ prefix (e.g., openrouter/google/gemini-pro)
Bronie comes with several built-in tools:
- list_files: Display the structure of project directories and files
- read_file: View the contents of a specific file
- edit_file: Make changes to files using precise SEARCH/REPLACE patterns
- exec_shell: Execute shell commands and see their output
- grep_search: Search across files for specific patterns or text
- search_files: Find files by name patterns or content matching
- talk_to_user: Request additional information from you when needed
You can easily extend Bronie by adding new tools:
- Create a new Python file in bronie/tools/
- Define a function with the same name as the file
- Include a docstring that describes what the tool does
- Your tool will be automatically discovered and available to use
Example of a simple tool (bronie/tools/my_new_tool.py):
MIT Licensed
.png)


