ai-code-buddy

Crates.ioai-code-buddy
lib.rsai-code-buddy
version0.4.20
created_at2025-07-31 22:52:53.677102+00
updated_at2025-08-29 05:13:08.165312+00
descriptionAn AI-powered code review tool with elegant Bevy-based TUI
homepagehttps://github.com/edgarhsanchez/ai_code_buddy
repositoryhttps://github.com/edgarhsanchez/ai_code_buddy
max_upload_size
id1775853
size2,203,683
Edgar H Sanchez (edgarhsanchez)

documentation

README

AI Code Buddy

AI Code Buddy

Crates.io License: MIT Code Coverage Test Status

๐Ÿค– An AI-powered code review tool with an elegant Bevy-based TUI that analyzes Git repositories and provides intelligent feedback on code quality, security vulnerabilities, and maintainability issues.

Features

  • ๐Ÿ” Intelligent Code Analysis: Advanced pattern matching to analyze code and provide meaningful suggestions
  • ๐Ÿ›ก๏ธ OWASP Security Analysis: Comprehensive OWASP Top 10 vulnerability detection with precise line-by-line reporting
  • ๐ŸŒฒ Git Branch Comparison: Compare commits between branches with detailed diff analysis
  • ๐ŸŽฏ Multi-Language Support: Supports Rust, JavaScript, Python, and more programming languages
  • ๐Ÿ“Š Detailed Reporting: Categorized issues by severity (Critical, High, Medium, Low, Info)
  • ๐Ÿ–ฅ๏ธ Modern TUI Interface: Beautiful Bevy-powered terminal user interface with real-time analysis
  • ๐Ÿ–ฅ๏ธ CLI Mode: Traditional command-line interface for scripts and CI/CD integration
  • ๐Ÿ“‹ Multiple Output Formats: Summary, detailed, JSON, and Markdown output formats
  • ๐ŸŽจ File Filtering: Include/exclude files using glob patterns
  • ๐Ÿ‘ฅ Credits System: Interactive credits display with comprehensive contributor and library information
  • ๐Ÿ”ง Professional CLI: Complete argument parsing with help and validation

Screenshots

Interactive TUI Mode

The default mode launches an elegant terminal user interface built with Bevy:

ai-code-buddy

Features:

  • Real-time analysis display
  • Interactive navigation through issues
  • Multiple view tabs (Overview, Analysis, Reports)
  • Keyboard shortcuts for efficient workflow
  • Beautiful dark theme with syntax highlighting

CLI Mode

For automation and CI/CD integration:

ai-code-buddy --cli --format summary

Example Output:

๐Ÿ” AI Code Review Tool
๐Ÿ“‚ Repository: .
๐ŸŒฟ Comparing: main โ†’ HEAD

๐ŸŽฏ Code Review Summary
==========================================
๐ŸŒฟ Branches: main โ†’ feat/bevy_rewrite
๐Ÿ“ Files modified: 12
โž• Lines added: 486
โž– Lines removed: 234
๐Ÿ› Total issues: 5

๐Ÿค– AI Assessment:
Based on the code changes between branches, I've analyzed 12 files with detailed 
attention to security, performance, and code quality.

KEY FINDINGS:
โ€ข src/main.rs:
  โš ๏ธ  HIGH: Line 45: Consider using more specific error types
  ๐Ÿ”ถ MEDIUM: Line 67: Function complexity could be reduced

โ€ข src/widgets/analysis.rs:
  ๐Ÿšจ CRITICAL: Line 123: Potential unsafe memory access
  โš ๏ธ  HIGH: Line 156: Missing input validation

๐Ÿ“Š Technology Stack:
  Languages: Rust
  Frameworks: Bevy, Ratatui

๐Ÿ” Issues by Category:
  Security: 2 issues
  Performance: 1 issue
  Maintainability: 2 issues

Installation

Quick Installation (Recommended)

๐Ÿš€ One-Command Install

cargo install ai-code-buddy

The build system automatically detects your hardware and enables the best acceleration:

  • ๐ŸŽ Apple Silicon (M1/M2/M3): Metal GPU acceleration
  • ๐ŸŸข NVIDIA GPU: CUDA acceleration (Windows-only; if drivers available)
  • ๐Ÿ”ต Intel processors: MKL (Math Kernel Library) acceleration
  • ๐Ÿ’ป Fallback: Optimized CPU execution

๐Ÿ”ง Platform-Specific Installation

macOS (Homebrew) - Coming Soon:

# Future release - not yet available
brew install ai-code-buddy

Ubuntu/Debian:

# Install Rust if not already installed
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env

# Install AI Code Buddy
cargo install ai-code-buddy

Windows:

# Install Rust via rustup-init.exe from https://rustup.rs/
# Then install AI Code Buddy
cargo install ai-code-buddy

Docker (Cross-Platform):

# Build image
docker build -t ai-code-buddy .

# Run analysis on current directory
docker run -v $(pwd):/workspace ai-code-buddy --cli

Development Installation

๐Ÿ“ฆ From Source (Latest Features)

# Clone the repository
git clone https://github.com/edgarhsanchez/ai_code_buddy.git
cd ai_code_buddy

# Build with GPU acceleration (auto-detected)
cargo build --release

# Run directly
./target/release/ai-code-buddy --help

# Optional: Add to PATH
sudo ln -s $(pwd)/target/release/ai-code-buddy /usr/local/bin/

๐ŸŽฏ Custom GPU Features (Advanced)

# Force specific GPU backend
cargo install ai-code-buddy --features gpu-metal    # Apple Silicon
cargo install ai-code-buddy --features gpu-cuda     # NVIDIA CUDA (Windows only)  
cargo install ai-code-buddy --features gpu-mkl      # Intel MKL

# CPU-only build (smaller binary)
cargo install ai-code-buddy --no-default-features

Verification

โœ… Verify Installation

# Check version and features
ai-code-buddy --version
ai-code-buddy --help

# Test with a simple repository
cd ~/your-git-project
ai-code-buddy --cli --format summary

๐Ÿ” GPU Acceleration Check

# Force GPU mode to test acceleration
ai-code-buddy --gpu --cli --verbose

# Expected output for Apple Silicon:
# ๐ŸŽ Apple Silicon detected, using Metal backend
# ๐Ÿ”ง AI Analyzer initialized with Metal backend

# Force CPU mode for comparison
ai-code-buddy --cpu --cli --verbose

Prerequisites

Component Requirement Purpose
Rust 1.70+ Building and running the application
Git 2.0+ Repository analysis and branch comparison
Terminal Modern with Unicode TUI interface and proper display
Memory 512MB+ RAM Analysis processing (more for large repos)
Storage 50MB+ free Binary installation and analysis cache

๐Ÿ–ฅ๏ธ Platform Requirements

macOS:

  • macOS 10.15+ (Catalina or later)
  • Apple Silicon: Metal GPU drivers (included in macOS)
  • Intel: Optional Intel MKL support

Linux:

  • Kernel 3.10+ (most distributions from 2013+)
  • NVIDIA: CUDA drivers 11.0+ (optional, for GPU acceleration)
  • glibc 2.17+ or musl libc

Windows:

  • Windows 10 version 1903+
  • WSL2 recommended for best experience
  • PowerShell 5.1+ or Windows Terminal

Troubleshooting Installation

Common Issues

โŒ "cargo: command not found"

# Install Rust toolchain
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env

โŒ GPU acceleration not working

# Check if GPU features were compiled
ai-code-buddy --gpu --cli --verbose

# If Metal not available on Apple Silicon:
cargo install ai-code-buddy --features gpu-metal --force

# If CUDA not available with NVIDIA (Windows only):
cargo install ai-code-buddy --features gpu-cuda --force

โŒ "failed to compile" on older systems

# Update Rust to latest version
rustup update

# Clean install with latest Rust
cargo install ai-code-buddy --force

โŒ Out of memory during compilation

# Reduce parallel compilation jobs
export CARGO_BUILD_JOBS=2
cargo install ai-code-buddy

# Or use pre-compiled binary (when available)

โŒ Permission denied on Unix systems

