Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Vallm Examples

This directory contains comprehensive examples demonstrating vallm's code validation and analysis capabilities.

📁 Example Structure

Each example is organized in its own folder with:

  • main.py - The main example script
  • README.md - Detailed explanation of what the example demonstrates
  • .vallm/ - Generated analysis data (created after running)

🚀 Quick Start

Run All Examples

# Run all examples sequentially
./run.sh

Run Individual Examples

cd 01_basic_validation
python main.py

📋 Examples Overview

1. Basic Validation (01_basic_validation/)

Demonstrates: Core validation pipeline (syntax, imports, complexity)

  • Good code: Clean Fibonacci implementation
  • Bad code: Syntax error example
  • Complex code: Deeply nested conditionals

2. AST Comparison (02_ast_comparison/)

Demonstrates: Abstract Syntax Tree analysis and similarity scoring

  • Python AST similarity: Comparing function implementations
  • Multi-language parsing: JavaScript and C code analysis
  • Structural diffing: Code change detection

3. Security Check (03_security_check/)

Demonstrates: Security vulnerability detection

  • Insecure patterns: eval(), exec(), os.system, pickle.loads
  • Safe alternatives: Secure coding practices
  • Risk assessment: Security scoring and issue reporting

4. Graph Analysis (04_graph_analysis/)

Demonstrates: Code graph building and structural analysis

  • Import graphs: Module dependency tracking
  • Call graphs: Function relationship mapping
  • Change detection: Breaking change identification

5. LLM Semantic Review (05_llm_semantic_review/)

Demonstrates: AI-powered semantic code analysis

  • Prerequisites: Ollama with qwen2.5-coder:7b model
  • Bug detection: Subtle logic error identification
  • Code quality: Style and practice evaluation

6. Multi-language Validation (06_multilang_validation/)

Demonstrates: Cross-language validation capabilities

  • JavaScript: ES6+ syntax and complexity
  • C: C99/C11 standard compliance
  • Universal interface: Consistent API across languages

7. Multi-Language (07_multi_language/)

Demonstrates: Comprehensive multi-language support with 30+ languages

  • Auto-detection: Language detection from file extensions
  • 30+ Languages: Python, Go, Rust, Java, C/C++, Zig, Julia, Nim, V, and more
  • Batch validation: Validate mixed-language projects

8. code2llm Integration (08_code2llm_integration/)

Demonstrates: Integration with code2llm for project analysis

  • Structure analysis: code2llm analyzes project layout
  • Quality validation: vallm validates each file
  • Combined reports: Unified structural + quality metrics

9. code2logic Integration (09_code2logic_integration/)

Demonstrates: Integration with code2logic for logical analysis

  • Control flow: Extract branches, loops, conditions
  • Call graphs: Visualize function dependencies
  • Complexity analysis: Identify high-complexity functions

10-12. Additional Examples

  • MCP Ollama Demo (10_mcp_ollama_demo/) - MCP server integration
  • Claude Code Autonomous (11_claude_code_autonomous/) - Autonomous workflows
  • Ollama Simple Demo (12_ollama_simple_demo/) - Basic Ollama integration

13. Batch Processing (13_batch_processing/)

Demonstrates: Batch validation of multiple files

  • Directory scanning: Automatic file discovery
  • Batch reports: TOON-formatted output
  • Result aggregation: Summary statistics

14. Advanced API Usage (14_api_advanced/)

Demonstrates: Programmatic API patterns

  • Proposal creation: Multiple creation methods
  • Settings customization: Validator configuration
  • Workflow integration: CI/CD quality gates

15. CLI Usage (15_cli_usage/)

Demonstrates: Command-line interface patterns

  • CLI invocation: Programmatic CLI usage
  • Output formats: Text and JSON handling
  • Exit codes: CI/CD automation

16. Configuration (16_configuration/)

Demonstrates: Configuration management

  • Config files: JSON-based configuration
  • Environment variables: Runtime configuration
  • Profiles: Predefined validator sets

📊 Analysis Data

Each example generates analysis data in its .vallm/ folder:

  • JSON reports: Structured validation results
  • Score breakdowns: Detailed metric analysis
  • Issue details: Specific problems found
  • Comparison data: Before/after analysis

🛠️ Configuration

Basic Examples

Examples 1-4 work out-of-the-box with vallm's default configuration.

LLM Example (Example 5)

Requires additional setup:

# Install Ollama
curl -fsSL https://ollama.ai/install.sh | sh

# Pull the model
ollama pull qwen2.5-coder:7b

# Start Ollama service
ollama serve

# Install Python package
pip install ollama

Multi-language Example (Example 6)

Supports JavaScript and C out-of-the-box using tree-sitter parsers.

📈 Expected Output

Each example provides:

  • Real-time validation: Live output during execution
  • Summary reports: End-of-run analysis summary
  • Data persistence: Results saved to .vallm/ folder
  • Error handling: Graceful failure reporting

🔧 Troubleshooting

Common Issues

  1. Import errors: Ensure vallm is properly installed
  2. LLM connection: Check Ollama service is running for example 5
  3. Permission errors: Ensure write access for .vallm/ folder creation

Debug Mode

Run individual examples to isolate issues:

cd 01_basic_validation
python main.py

📚 Further Reading

🤝 Contributing

To add new examples:

  1. Create a new folder with numbered prefix (17_*)
  2. Add main.py with example code
  3. Create README.md with documentation
  4. Include analysis data generation
  5. Update this overview with the new example description