A multi AI agent CLI tool using Microsoft Autogen Framework
Project description
VaahAI
VaahAI is a multi-agent AI CLI tool built with Microsoft's Autogen Framework, designed to enhance code quality and development workflows through AI-powered code review, auditing, generation, and scaffolding capabilities.
๐ Features
- Multi-Agent Architecture: Specialized AI agents collaborate to perform complex tasks
- Code Review: Comprehensive code review focusing on quality, style, and best practices
- Code Audit: Security vulnerability detection, compliance checking, and architectural assessment
- Code Generation: AI-powered code generation from natural language descriptions
- Multiple LLM Support: OpenAI, Claude, Junie, and local models via Ollama
- Flexible Configuration: Layered configuration system with global defaults and project-specific settings
- Git Integration: Commit applied changes, generate meaningful commit messages, and prepare pull requests
๐ Getting Started
Prerequisites
- Python 3.9+
- Poetry (Python package manager)
- Git
- Docker (optional, for code execution)
Installation
# Clone the repository
git clone https://github.com/webreinvent/vaahai.git
cd vaahai
# Install dependencies with Poetry
poetry install
# Activate the Poetry virtual environment
poetry shell
Development Setup
# Install development dependencies
poetry install --with dev
# Run tests
poetry run pytest
# Format code
poetry run black vaahai
poetry run isort vaahai
# Lint code
poetry run flake8 vaahai
poetry run mypy vaahai
Configuration
# Run the configuration wizard
poetry run vaahai config init
# Or manually edit the configuration file
nano ~/.vaahai/config.toml
๐ ๏ธ Usage
CLI Command Structure
VaahAI provides a modular CLI organized into logical command groups. The command structure follows this hierarchy:
vaahai [command_group] [command] [action] [options]
Where:
vaahaiis the main CLI applicationcommand_groupis one of the logical groups (core, project, dev)commandis a specific command within that groupactionis a subcommand or action for that commandoptionsare additional flags and parameters
Core Commands
vaahai config: Configuration managementvaahai config init: Set up initial configurationvaahai config show: Display current configuration
vaahai version: Display version information
Project Commands
vaahai review: Code review commandsvaahai review run: Run a code review on specified path
vaahai audit: Security and compliance audit commandsvaahai audit run: Run a security/compliance audit on specified path
Development Commands
vaahai dev helloworld: Test command to verify proper functioningvaahai dev helloworld run: Execute the hello world test
vaahai dev showcase: Demonstrate Rich formatting capabilities
All commands support the --help flag for detailed usage information. For backward compatibility, direct command access (e.g., vaahai helloworld instead of vaahai dev helloworld) is also supported.
Global Options
The following options are available for all commands:
--verbose: Enable verbose output (can also be set withVAAHAI_VERBOSE=1)--quiet: Suppress non-essential output (can also be set withVAAHAI_QUIET=1)--config PATH: Specify a custom configuration file path--help: Show help message and exit
Basic Commands
# Show help information
vaahai --help
# Show help for a specific command group
vaahai dev --help
# Show help for a specific command
vaahai dev helloworld --help
# Test installation and configuration
vaahai dev helloworld run
# Or using backward compatibility
vaahai helloworld run
# Review code in a file or directory
vaahai review run --path ./my_project --depth standard
# This follows the structure: vaahai [command_group] [command] [action] [options]
# Audit a project for security and compliance
vaahai audit run --path ./my_project --security --compliance owasp
# Show version information
vaahai version
# View Rich formatting showcase
vaahai dev showcase
Example Workflow
# Initialize configuration
vaahai config init
# Review a Python file
vaahai review run --path ./app.py --focus quality
# Apply suggested changes
vaahai apply --file review_suggestions.json
# Commit the changes
vaahai commit --message "Fix code quality issues in app.py"
Terminal Output
VaahAI CLI uses Rich for consistent, styled terminal output. Output behavior can be controlled with:
- Verbose mode: Set
--verboseflag orVAAHAI_VERBOSE=1environment variable - Quiet mode: Set
--quietflag orVAAHAI_QUIET=1environment variable
For more details on the Rich integration, see the Rich Integration Documentation.
๐๏ธ Project Structure
vaahai/
โโโ ai_docs/ # AI-specific documentation
โโโ ai_prompts/ # Prompt templates for AI agents
โโโ docs/ # User and developer documentation
โ โโโ cli/ # CLI-specific documentation
โโโ specs/ # Project specifications and requirements
โโโ vaahai/ # Main package
โ โโโ agents/ # Agent implementations
โ โโโ cli/ # CLI commands and handlers
โ โ โโโ commands/ # Command implementations
โ โ โ โโโ core/ # Core command group
โ โ โ โ โโโ config/ # Configuration commands
โ โ โ โ โโโ version/ # Version commands
โ โ โ โโโ project/ # Project command group
โ โ โ โ โโโ audit/ # Audit commands
โ โ โ โ โโโ review/ # Code review commands
โ โ โ โโโ dev/ # Development command group
โ โ โ โ โโโ helloworld/ # Hello world test command
โ โ โ โ โโโ showcase/ # Rich formatting showcase
โ โ โ โโโ helloworld/ # Legacy direct command (for backward compatibility)
โ โ โโโ main.py # CLI entry point
โ โ โโโ utils/ # CLI utilities
โ โ โโโ console.py # Rich formatting utilities
โ โ โโโ help.py # Custom help formatting
โ โโโ config/ # Configuration management
โ โโโ llm/ # LLM provider integrations
โ โโโ utils/ # Utility functions and helpers
โโโ tests/ # Test suite
โโโ cli/ # CLI tests
๐ Documentation
For more detailed documentation, please refer to:
- Project Plan
- Features Specification
- Technical Architecture
- User Guide
- API Reference
- CLI Documentation
๐ค Contributing
We welcome contributions from the community! Please see our Contributing Guidelines for more details on how to get involved.
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Acknowledgements
- Microsoft Autogen Framework
- Typer
- InquirerPy
- All our contributors and supporters
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.12.tar.gz.
File metadata
- Download URL: vaahai-0.2.12.tar.gz
- Upload date:
- Size: 22.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 |
81c5b6bcba244c53019de35798b886a52f2eb405e52911b4f1e5ec67270c08d6
|
|
| MD5 |
6d3557063c46129af8bf37f213566dc6
|
|
| BLAKE2b-256 |
178e976ab85549def7eedd0bbdce3cf02f0d8ef2d4f7bdbd034e16f1984ceb9d
|
File details
Details for the file vaahai-0.2.12-py3-none-any.whl.
File metadata
- Download URL: vaahai-0.2.12-py3-none-any.whl
- Upload date:
- Size: 34.5 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 |
6d25b785f8efeef488078f252677baae85a8f3f420f91b7df715d259e55f64db
|
|
| MD5 |
d9bbf7f4dfc1d3cdb2ba8386bec41a91
|
|
| BLAKE2b-256 |
5e6ef52e48c9b94e0953414e0a8df579709f855fb9eda2c4328e6314aca9a4cf
|