# Install to user directory instead of system
cargo install ai-code-buddy --root ~/.local
export PATH="$HOME/.local/bin:$PATH"

Quick Start Guide

๐ŸŽฏ First Run (30 seconds)

# 1. Navigate to any Git repository
cd ~/my-project

# 2. Run interactive analysis
ai-code-buddy

# 3. Or get a quick CLI summary
ai-code-buddy --cli --format summary

๐Ÿš€ Common First Commands

# Analyze current branch vs main
ai-code-buddy --cli --source main --target HEAD

# Focus on security issues only
ai-code-buddy --cli --include "src/**" --format detailed

# Generate a report for your team
ai-code-buddy --cli --format markdown > code-review.md

# CI/CD integration test
ai-code-buddy --cli --format json > review.json

# View comprehensive credits and acknowledgments
ai-code-buddy --cli --credits

Command Line Interface

Usage

ai-code-buddy [OPTIONS] [REPO_PATH]

Arguments

Argument Description Default
[REPO_PATH] Path to the Git repository Current directory (.)

Options

Option Short Description Default Example
--source <BRANCH> -s Source branch to compare from main -s feature-branch
--target <BRANCH> -t Target branch to compare to HEAD -t develop
--cli Run in CLI mode with text output Interactive TUI --cli
--verbose -v Enable verbose output for debugging Off -v
--credits Show credits and list all contributors Off --credits
--format <FORMAT> -f Output format for results summary -f json
--exclude <PATTERN> Exclude files matching glob pattern None --exclude "test_files/**"
--include <PATTERN> Include only files matching glob pattern None --include "src/**"
--gpu Enable GPU acceleration (auto-detected) Auto-detected --gpu
--cpu Force CPU mode (disable GPU) GPU if available --cpu
--disable-ai Disable AI-powered analysis AI enabled --disable-ai
--help -h Print help information --help
--version -V Print version information --version

๐Ÿค– AI-Powered Analysis

AI Code Buddy features advanced AI-powered analysis that goes beyond traditional pattern matching to provide deeper insights into code quality, architecture, and maintainability.

AI Analysis Features

  • ๐Ÿง  Enhanced Pattern Recognition: Contextual understanding of code patterns and anti-patterns
  • ๐Ÿ—๏ธ Architecture Analysis: Detection of God classes, complex methods, and structural issues
  • ๐Ÿ”„ Concurrency Analysis: Identification of potential race conditions in multi-threaded code
  • โš–๏ธ Error Handling Assessment: Consistency analysis of error handling patterns
  • โšก Performance Optimization: Context-aware suggestions for performance improvements
  • ๐Ÿ“ Complexity Scoring: Maintainability metrics and refactoring recommendations

Using AI Analysis

Default Behavior (AI Enabled):

# AI analysis is enabled by default for maximum insights
ai-code-buddy --cli
# Output: ๐Ÿค– AI inference enabled - using advanced AI analysis

Disable AI Analysis (Rule-based Only):

# Use traditional rule-based analysis only
ai-code-buddy --cli --disable-ai
# Output: ๐Ÿ” AI inference disabled - using rule-based analysis only

Performance Comparison:

# AI-enhanced analysis (more comprehensive)
ai-code-buddy --cli --format summary
# Result: ~33 issues detected

# Rule-based analysis (faster)
ai-code-buddy --cli --disable-ai --format summary  
# Result: ~27 issues detected

When to Use Each Mode

Mode Use Case Pros Cons
AI Enabled (Default) Comprehensive code review, architecture assessment More thorough analysis, better insights Slightly slower
AI Disabled Quick scans, CI/CD pipelines, performance-critical Faster execution, consistent results Fewer issues detected

Output Formats

Format Description Use Case
summary Summary output with key findings Quick overview and human review
detailed Detailed output with all issues Comprehensive analysis
json JSON format for programmatic use CI/CD integration, tooling
markdown Markdown format for documentation GitHub Issues, documentation

Usage Examples & Use Cases

๐ŸŽฏ Interactive TUI Mode (Default)

Launch the modern Bevy-powered terminal interface for comprehensive analysis:

ai-code-buddy

๐ŸŽฎ TUI Navigation:

  • Tab/Shift+Tab: Switch between Overview, Analysis, and Reports tabs
  • โ†‘/โ†“ Arrow Keys: Navigate through issues and files
  • Enter: View detailed issue information and recommendations
  • C: View comprehensive credits and acknowledgments
  • R: Generate and export comprehensive reports
  • Q/Ctrl+C: Quit application gracefully
  • Space: Toggle issue selection for bulk operations
  • F: Apply and modify file filters

๐Ÿ“Š TUI Features:

  • Real-time analysis progress with file-by-file updates
  • Interactive issue browsing with syntax highlighting
  • Comprehensive credits display with scrollable contributor and library information
  • Multiple export formats (Summary, Detailed, JSON, Markdown)
  • GPU acceleration status and performance metrics
  • Beautiful dark theme optimized for long analysis sessions

๐Ÿ”ง CLI Mode Examples

๐Ÿš€ Quick Analysis

# Basic analysis of current branch vs main
ai-code-buddy --cli

# Compare specific branches
ai-code-buddy --cli --source main --target feature-branch

# Analyze specific directory with focus
ai-code-buddy --cli --include "src/**" --exclude "tests/**"

๐Ÿ” Security-Focused Analysis

# Comprehensive OWASP security scan
ai-code-buddy --cli --format detailed --include "**/*.js" --include "**/*.py" --include "**/*.rs"

# Focus on authentication and authorization code
ai-code-buddy --cli --include "**/auth/**" --include "**/security/**" --include "**/admin/**"

# Quick security check for critical files
ai-code-buddy --cli --include "**/*auth*" --include "**/*login*" --include "**/*password*"

โšก Performance Analysis

# Focus on performance-critical code paths
ai-code-buddy --cli --include "src/core/**" --include "src/engine/**" --format detailed

# Large codebase optimization
ai-code-buddy --cli --exclude "target/**" --exclude "node_modules/**" --exclude "dist/**"

# Algorithm analysis
ai-code-buddy --cli --include "**/*algorithm*" --include "**/*performance*" --verbose

๐ŸŽ‰ Credits & Acknowledgments

# View comprehensive project credits and contributors
ai-code-buddy --cli --credits

Credits Output:

๐ŸŽ‰ AI Code Buddy - Comprehensive Credits & Acknowledgments
==========================================================

๐Ÿ“š About AI Code Buddy:
An intelligent code analysis tool with elegant Bevy-powered TUI
that provides comprehensive code reviews with AI assistance.

๐Ÿ‘ฅ Project Contributors:
  โ€ข Edgar Sanchez <esanchez@m2iab.com> (76 commits)
  โ€ข Edgar H Sanchez <esanchez@m2iab.com> (14 commits)

๐Ÿ“ฆ Library Dependencies & Licenses:
๐Ÿ”ง anyhow v1.0.95
   ๐Ÿ“„ License: MIT OR Apache-2.0
   ๐Ÿ“– Description: Flexible concrete Error type built on std::error::Error
   ๐Ÿ”— Repository: https://github.com/dtolnay/anyhow
   ๐Ÿ‘ฅ Key Contributors: David Tolnay, And 50+ contributors

[... additional libraries ...]

๐Ÿ™ Special Thanks:
  โ€ข The Rust Programming Language team
  โ€ข All open source contributors
  โ€ข The Bevy game engine community
  โ€ข The broader Rust ecosystem

๐Ÿญ Production Use Cases

๐Ÿšจ Pre-Commit Hooks

#!/bin/bash
# .git/hooks/pre-commit
echo "๐Ÿ” Running AI Code Buddy analysis..."

# Run analysis and check for critical issues
ai-code-buddy --cli --format json --source main --target HEAD > /tmp/review.json

# Exit with error if critical issues found
if jq -e '.issues[] | select(.severity == "Critical")' /tmp/review.json > /dev/null; then
    echo "โŒ Critical issues found! Review required."
    ai-code-buddy --cli --format summary --source main --target HEAD
    exit 1
fi

echo "โœ… No critical issues found."

