AI-augmented code review CLI tool
Project description
Vaahai
Agentic Coding, Review, Audit and Generation
Overview
Vaahai is an AI-augmented code review CLI tool that combines static analysis with LLM capabilities to provide comprehensive code reviews, suggestions, and automated fixes.
Installation
# Install from PyPI
pip install vaahai
# Verify installation
vaahai --version
Quick Start
# Set up your configuration
vaahai config init
# Set up configuration non-interactively
vaahai config init --non-interactive
# Set up configuration with specific options
vaahai config init --api-key "your-key" --llm-model "gpt-4" --use-docker
# Review a single file
vaahai review path/to/file.py
# Review a directory
vaahai review path/to/directory
# Detect programming languages in a file or directory
vaahai detect-language path/to/file_or_directory
# Detect languages with specific output format
vaahai detect-language path/to/file_or_directory --format json
# Note: The detect-language command can also be installed and run standalone using pipx:
# pipx install vaahai-language-detector
# vaahai detect-language path/to/file_or_directory
# Note: If you encounter Typer CLI errors, you can use the standalone installation:
# ./bin/install-detect-language.sh --local
# export PATH="/path/to/vaahai/local/bin:$PATH"
# vaahai detect-language path/to/file_or_directory
# Review with specific include/exclude patterns
vaahai review src/ --include="*.py" --exclude="*_test.py"
# Review with specific focus and depth
vaahai review important_module.py --depth thorough --focus security
# Detect programming languages in code
vaahai detect-language src/
Features
- Code Scanning: Scan directories with customizable filters for file extensions, patterns, and content
- Static Analysis: Integrate with static analysis tools for code quality checks
- LLM Integration: Leverage LLMs for contextual code review and suggestions
- Interactive Fixes: Apply suggested fixes interactively
- Multiple Output Formats: Generate reports in terminal, markdown, or HTML formats
- Language Detection: Identify programming languages, versions, frameworks, and features in code files
Implementation Status
| Feature | Status | Description |
|---|---|---|
| Configuration Manager | Complete | Robust configuration system with interactive setup, environment variable support, and multiple configuration modes |
| CLI Application | Complete | Command-line interface |
| Code Scanner | Complete | File scanning and processing |
| CLI Command Simplification | Complete | Simplified command structure |
| Hello World Agent MVP | Complete | Simple agent to validate Autogen integration framework |
| Language Detector Agent | Complete | Agent for detecting programming languages, versions, frameworks, and features in code |
| Autogen Framework Integration | In Progress | Multi-agent system for code review with Docker-based code execution |
| Output Formatting | Deprioritized | Being replaced by Autogen Framework |
| Static Analysis | Planned | Integration with static analysis tools |
| LLM Provider Interface | Planned | Support for multiple LLM providers |
| Review Orchestration | Planned | Manage the review process |
| Fix Suggestion | Planned | Suggest code improvements |
For detailed implementation status, see the Implementation Status documentation. For the complete development roadmap, see the Implementation Roadmap.
Available Commands
review
Review code files with customizable filters and analysis.
vaahai review [PATH] [OPTIONS]
Arguments:
PATH: Path to file or directory to review (required)
Options:
--depth {quick,standard,thorough}: Review depth (default: standard)--focus {all,security,performance,style}: Focus area (default: all)--output {terminal,markdown,html}: Output format (default: terminal)--output-file FILE: Save output to a file--include PATTERN: Patterns to include (can be used multiple times)--exclude PATTERN: Patterns to exclude (can be used multiple times)--max-file-size SIZE: Maximum file size in bytes (default: 1MB)--interactive: Enable interactive fix application--save-history: Save review results to history--private: Use only local resources
config
Manage Vaahai configuration.
vaahai config [ACTION] [OPTIONS]
Actions:
init: Initialize configurationget KEY: Get a configuration valueset KEY VALUE: Set a configuration valuelist: List all configuration valuesreset: Reset configuration to defaultslocations: Show configuration file locations
Options:
--global: Apply to global configuration--local: Apply to local configuration--env: Show environment variable override
analyze
Run static analysis on code files.
vaahai analyze [PATH] [OPTIONS]
Arguments:
PATH: Path to file or directory to analyze
Options:
--analyzer {pylint,eslint,all}: Analyzer to use--format {text,json,html}: Output format--output-file FILE: Save output to a file
Documentation
Comprehensive documentation is available in the /docs directory:
To view the documentation in your browser:
# Install Docsify (if not already installed)
npm install -g docsify-cli
# Start the documentation server
docsify serve docs
# Access at http://localhost:3000
Contributing
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
License
This project is licensed under the MIT License - see the LICENSE file for details.
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 vaahai-0.2.8.tar.gz.
File metadata
- Download URL: vaahai-0.2.8.tar.gz
- Upload date:
- Size: 45.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.13.3 Darwin/24.5.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
edba781571f8dc59cee93fdc7df94b6d8a7606445542f4696db918a73d32624d
|
|
| MD5 |
7de41618f4396d424b5d6c8b4ea5c82e
|
|
| BLAKE2b-256 |
85e6fe1693dea6e9bfde6f037c595c47a98309a71f86519075b854a1e179b07d
|
File details
Details for the file vaahai-0.2.8-py3-none-any.whl.
File metadata
- Download URL: vaahai-0.2.8-py3-none-any.whl
- Upload date:
- Size: 59.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.13.3 Darwin/24.5.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
421ac887f1a3654a2a261a69f382242020d6675054ab06cecdcf6628b2c282f3
|
|
| MD5 |
22d0b372bc6f86f6cb4f17489ea41a77
|
|
| BLAKE2b-256 |
b3a64e9fa49de79dda0da1c6960a79ad22a941aa3a4fb499e3b4246c4b0ec3a6
|