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
Metadata
Release files for blitzcoder 1.0.22
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| blitzcoder-1.0.22.tar.gz | 45.6 kB | Without provenance | Details for blitzcoder-1.0.22.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| blitzcoder-1.0.22-py3-none-any.whl | Python 3 | none | any | Details for blitzcoder-1.0.22-py3-none-any.whl |
Total release size: 88.5 kB
Release files / blitzcoder-1.0.22.tar.gz
| Download URL | blitzcoder-1.0.22.tar.gz |
|---|---|
| Size | 45.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7f05d2af6bf09b5569cd38a7f44fbcc3f22b0159681217d7d321fc9d91c3e011
|
|
BLAKE2b-256 checksum How to use checksums |
5613dfbc7d83a245f5a33bc254114c9a74620bfd2ea4c0c758661c10fb0a3278
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / blitzcoder-1.0.22-py3-none-any.whl
| Download URL | blitzcoder-1.0.22-py3-none-any.whl |
|---|---|
| Size | 42.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c9458f5d31b6f35eb45367cdab61dc3974fa895ad604384a41a3dfde8484ea8c
|
|
BLAKE2b-256 checksum How to use checksums |
51b3eb675429c57b772c5481989137dbdf8dfcf5384dfc2b43207de1cbb1bf21
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Security for blitzcoder 1.0.22
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.