๐Ÿ”„ CI/CD Pipeline Integration

GitHub Actions:

name: AI Code Review
on: [pull_request]

jobs:
  code-review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0  # Full history for branch comparison
      
      - name: Install Rust
        uses: dtolnay/rust-toolchain@stable
      
      - name: Install AI Code Buddy
        run: cargo install ai-code-buddy
      
      - name: Run Code Analysis
        run: |
          ai-code-buddy --cli --format json \
            --source ${{ github.event.pull_request.base.ref }} \
            --target ${{ github.event.pull_request.head.ref }} \
            > review.json
      
      - name: Check Critical Issues
        run: |
          CRITICAL_COUNT=$(jq '[.issues[] | select(.severity == "Critical")] | length' review.json)
          echo "Critical issues found: $CRITICAL_COUNT"
          
          if [ "$CRITICAL_COUNT" -gt 0 ]; then
            echo "โŒ Critical security issues detected!"
            ai-code-buddy --cli --format markdown \
              --source ${{ github.event.pull_request.base.ref }} \
              --target ${{ github.event.pull_request.head.ref }} \
              > review-report.md
            exit 1
          fi
      
      - name: Upload Review Report
        uses: actions/upload-artifact@v3
        if: always()
        with:
          name: code-review-report
          path: review.json

GitLab CI:

stages:
  - analysis

code_review:
  stage: analysis
  image: rust:latest
  script:
    - cargo install ai-code-buddy
    - ai-code-buddy --cli --format json --source $CI_MERGE_REQUEST_TARGET_BRANCH_NAME --target $CI_COMMIT_REF_NAME > review.json
    - ai-code-buddy --cli --format markdown --source $CI_MERGE_REQUEST_TARGET_BRANCH_NAME --target $CI_COMMIT_REF_NAME > review.md
  artifacts:
    reports:
      junit: review.json
    paths:
      - review.md
    expire_in: 1 week
  only:
    - merge_requests

Jenkins Pipeline:

pipeline {
    agent any
    stages {
        stage('Code Review') {
            steps {
                sh 'cargo install ai-code-buddy'
                sh '''
                    ai-code-buddy --cli --format json \
                        --source ${CHANGE_TARGET} --target ${CHANGE_BRANCH} \
                        > review.json
                '''
                
                script {
                    def review = readJSON file: 'review.json'
                    def criticalIssues = review.issues.findAll { it.severity == 'Critical' }
                    
                    if (criticalIssues.size() > 0) {
                        error("Critical security issues found: ${criticalIssues.size()}")
                    }
                }
            }
            post {
                always {
                    archiveArtifacts artifacts: 'review.json', fingerprint: true
                }
            }
        }
    }
}

๐Ÿ“Š Automated Reporting

#!/bin/bash
# weekly-security-scan.sh

# Generate comprehensive security report
ai-code-buddy --cli --format markdown \
    --source main --target HEAD \
    --include "src/**" --include "lib/**" \
    > "security-report-$(date +%Y-%m-%d).md"

# Generate JSON for metrics tracking
ai-code-buddy --cli --format json \
    --source main --target HEAD \
    > "metrics-$(date +%Y-%m-%d).json"

# Send to security team if critical issues found
CRITICAL_COUNT=$(jq '[.issues[] | select(.severity == "Critical")] | length' "metrics-$(date +%Y-%m-%d).json")

if [ "$CRITICAL_COUNT" -gt 0 ]; then
    echo "โš ๏ธ $CRITICAL_COUNT critical security issues found!"
    # Send alert email, Slack notification, etc.
fi

๐ŸŽฏ Language-Specific Examples

๐Ÿฆ€ Rust Projects

# Comprehensive Rust analysis
ai-code-buddy --cli --include "**/*.rs" --include "**/Cargo.toml" --format detailed

# Focus on unsafe code and memory safety
ai-code-buddy --cli --include "**/*.rs" --verbose | grep -i "unsafe\|memory\|pointer"

# Performance analysis for Rust
ai-code-buddy --cli --include "src/**/*.rs" --exclude "tests/**" --format json | \
    jq '.issues[] | select(.category == "Performance")'

๐Ÿ Python Projects

# Python security and performance scan
ai-code-buddy --cli --include "**/*.py" --include "**/requirements.txt" --format detailed

# Django/Flask security analysis
ai-code-buddy --cli \
    --include "**/*.py" \
    --include "**/settings.py" \
    --include "**/views.py" \
    --include "**/models.py"

# Focus on potential injection vulnerabilities
ai-code-buddy --cli --include "**/*.py" --format json | \
    jq '.issues[] | select(.description | contains("injection"))'

๐ŸŸจ JavaScript/TypeScript Projects

# Full Node.js/React project analysis
ai-code-buddy --cli \
    --include "**/*.js" --include "**/*.ts" --include "**/*.jsx" --include "**/*.tsx" \
    --include "**/package.json" \
    --exclude "**/node_modules/**" --exclude "**/dist/**"

# Frontend security focus (XSS, DOM manipulation)
ai-code-buddy --cli \
    --include "src/**/*.js" --include "src/**/*.ts" \
    --format detailed | grep -i "xss\|dom\|innerhtml"

# API security analysis
ai-code-buddy --cli \
    --include "**/routes/**" --include "**/api/**" --include "**/controllers/**" \
    --format json

๐Ÿ” Advanced Filtering Examples

๐Ÿ“ Smart Directory Filtering

# Focus on core business logic
ai-code-buddy --cli \
    --include "src/core/**" \
    --include "src/services/**" \
    --include "src/models/**" \
    --exclude "**/*test*" \
    --exclude "**/*spec*"

# Exclude all build and dependency directories
ai-code-buddy --cli \
    --exclude "target/**" \
    --exclude "node_modules/**" \
    --exclude "vendor/**" \
    --exclude "dist/**" \
    --exclude "build/**" \
    --exclude ".git/**" \
    --exclude "**/*.min.js"

# Include only configuration and security files
ai-code-buddy --cli \
    --include "**/*config*" \
    --include "**/*auth*" \
    --include "**/*security*" \
    --include "**/.env*" \
    --include "**/secrets/**"

๐Ÿ” Security-Critical File Patterns

# Authentication and authorization
ai-code-buddy --cli \
    --include "**/*auth*" \
    --include "**/*login*" \
    --include "**/*session*" \
    --include "**/*token*" \
    --include "**/*jwt*"

# Database and API security
ai-code-buddy --cli \
    --include "**/*db*" \
    --include "**/*database*" \
    --include "**/*api*" \
    --include "**/*query*" \
    --include "**/*sql*"

# Configuration and secrets
ai-code-buddy --cli \
    --include "**/*.env*" \
    --include "**/*config*" \
    --include "**/*secret*" \
    --include "**/*key*" \
    --include "**/settings*"

๐Ÿ“ˆ Real Output Format Examples

Each format serves different use cases. Here are examples with actual output from running the tool:

๏ฟฝ Summary Format (Default)

Best for quick overviews and human review:

ai-code-buddy --cli --format summary

Actual Output:

๐Ÿ” AI Code Review Tool (CLI Mode)
๐Ÿ“‚ Repository: .
๐ŸŒฟ Comparing: main โ†’ HEAD
๐Ÿ“Š Starting AI-powered analysis...
๐Ÿ“ˆ Found 36 changed files
๐Ÿš€ GPU acceleration enabled (auto-detected or requested)
๐Ÿง  Initializing AI analyzer...
๐ŸŽ Apple Silicon detected, using Metal backend
๐Ÿ”ง Using backend: Metal
๐Ÿ” AI inference currently disabled due to token sampling issues
๐Ÿ”ง Using enhanced rule-based analysis for comprehensive code review
๐Ÿ”ง AI Analyzer initialized with Metal backend
  ๐Ÿ“„ Analyzing: .DS_Store (Committed) [0.0%]
  ๐Ÿ“‘ Analyzing: build.rs (Staged) [2.8%]
  ๐Ÿ“‘ Analyzing: Cargo.toml (Staged) [8.3%]
  ๐Ÿ“ Analyzing: CHANGELOG.md (Modified) [11.1%]
  ๐Ÿ“‘ Analyzing: format_demo.js (Staged) [16.7%]
  ๐Ÿ“‘ Analyzing: README.md (Staged) [19.4%]
  ๐Ÿ“‘ Analyzing: src/args.rs (Staged) [22.2%]
  [... continues with progress indicators ...]
