AI-powered development assistant for code generation, refactoring, and project management
Project description
BlitzCoder
โก AI-Powered Development Assistant - A comprehensive CLI tool for code generation, refactoring, and project management.
Features
- ๐ค AI-Powered Code Generation - Generate code using Google's Gemini model
- ๐ง Code Refactoring - Automatically refactor and improve existing code
- ๐ Project Scaffolding - Create complete project structures with architecture plans
- ๐ง Memory System - Remember previous conversations and context
- ๐ ๏ธ Development Tools - File inspection, execution, and management tools
- ๐ Code Analysis - Explain and analyze code functionality
Installation
Option 1: Install from Source (Recommended)
# Clone the repository
git clone https://github.com/Raghu6798/Blitz_Coder.git
cd BlitzCoder/blitz_cli
# Install in development mode
python install.py
Option 2: Manual Installation
cd blitz_cli
pip install -e .
Option 3: Direct Script Execution
# Windows
python scripts/blitzcoder.bat
# Linux/Mac
python scripts/blitzcoder
Quick Start
1. Set up your API Keys
You'll need a Google API key for the Gemini model:
# Set environment variable
export GOOGLE_API_KEY="your-api-key-here"
# Or on Windows
set GOOGLE_API_KEY=your-api-key-here
2. Start Interactive Chat
blitzcoder chat
3. Search Memories
blitzcoder search-memories --query "your search term"
Usage Examples
Interactive Chat Mode
blitzcoder chat
This starts an interactive session where you can:
- Ask questions about code
- Request code generation
- Get help with refactoring
- Search through previous conversations
Search Previous Conversations
blitzcoder search-memories --query "React component"
Use with API Key Parameter
blitzcoder chat --google-api-key "your-api-key"
Available Commands
| Command | Description |
|---|---|
chat |
Start interactive AI chat session |
search-memories |
Search through conversation history |
Development
Project Structure
.
โโโ src/
โ โโโ blitzcoder/
โ โ โโโ cli/
โ โ โโโ cli_coder.py # Click-based CLI entrypoint
โ โโโ main/
โ โโโ graphapi.py # Core LangGraph agent logic and state graph
โโโ tools/
โ โโโ scaffold_and_generate_files.py # High-level tool for project creation
โ โโโ run_shell_command_in_sandbox.py # Secure command execution tool
โ โโโ ... (many other modular tools)
โโโ config/
โ โโโ settings.py
โ โโโ templates/ # Contains templates for dozens of frameworks
โ โโโ Backend/
โ โโโ Frontend/
โ โโโ ...
โโโ models/
โ โโโ llm_model.py # LLM (Gemini) configuration
โ โโโ embedding_model.py # Embedding model configuration
โโโ observability/
โ โโโ tracing.py # Tracing and observability setup
โโโ tests/
โ โโโ unit/
โ โโโ integration/
โโโ pyproject.toml # Project metadata and dependencies (for PyPI)
โโโ install.py # Main installation script
โโโ Dockerfile
Running Tests
# Install development dependencies
pip install -e ".[dev]"
### Quick Start
1. Set up your API Keys
BlitzCoder requires two API keys to function. It will prompt you for them on the first run, or you can set them as environment variables.
Google Gemini API Key: For the core AI reasoning.
export GOOGLE_API_KEY=your-gemini-api-key
E2B Sandbox API Key: For secure command execution. Get a free key at e2b.dev.
export E2B_API_KEY=your-e2b-api-key
# Run tests
pytest
Code Formatting
# Format code
black src/
isort src/
# Type checking
mypy src/
Configuration
The package uses environment variables for configuration:
GOOGLE_API_KEY- Required for Gemini model accessGROQ_API_KEY- Optional for additional modelsNOVITA_API_KEY- Optional for embeddings
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
- ๐ง Email: raghunandanerukulla@gmail.com
- ๐ Issues: GitHub Issues
- ๐ Documentation: GitHub README
Acknowledgments
- Built with LangGraph
- Powered by Google Gemini
- Enhanced with Rich for beautiful CLI output
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file blitzcoder-1.0.14.tar.gz.
File metadata
- Download URL: blitzcoder-1.0.14.tar.gz
- Upload date:
- Size: 45.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
65d3437cf287c8a5782458800de28b064eb623b87060e12834337b68ff75b688
|
|
| MD5 |
21201395057fb47fa04b6d4b399c44bf
|
|
| BLAKE2b-256 |
243e7394392d587938a4d847bf20fa39efab768035b1edd9706a9bfe71bc8ec2
|
File details
Details for the file blitzcoder-1.0.14-py3-none-any.whl.
File metadata
- Download URL: blitzcoder-1.0.14-py3-none-any.whl
- Upload date:
- Size: 41.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea8047508fa0f5714932f7f33333457407c61fd56348e22dd52695da06f65809
|
|
| MD5 |
fc1f2b34945247fb20901581cde762b6
|
|
| BLAKE2b-256 |
0705c1e96ead5751fc098279ae76fafc2f4208dfccb5a6e95b568668c7e136f0
|