Skip to main content

AI-powered development assistant for code generation, refactoring, and project management

Project description

image

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 access
  • GROQ_API_KEY - Optional for additional models
  • NOVITA_API_KEY - Optional for embeddings

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

Acknowledgments

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

blitzcoder-1.0.15.tar.gz (45.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

blitzcoder-1.0.15-py3-none-any.whl (41.6 kB view details)

Uploaded Python 3

File details

Details for the file blitzcoder-1.0.15.tar.gz.

File metadata

  • Download URL: blitzcoder-1.0.15.tar.gz
  • Upload date:
  • Size: 45.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for blitzcoder-1.0.15.tar.gz
Algorithm Hash digest
SHA256 6e0abb33d40c1fa869877f7ed82d2b8f5e3635839b7432c0fef6456aa0b5fdba
MD5 afc0ad5738ca601aaef71f4c7f34a6c3
BLAKE2b-256 52ab483571d1c9da8200e3df85689f265aa5d4d1f9efdee9fbc15b541669f208

See more details on using hashes here.

File details

Details for the file blitzcoder-1.0.15-py3-none-any.whl.

File metadata

  • Download URL: blitzcoder-1.0.15-py3-none-any.whl
  • Upload date:
  • Size: 41.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for blitzcoder-1.0.15-py3-none-any.whl
Algorithm Hash digest
SHA256 de24b3603b348b6602afe1fb176e55f765158d84b5b041942f308e1e757a7b49
MD5 bf97b0cd9cb7fe6b9acafc2c3c536873
BLAKE2b-256 29052032a16cf490db188156b4f4d083642f059d67cd020f0d73148950e96db5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page