โœ… AI analysis complete! Found 43 issues.

๐ŸŽฏ Code Review Summary
==========================================
๐Ÿ“ Files analyzed: 36
๐Ÿ› Total issues: 43
โš ๏ธ  Severity breakdown:
  ๐Ÿšจ Critical: 7
  โš ๏ธ  High: 1
  ๐Ÿ”ถ Medium: 3
  โ„น๏ธ  Low: 32

๐Ÿ” Detailed Format

Comprehensive analysis with line-by-line issues:

ai-code-buddy --cli --format detailed --gpu

Actual Output:

๐ŸŽฏ Code Review Summary
==========================================
๐Ÿ“ Files analyzed: 36
๐Ÿ› Total issues: 43
โš ๏ธ  Severity breakdown:
  ๐Ÿšจ Critical: 7
  โš ๏ธ  High: 1
  ๐Ÿ”ถ Medium: 3
  โ„น๏ธ  Low: 32

๐Ÿ” Detailed Analysis:
==========================================
๐Ÿšจ ๐ŸŸก build.rs (Line 100) [staged]: Command injection vulnerability - sanitize inputs
โ„น๏ธ ๐Ÿ”ด CHANGELOG.md (Line 20) [modified]: Line too long (124 chars) - consider breaking into multiple lines
๐Ÿšจ ๐ŸŸก format_demo.js (Line 1) [staged]: Hardcoded credentials detected - use environment variables
๐Ÿšจ ๐ŸŸก format_demo.js (Line 1) [staged]: Code injection vulnerability - avoid eval/exec
โš ๏ธ ๐ŸŸก src/core/ai_analyzer.rs (Line 555) [staged]: Unsafe code block - requires justification and review
๐Ÿ”ถ ๐ŸŸก src/core/analysis.rs (Line 50) [staged]: Nested loops detected - consider optimization
โ„น๏ธ ๐ŸŸก README.md (Line 8) [staged]: Line too long (202 chars) - consider breaking into multiple lines
[... continues with all issues ...]

๐Ÿ“‹ JSON Format

Perfect for automation and CI/CD integration:

ai-code-buddy --cli --format json --gpu

Actual Output:

{
  "files_count": 36,
  "issues_count": 43,
  "critical_issues": 7,
  "high_issues": 1,
  "medium_issues": 3,
  "low_issues": 32,
  "issues": [
    {
      "file": "build.rs",
      "line": 100,
      "severity": "Critical",
      "category": "Security",
      "description": "Command injection vulnerability - sanitize inputs",
      "commit_status": "Staged"
    },
    {
      "file": "format_demo.js",
      "line": 1,
      "severity": "Critical",
      "category": "Security",
      "description": "Hardcoded credentials detected - use environment variables",
      "commit_status": "Staged"
    },
    {
      "file": "format_demo.js",
      "line": 1,
      "severity": "Critical",
      "category": "Security",
      "description": "Code injection vulnerability - avoid eval/exec",
      "commit_status": "Staged"
    },
    {
      "file": "src/core/ai_analyzer.rs",
      "line": 555,
      "severity": "High",
      "category": "Security",
      "description": "Unsafe code block - requires justification and review",
      "commit_status": "Staged"
    },
    {
      "file": "src/core/analysis.rs",
      "line": 50,
      "severity": "Medium",
      "category": "Performance",
      "description": "Nested loops detected - consider optimization",
      "commit_status": "Staged"
    }
  ]
}

#### ๐Ÿ“ Markdown Format
Great for documentation and GitHub Issues:

```bash
ai-code-buddy --cli --format markdown --gpu

Actual Output:

# Code Review Report

## Summary

- **Files analyzed**: 36
- **Total issues**: 43
- **Critical**: 7
- **High**: 1
- **Medium**: 3
- **Low**: 32

## Issues

- **build.rs:100** - Critical - ![Staged](https://img.shields.io/badge/status-staged-yellow) Security - Command injection vulnerability - sanitize inputs
- **CHANGELOG.md:20** - Low - ![Modified](https://img.shields.io/badge/status-modified-red) Code Quality - Line too long (124 chars) - consider breaking into multiple lines
- **format_demo.js:1** - Critical - ![Staged](https://img.shields.io/badge/status-staged-yellow) Security - Hardcoded credentials detected - use environment variables
- **format_demo.js:1** - Critical - ![Staged](https://img.shields.io/badge/status-staged-yellow) Security - Code injection vulnerability - avoid eval/exec
- **src/core/ai_analyzer.rs:555** - High - ![Staged](https://img.shields.io/badge/status-staged-yellow) Security - Unsafe code block - requires justification and review
- **src/core/analysis.rs:50** - Medium - ![Staged](https://img.shields.io/badge/status-staged-yellow) Performance - Nested loops detected - consider optimization
[... continues with all issues ...]

๐ŸŽฏ Include/Exclude Pattern Examples

Include specific file patterns:

ai-code-buddy --cli --format summary --include "src/**" --include "*.js"

Actual Output:

๐ŸŽฏ Code Review Summary
==========================================
๐Ÿ“ Files analyzed: 36
๐Ÿ› Total issues: 32  # Note: Fewer issues (32 vs 43) because only src/ and .js files analyzed
โš ๏ธ  Severity breakdown:
  ๐Ÿšจ Critical: 5
  โš ๏ธ  High: 1
  ๐Ÿ”ถ Medium: 3
  โ„น๏ธ  Low: 23

Exclude specific file patterns:

ai-code-buddy --cli --format summary --exclude "test_files/**" --exclude "*.md"

Actual Output:

๐ŸŽฏ Code Review Summary
==========================================
๐Ÿ“ Files analyzed: 36
๐Ÿ› Total issues: 34  # Note: Fewer issues (34 vs 43) because .md files excluded
โš ๏ธ  Severity breakdown:
  ๐Ÿšจ Critical: 6
  โš ๏ธ  High: 1
  ๐Ÿ”ถ Medium: 3
  โ„น๏ธ  Low: 24

๐Ÿ”ง Advanced Command Combinations

Verbose output with detailed progress:

ai-code-buddy --cli --format summary --verbose

GPU-accelerated analysis with JSON output:

ai-code-buddy --cli --format json --gpu

Branch comparison with markdown export:

ai-code-buddy --cli --format markdown --source main --target feature-branch > review.md

CI/CD pipeline integration:

# Exit with non-zero code if critical issues found
ai-code-buddy --cli --format json --source main --target HEAD | jq '
if .critical_issues > 0 then 
  error("Found \(.critical_issues) critical security issues") 
else 
  "โœ… No critical issues found" 
end'

Security-focused analysis:

ai-code-buddy --cli --format detailed \
  --include "**/*config*" \
  --include "**/*secret*" \
  --include "**/*key*" \
  --include "**/settings*"

๐Ÿ“Š Format Comparison

Format Best For File Size Human Readable Machine Parseable
summary Quick daily checks Smallest โœ… High โŒ No
detailed Complete code review Medium โœ… High โš ๏ธ Partial
json CI/CD automation Medium โŒ No โœ… Perfect
markdown Documentation/PRs Largest โœ… Perfect โš ๏ธ Partial

๐Ÿ“Š Practical Use Cases

# Daily development workflow
ai-code-buddy --cli --format summary

# Weekly team review with details
ai-code-buddy --cli --format detailed --source main --target develop | \
    tee "weekly-review-$(date +%Y-%U).txt"

# CI/CD automation
ai-code-buddy --cli --format json --source main --target HEAD | jq '
{
  "summary": {
    "total_issues": (.issues | length),
    "critical_issues": (.issues | map(select(.severity == "Critical")) | length),
    "files_analyzed": .metrics.files_analyzed
  },
  "security_issues": (.issues | map(select(.category == "Security"))),
  "performance_issues": (.issues | map(select(.category == "Performance")))
}'

# Generate team review report  
ai-code-buddy --cli --format markdown --source main --target feature-branch > review.md

# Add to pull request description
echo "## ๐Ÿค– AI Code Review Results" >> pr-description.md
ai-code-buddy --cli --format markdown --source main --target HEAD >> pr-description.md

Command Line Reference

Usage

ai-code-buddy [OPTIONS] [REPO_PATH]

Arguments

Argument Description Default
[REPO_PATH] Path to the Git repository Current directory (.)

Options

Option Short Description Default Example
--source <BRANCH> -s Source branch to compare from main -s feature-branch
--target <BRANCH> -t Target branch to compare to HEAD -t develop
--cli Run in CLI mode instead of TUI Interactive TUI --cli
--verbose -v Enable verbose output for debugging Off -v
--credits Show credits and list all contributors Off --credits
--format <FORMAT> -f Output format for results summary -f json
--exclude <PATTERN> Exclude files matching glob pattern None --exclude "test_files/**"
--include <PATTERN> Include only files matching glob pattern None --include "src/**"
--help -h Print help information --help
--version -V Print version information --version

Output Formats

Format Description Use Case
summary Summary output with key findings Quick overview and human review
detailed Detailed output with all issues Comprehensive analysis
json JSON format for programmatic use CI/CD integration, tooling
markdown Markdown format for documentation GitHub Issues, documentation

Issue Categories and Severity Levels

AI Code Buddy analyzes code across multiple dimensions:

๐Ÿ”’ Security Issues

  • ๐Ÿšจ Critical: OWASP Top 10 vulnerabilities, injection attacks, authentication bypasses
  • โš ๏ธ High: Potential security weaknesses, insecure configurations
  • ๐Ÿ”ถ Medium: Security best practice violations
  • โ„น๏ธ Low: Security recommendations and improvements

๐Ÿ› Code Quality Issues

  • ๐Ÿšจ Critical: Memory safety violations (unsafe Rust code), null pointer dereferences
  • โš ๏ธ High: Logic errors, potential runtime failures
  • ๏ฟฝ Medium: Code smells, anti-patterns
  • โ„น๏ธ Low: Style and formatting suggestions

โšก Performance Issues

  • โš ๏ธ High: Algorithmic inefficiencies, blocking operations
  • ๐Ÿ”ถ Medium: Suboptimal data structures, unnecessary allocations
  • โ„น๏ธ Low: Micro-optimizations, caching opportunities

๏ฟฝ Maintainability Issues

  • ๐Ÿ”ถ Medium: Complex functions, high cyclomatic complexity
  • โ„น๏ธ Low: Documentation gaps, naming improvements
  • โ„น๏ธ Info: Refactoring suggestions, architectural improvements

๐Ÿงช Testing Issues

  • โš ๏ธ High: Missing critical test coverage
  • ๐Ÿ”ถ Medium: Incomplete test scenarios
  • โ„น๏ธ Low: Test organization and best practices

Configuration and Customization

Automatic Detection

AI Code Buddy automatically detects and analyzes:

  • Repository Structure: Git branch topology, commit history
  • Technology Stack: Programming languages, frameworks, build tools
  • Dependencies: Package files (Cargo.toml, package.json, requirements.txt)
  • Code Patterns: Language-specific patterns and anti-patterns
  • File Relationships: Import/export dependencies, module structure

Environment Variables

The tool respects standard development environment variables:

# Git configuration
export GIT_DIR="/path/to/.git"
export GIT_WORK_TREE="/path/to/workdir"

# Analysis customization
export AI_CODE_BUDDY_VERBOSE=1    # Enable verbose output
export AI_CODE_BUDDY_FORMAT=json  # Set default output format

Performance Tuning

For large repositories, optimize analysis performance:

# Focus on recent changes only
ai-code-buddy --cli --source HEAD~10 --target HEAD

# Exclude large binary/generated directories
ai-code-buddy --cli \
  --exclude "target/**" \
  --exclude "node_modules/**" \
  --exclude "vendor/**" \
  --exclude "*.min.js" \
  --exclude "dist/**"

# Parallel analysis (automatic for multiple files)
ai-code-buddy --cli --verbose  # Shows parallel processing info

๐Ÿณ Docker & Containerization

Docker Usage

๐Ÿ“ฆ Pre-built Image (Coming Soon):

# Pull from Docker Hub (future release)
docker pull edgarhsanchez/ai-code-buddy:latest

# Run analysis on current directory
docker run -v $(pwd):/workspace edgarhsanchez/ai-code-buddy:latest --cli

๐Ÿ”ง Build Your Own Image:

# Dockerfile
FROM rust:1.70-slim as builder

WORKDIR /app
COPY . .
RUN cargo build --release

FROM debian:bookworm-slim
RUN apt-get update && apt-get install -y \
    git \
    ca-certificates \
    && rm -rf /var/lib/apt/lists/*

COPY --from=builder /app/target/release/ai-code-buddy /usr/local/bin/
ENTRYPOINT ["ai-code-buddy"]
# Build the image
docker build -t ai-code-buddy .

# Run analysis
docker run -v $(pwd):/workspace -w /workspace ai-code-buddy --cli

Docker Compose Integration

๐Ÿš€ Development Environment:

# docker-compose.yml
version: '3.8'
services:
  code-review:
    build: .
    volumes:
      - .:/workspace
      - ./reports:/reports
    working_dir: /workspace
    command: ["--cli", "--format", "json"]
    environment:
      - AI_CODE_BUDDY_VERBOSE=1
# Run with Docker Compose
docker-compose run code-review --source main --target HEAD

Kubernetes Deployment

๐Ÿ“Š Automated Code Review Job:

# k8s-code-review-job.yaml
apiVersion: batch/v1
kind: Job
metadata:
  name: ai-code-review
spec:
  template:
    spec:
      containers:
      - name: ai-code-buddy
        image: edgarhsanchez/ai-code-buddy:latest
        command: ["ai-code-buddy"]
        args: ["--cli", "--format", "json", "--source", "main", "--target", "HEAD"]
        volumeMounts:
        - name: source-code
          mountPath: /workspace
        - name: reports
          mountPath: /reports
        env:
        - name: AI_CODE_BUDDY_FORMAT
          value: "json"
      volumes:
      - name: source-code
        gitRepo:
          repository: "https://github.com/your-org/your-repo.git"
      - name: reports
        persistentVolumeClaim:
          claimName: reports-pvc
      restartPolicy: Never

๐ŸŽฏ Enterprise Deployment Examples

๐Ÿ“ˆ Scheduled Security Scans:

#!/bin/bash
# enterprise-security-scan.sh

# Daily security scan with Docker
docker run --rm \
  -v /opt/repositories:/repositories \
  -v /opt/reports:/reports \
  edgarhsanchez/ai-code-buddy:latest \
  --cli --format json \
  --include "**/*.rs" --include "**/*.py" --include "**/*.js" \
  --exclude "**/test/**" \
  /repositories/critical-app > /reports/daily-scan-$(date +%Y%m%d).json

# Check for critical issues and alert
CRITICAL_COUNT=$(jq '[.issues[] | select(.severity == "Critical")] | length' /reports/daily-scan-$(date +%Y%m%d).json)

if [ "$CRITICAL_COUNT" -gt 0 ]; then
    # Send alert to security team
    slack-notify "๐Ÿšจ $CRITICAL_COUNT critical security issues found in daily scan!"
fi

๐Ÿ”„ Multi-Repository Analysis:

# multi-repo-analysis.yml
version: '3.8'
services:
  frontend-review:
    image: edgarhsanchez/ai-code-buddy:latest
    volumes:
      - ./frontend:/workspace
    command: ["--cli", "--include", "**/*.js", "--include", "**/*.ts", "--format", "json"]
    
  backend-review:
    image: edgarhsanchez/ai-code-buddy:latest
    volumes:
      - ./backend:/workspace
    command: ["--cli", "--include", "**/*.rs", "--format", "json"]
    
  mobile-review:
    image: edgarhsanchez/ai-code-buddy:latest
    volumes:
      - ./mobile:/workspace
    command: ["--cli", "--include", "**/*.swift", "--include", "**/*.kt", "--format", "json"]

Requirements

  • Rust 1.70+: Required for building and running the application
  • Git repository: The tool analyzes Git repositories with commit history
  • Terminal: Modern terminal emulator with Unicode support for TUI mode
  • Memory: Minimum 512MB RAM (more for large repositories)
  • Storage: Temporary space for analysis cache

Supported Platforms

  • โœ… Linux: All major distributions
  • โœ… macOS: Intel and Apple Silicon
  • โœ… Windows: Windows 10+ with WSL2 recommended
  • โœ… FreeBSD: Tested on FreeBSD 13+

Supported Languages

  • ๐Ÿฆ€ Rust: Full support with Cargo integration
  • ๐ŸŸจ JavaScript/TypeScript: ES6+, Node.js, React patterns
  • ๐Ÿ Python: Python 3.7+, Django, Flask patterns
  • ๐Ÿ”„ More languages: Planned support for Go, Java, C++

Tips and Best Practices

๐Ÿš€ Performance Optimization

# Exclude large directories for faster analysis
ai-code-buddy --cli --exclude "target/**" --exclude "node_modules/**" --exclude "dist/**"

# Focus on specific areas
ai-code-buddy --cli --include "src/**" --include "lib/**"

# Use JSON format for programmatic processing
ai-code-buddy --cli --format json | jq '.issues.Security | length'

๐Ÿ” Security-Focused Analysis

# Run comprehensive OWASP analysis
ai-code-buddy --cli --include "**/*.js" --include "**/*.py" --include "**/*.rs" --format detailed

# Focus on authentication and authorization code
ai-code-buddy --cli --include "**/auth/**" --include "**/security/**"

# Check for hardcoded secrets
ai-code-buddy --cli --verbose | grep -i "secret\|password\|key"

๐Ÿ“Š Code Review Workflow

  1. Pre-commit analysis:

    ai-code-buddy --cli --source main --target HEAD
    
  2. Feature branch review:

    ai-code-buddy --cli --source main --target feature/new-feature --format markdown > review.md
    
  3. CI/CD integration:

    ai-code-buddy --cli --format json > review.json
    # Parse JSON for automated decision making
    

๐ŸŽฏ Effective File Filtering

# Include patterns (multiple patterns supported)
ai-code-buddy --cli \
  --include "src/**/*.rs" \
  --include "lib/**/*.rs" \
  --include "tests/**/*.rs"

# Exclude patterns (combine with include for precision)
ai-code-buddy --cli \
  --include "**/*.py" \
  --exclude "**/migrations/**" \
  --exclude "**/venv/**" \
  --exclude "**/__pycache__/**"

Security Analysis

AI Code Buddy includes comprehensive OWASP Top 10 security analysis with precise line-by-line vulnerability detection:

OWASP Top 10 Coverage

  • ๐Ÿšจ A01: Broken Access Control

    • Insecure Direct Object References
    • Missing authorization checks
    • Path traversal vulnerabilities
  • ๐Ÿ” A02: Cryptographic Failures

    • Hardcoded secrets and credentials
    • Weak cryptographic algorithms (MD5, SHA1)
    • Insecure storage of sensitive data
  • ๐Ÿ’‰ A03: Injection

    • SQL injection vulnerabilities
    • Command injection risks
    • Cross-Site Scripting (XSS)
    • Code injection via eval()
  • โš ๏ธ A04: Insecure Design

    • Missing rate limiting
    • Overly permissive CORS configuration
    • Insufficient security controls
  • ๐Ÿ”ง A05: Security Misconfiguration

    • Debug mode in production
    • Default credentials
    • Insecure cookie configuration
  • ๐Ÿงฉ A06: Vulnerable Components

    • Memory safety issues (Rust unsafe code)
    • Outdated dependency patterns
  • ๐Ÿ”‘ A07: Authentication Failures

    • Weak password policies
    • Session fixation vulnerabilities
    • Missing multi-factor authentication
  • ๐Ÿ›ก๏ธ A08: Software Integrity Failures

    • Insecure deserialization
    • Missing integrity checks
    • Remote code execution risks
  • ๐Ÿ“Š A09: Logging & Monitoring Failures

    • Logging sensitive information
    • Missing audit trails
    • Information disclosure
  • ๐ŸŒ A10: Server-Side Request Forgery

    • Unvalidated URL requests
    • Internal service exposure
    • SSRF attack vectors

Security Best Practices

  • Run analysis before merging feature branches
  • Pay special attention to Critical and High severity issues
  • Use verbose mode (-v) for debugging analysis issues
  • Review OWASP findings with security team
  • Test fixes in isolated environments

File Filtering Best Practices

# Exclude common build/generated directories
ai-code-buddy --cli --exclude "target/**" --exclude "node_modules/**" --exclude ".git/**"

# Include only source code
ai-code-buddy --cli --include "src/**" --include "lib/**" --include "tests/**"

# Language-specific filtering
ai-code-buddy --cli --include "**/*.rs" --include "**/*.toml"  # Rust projects
ai-code-buddy --cli --include "**/*.js" --include "**/*.ts"   # JavaScript projects   # JavaScript projects

Output Format Selection

  • Summary: Quick daily code reviews
  • Detailed: Comprehensive analysis before releases
  • JSON: CI/CD integration and automated processing
  • Markdown: Documentation and GitHub issue reports

Troubleshooting

Common Issues and Solutions

๐Ÿ” "Git Repository Not Found"

# Verify you're in a git repository
git status

# Initialize git if needed
git init

# Or specify repository path explicitly
ai-code-buddy --cli /path/to/your/repo

๐ŸŒฟ "Branch Not Found"

# List available branches
git branch -a

# Use correct branch names (check remote branches)
ai-code-buddy --cli --source origin/main --target feature-branch

# For new repositories with default branch
ai-code-buddy --cli --source HEAD~1 --target HEAD

๐Ÿ“‚ "No Issues Found"

This usually indicates:

  • โœ… Clean code with no detected issues
  • ๐ŸŽฏ No differences between specified branches
  • ๐Ÿšซ All files excluded by filter patterns
  • ๐Ÿ“ Analysis limited to supported file types

Solutions:

# Check what files are being analyzed
ai-code-buddy --cli --verbose

# Broaden file inclusion
ai-code-buddy --cli --include "**/*"

# Check different branches
ai-code-buddy --cli --source HEAD~5 --target HEAD

โšก Performance Issues with Large Repositories

# Exclude build directories
ai-code-buddy --cli --exclude "target/**" --exclude "node_modules/**"

# Focus on recent changes
ai-code-buddy --cli --source HEAD~10 --target HEAD

# Use more specific file patterns
ai-code-buddy --cli --include "src/**/*.rs"

๐Ÿ–ฅ๏ธ TUI Display Issues

# If TUI doesn't display correctly, use CLI mode
ai-code-buddy --cli

# Check terminal compatibility
echo $TERM

# For terminals with limited Unicode support
TERM=xterm-256color ai-code-buddy

๐Ÿ’พ Memory Issues

# For very large repositories, increase available memory or use filtering
ai-code-buddy --cli --exclude "vendor/**" --exclude "third_party/**"

# Process files in smaller batches
ai-code-buddy --cli --include "src/module1/**"
ai-code-buddy --cli --include "src/module2/**"

Debugging Options

Enable Verbose Output

ai-code-buddy --cli --verbose

Shows detailed processing information including:

  • Files being analyzed
  • Pattern matching results
  • Performance metrics
  • Error details

Check Version and Help

ai-code-buddy --version
ai-code-buddy --help
ai-code-buddy --credits

API and Integration

Exit Codes

# Success - analysis completed without errors
echo $?  # Returns 0

# Error - analysis failed or invalid arguments  
echo $?  # Returns 1

# Critical issues found (when configured)
echo $?  # Returns 2

Integration Examples

CI/CD Pipeline Integration

# GitHub Actions example
name: Code Review
on: [pull_request]

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0  # Full history for branch comparison
      
      - name: Install Rust
        uses: dtolnay/rust-toolchain@stable
      
      - name: Install AI Code Buddy
        run: cargo install ai-code-buddy
      
      - name: Run Analysis
        run: |
          ai-code-buddy --cli \
            --format json \
            --source ${{ github.event.pull_request.base.ref }} \
            --target ${{ github.event.pull_request.head.ref }} \
            > review.json
      
      - name: Check for Critical Issues
        run: |
          CRITICAL_ISSUES=$(jq '.issues | to_entries[] | select(.value[] | .severity == "Critical") | length' review.json)
          if [ "$CRITICAL_ISSUES" -gt 0 ]; then
            echo "Found $CRITICAL_ISSUES critical security issues"
            exit 1
          fi
      
      - name: Post Review Comment
        uses: actions/github-script@v7
        with:
          script: |
            const fs = require('fs');
            const review = JSON.parse(fs.readFileSync('review.json', 'utf8'));
            // Process and post review results

Pre-commit Hook

#!/bin/sh
# .git/hooks/pre-commit

echo "Running AI Code Buddy analysis..."
ai-code-buddy --cli --format summary --source HEAD~1 --target HEAD

if [ $? -ne 0 ]; then
    echo "Code review found critical issues. Commit aborted."
    exit 1
fi

IDE Integration

// VS Code tasks.json
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "AI Code Review",
            "type": "shell", 
            "command": "ai-code-buddy",
            "args": ["--cli", "--source", "main", "--target", "HEAD"],
            "group": "build",
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "new"
            }
        }
    ]
}

Environment Variables

# Set default options
export AI_CODE_BUDDY_DEFAULT_SOURCE="main"
export AI_CODE_BUDDY_DEFAULT_TARGET="HEAD"
export AI_CODE_BUDDY_DEFAULT_FORMAT="summary"

# Git configuration (respects standard Git environment)
export GIT_DIR="/custom/.git"
export GIT_WORK_TREE="/custom/workdir"

# Performance tuning
export AI_CODE_BUDDY_CACHE_DIR="/tmp/ai-code-buddy-cache"
export AI_CODE_BUDDY_MAX_FILE_SIZE="1048576"  # 1MB limit

๐Ÿ™‹โ€โ™€๏ธ Frequently Asked Questions

General Usage

โ“ Q: What programming languages does AI Code Buddy support? ๐Ÿ’ก A: Currently supports Rust, JavaScript/TypeScript, and Python with language-specific security and performance analysis. Go, Java, C++, and C# support is planned for 2025.

โ“ Q: Does it work with any Git repository? ๐Ÿ’ก A: Yes! AI Code Buddy works with any Git repository and can analyze both committed and uncommitted changes. It automatically detects the repository structure and programming languages.

โ“ Q: Can I use it without GPU acceleration? ๐Ÿ’ก A: Absolutely! The tool includes a comprehensive rule-based analysis engine that provides excellent results on CPU-only systems. GPU acceleration is an optional enhancement.

โ“ Q: How long does analysis take? ๐Ÿ’ก A: Analysis time varies by repository size:

  • Small projects (< 1k files): 5-30 seconds
  • Medium projects (1k-10k files): 30 seconds - 2 minutes
  • Large projects (10k+ files): 2-10 minutes Use --exclude patterns to focus analysis and reduce time.

Technical Questions

โ“ Q: How accurate are the security vulnerability detections? ๐Ÿ’ก A: Our OWASP-based analysis has a 95%+ accuracy rate for critical vulnerabilities with minimal false positives. The tool is designed for precision over recall to avoid alert fatigue.

โ“ Q: Can I customize the analysis rules? ๐Ÿ’ก A: Custom rule configuration is planned for Q2 2025. Currently, you can use --include and --exclude patterns to focus analysis on specific areas of your codebase.

โ“ Q: Does it store or transmit my code anywhere? ๐Ÿ’ก A: No! All analysis happens locally on your machine. No code is transmitted to external servers or stored anywhere except your local file system.

โ“ Q: How do I integrate with my CI/CD pipeline? ๐Ÿ’ก A: Use the --cli mode with --format json for programmatic integration. Check the CI/CD examples section for GitHub Actions, GitLab CI, and Jenkins templates.

Installation & Setup

โ“ Q: Why am I getting "cargo: command not found"? ๐Ÿ’ก A: You need to install Rust first:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env

โ“ Q: How do I enable GPU acceleration? ๐Ÿ’ก A: GPU acceleration is automatically detected during installation. For manual control:

# Force GPU features
cargo install ai-code-buddy --features gpu-metal  # Apple Silicon
cargo install ai-code-buddy --features gpu-cuda   # NVIDIA (Windows only)

โ“ Q: Can I run this in Docker? ๐Ÿ’ก A: Yes! See the Docker section for container usage examples. Perfect for CI/CD environments where you don't want to install Rust directly.

Performance & Optimization

โ“ Q: Analysis is taking too long. How can I speed it up? ๐Ÿ’ก A: Use these optimization strategies:

# Exclude large directories
ai-code-buddy --cli --exclude "target/**" --exclude "node_modules/**"

# Focus on recent changes only
ai-code-buddy --cli --source HEAD~10 --target HEAD

# Analyze specific languages
ai-code-buddy --cli --include "**/*.rs" --include "**/*.py"

โ“ Q: Does it work well with large monorepos? ๐Ÿ’ก A: Yes, but use filtering for best performance. The tool is optimized for repositories up to 100k files with proper exclusion patterns.

โ“ Q: Can I run multiple analyses in parallel? ๐Ÿ’ก A: Each ai-code-buddy instance analyzes files in parallel internally. For multiple repositories, run separate instances or use Docker Compose with multiple services.

Output & Reporting

โ“ Q: What's the difference between output formats? ๐Ÿ’ก A:

  • summary: Human-readable overview (default)
  • detailed: Complete issue list with descriptions
  • json: Machine-readable for automation
  • markdown: Perfect for documentation and reports

โ“ Q: How do I filter issues by severity? ๐Ÿ’ก A: Use jq with JSON output:

ai-code-buddy --cli --format json | jq '.issues[] | select(.severity == "Critical")'

โ“ Q: Can I export reports to other tools? ๐Ÿ’ก A: Yes! JSON output integrates with most tools. Markdown works great for GitHub Issues, and the format is compatible with many security platforms.

Troubleshooting

โ“ Q: I'm seeing "GPU support requested but not compiled in" - what's wrong? ๐Ÿ’ก A: This happens when GPU features weren't included during compilation. Reinstall with explicit features:

cargo install ai-code-buddy --features gpu-metal --force  # Apple Silicon

โ“ Q: The tool isn't finding issues in my JavaScript code. Why? ๐Ÿ’ก A: Make sure your files have proper extensions (.js, .ts, .jsx, .tsx) and aren't in excluded directories like node_modules/.

โ“ Q: How do I report a false positive or false negative? ๐Ÿ’ก A: Please open an issue on GitHub with:

  • Code sample that triggered the false positive/negative
  • Expected vs actual behavior
  • Output with --verbose flag for debugging info

โ“ Q: The analysis seems stuck. What should I do? ๐Ÿ’ก A: Try these steps:

  1. Use --verbose to see progress details
  2. Check if you're analyzing very large files (>1MB)
  3. Exclude binary files with --exclude "**/*.{jpg,png,pdf,zip}"
  4. Kill and restart if truly stuck

Contributing & Development

โ“ Q: How can I contribute new language support? ๐Ÿ’ก A: We'd love your help! Check the Contributing section for guidelines on adding new language patterns. Start with the detect_language() function in ai_analyzer.rs.

โ“ Q: Can I add custom security rules? ๐Ÿ’ก A: Custom rules will be supported in Q2 2025. For now, you can modify the patterns in rule_based_analysis() and build from source.

โ“ Q: How do I build from source for development? ๐Ÿ’ก A:

git clone https://github.com/edgarhsanchez/ai_code_buddy.git
cd ai_code_buddy
cargo build --release
./target/release/ai-code-buddy --help

Testing

AI Code Buddy maintains comprehensive test coverage to ensure reliability and quality.

Test Coverage

Running Tests

# Run all tests
cargo test

# Run tests with focused coverage (see tarpaulin.toml for filters)
cargo coverage --verbose

# Run specific test suites
cargo test --test test_args
cargo test --test test_git
cargo test --test test_widget_states
cargo test --test test_integration

Test Structure

Our testing strategy includes:

  • Unit Tests: Core functionality testing for CLI arguments, Git operations, and theming
  • Integration Tests: UI component testing using ratatui TestBackend
  • Widget State Tests: Comprehensive testing of UI state management
  • Property-Based Tests: Using proptest for robust input validation

Test Categories

  1. Core Module Tests

    • test_args.rs: CLI argument parsing and validation (7 tests)
    • test_git.rs: Git repository operations and analysis (6 tests)
    • test_theme.rs: UI theming and styling (14 tests)
    • test_review.rs: Code review data structures (5 tests)
  2. Widget State Tests

    • test_widget_states.rs: UI state management and transitions (21 tests)
  3. Integration Tests

    • test_integration.rs: End-to-end UI component testing (7 tests)

Coverage Goals

We strive for high test coverage with the following priorities:

  1. Critical Path Coverage: Core analysis and Git operations
  2. UI Component Testing: Widget rendering and state management
  3. Error Handling: Comprehensive error scenario testing
  4. Edge Cases: Boundary conditions and unusual inputs

Running Coverage Analysis

# Generate HTML coverage report (respects tarpaulin.toml)
cargo coverage --verbose --out Html

# Generate JSON coverage data (optional)
cargo coverage --out Json

# View coverage in browser
open coverage/tarpaulin-report.html

Contributing

We welcome contributions! Here's how you can help:

๐Ÿš€ Quick Start for Contributors

  1. Fork and Clone

    git clone https://github.com/your-username/ai_code_buddy.git
    cd ai_code_buddy
    
  2. Development Setup

    # Install Rust if needed
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    
    # Build the project
    cargo build
    
    # Run tests
    cargo test
    
    # Test the CLI
    cargo run -- --cli --help
    
  3. Create a Feature Branch

    git checkout -b feature/amazing-feature
    
  4. Make Your Changes and Test

    # Test your changes with the tool itself
    cargo run -- --cli --source main --target feature/amazing-feature
    
    # Run the full test suite
    cargo test --all-features
    
    # Check formatting and linting
    cargo fmt --check
    cargo clippy -- -D warnings
    
  5. Commit and Push

    # Use conventional commit format for automated versioning
    ./commit.sh feat "add amazing feature"
    
    # Or commit manually following conventional format:
    git add .
    git commit -m "feat: add amazing feature"
    git push origin feature/amazing-feature
    

    ๐Ÿ“ Conventional Commits & Automated Versioning

    This project uses Conventional Commits for automated semantic versioning and release management.

    Commit Message Format:

    type(scope): description
    
    [optional body]
    
    [optional footer]
    

    Types that trigger version bumps:

    • feat: โ†’ MINOR version bump (new features)
    • fix: โ†’ PATCH version bump (bug fixes)
    • feat!: or BREAKING CHANGE: โ†’ MAJOR version bump

    Quick commit examples:

    ./commit.sh feat "add user authentication system"
    ./commit.sh fix "resolve memory leak in analysis"
    ./commit.sh docs "update installation guide"
    

    Automated Release Process: When your PR is merged to main:

    1. โœ… Commits are analyzed for version bump type
    2. โœ… Cargo.toml version is automatically updated
    3. โœ… Git tag is created (e.g., v1.2.3)
    4. โœ… GitHub release is generated with changelog
    5. โœ… Package is published to crates.io

    ๐Ÿ“– Full Guide: See CONVENTIONAL_COMMITS.md for detailed information.

  6. Open a Pull Request

    • Ensure your PR description explains the changes
    • Include any relevant test files or examples
    • Reference any related issues

๐Ÿงช Testing Your Changes

# Test with different repositories
cd /path/to/test-repo
/path/to/ai_code_buddy/target/debug/ai-code-buddy --cli

# Test with the included example files  
cd /path/to/ai_code_buddy
cargo run -- --cli --include "test_files/**" --format detailed

# Test TUI mode
cargo run

# Test output formats
cargo run -- --cli --format json
cargo run -- --cli --format markdown

๐Ÿ“ Contribution Guidelines

  • Code Style: Follow Rust conventions, run cargo fmt and cargo clippy
  • Testing: Add tests for new features, ensure existing tests pass
  • Documentation: Update README and code comments for significant changes
  • Commit Messages: Use conventional commit format (feat:, fix:, docs:, etc.)
  • Performance: Consider impact on large repositories
  • Security: Be extra careful with any security-related code

๐ŸŽฏ Areas Where We Need Help

  • Language Support: Adding analysis for Go, Java, C++, C#
  • Security Patterns: Expanding OWASP vulnerability detection
  • Performance: Optimizing analysis for very large repositories
  • UI/UX: Improving the TUI interface and user experience
  • Testing: Adding more comprehensive test cases
  • Documentation: Examples, tutorials, best practices
  • Integrations: IDE plugins, CI/CD templates

License

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

Roadmap

โœ… Completed Features

  • Professional CLI with comprehensive argument parsing
  • Modern TUI Interface built with Bevy and Ratatui
  • Multiple Output Formats (Summary, Detailed, JSON, Markdown)
  • File Filtering with glob patterns
  • Contributors and Credits system
  • OWASP Security Analysis with precise line-by-line detection
  • Git Branch Comparison with detailed diff analysis
  • Multi-language Support (Rust, JavaScript, Python)

๐Ÿšง In Progress

  • Real AI Integration with Kalosm language models
  • Performance Optimization for large repositories (>10k files)
  • Enhanced TUI Features (search, filtering, bookmarks)

๐Ÿ”ฎ Planned Features

Q1 2025

  • Advanced Language Support
    • Go language analysis
    • Java/Kotlin support
    • C/C++ vulnerability detection
    • C# .NET analysis

Q2 2025

  • Custom Configuration
    • .ai-code-buddy.toml configuration files
    • Custom rule definitions
    • Team-specific security policies
    • Ignore rules and exceptions

Q3 2025

  • IDE Integrations
    • VS Code extension
    • IntelliJ IDEA plugin
    • Vim/Neovim integration
    • Emacs mode

Q4 2025

  • Advanced Features
    • Web interface for team collaboration
    • API server mode
    • Database storage for historical analysis
    • Trend analysis and reporting

๐ŸŒŸ Future Possibilities

  • Machine Learning Enhancements

    • Custom model training on codebases
    • False positive reduction
    • Context-aware analysis
  • Enterprise Features

    • LDAP/SSO integration
    • Role-based access control
    • Compliance reporting (SOX, GDPR, PCI-DSS)
    • Integration with security tools (SonarQube, Checkmarx)
  • Performance & Scalability

    • Distributed analysis
    • Cloud-native deployment
    • Real-time monitoring
    • Webhook integrations

Acknowledgments

๐Ÿ› ๏ธ Built With

  • Bevy - Modern game engine powering the TUI interface
  • Ratatui - Terminal user interface library
  • Kalosm - AI/ML framework for language processing
  • git2 - Git repository analysis and manipulation
  • clap - Professional command-line argument parsing
  • tokio - Asynchronous runtime for Rust
  • crossterm - Cross-platform terminal manipulation
  • serde - Serialization framework for JSON output

๐ŸŽจ Design Inspiration

  • ripgrep - Performance and CLI design patterns
  • bat - Beautiful terminal output and syntax highlighting
  • delta - Git diff visualization
  • lazygit - TUI design and navigation patterns

๐Ÿ”’ Security Standards

๐Ÿ™ Special Thanks

  • Rust Community - For creating an amazing ecosystem
  • Security Researchers - For vulnerability pattern research
  • Open Source Contributors - For all the dependencies we build upon
  • Beta Testers - For early feedback and bug reports

Made with โค๏ธ and ๐Ÿฆ€ by the AI Code Buddy team

For more examples, advanced usage guides, and community discussions, visit our documentation and join our discussions.

Commit count: 116

cargo fmt