This directory contains comprehensive examples demonstrating vallm's code validation and analysis capabilities.
Each example is organized in its own folder with:
main.py- The main example scriptREADME.md- Detailed explanation of what the example demonstrates.vallm/- Generated analysis data (created after running)
# Run all examples sequentially
./run.shcd 01_basic_validation
python main.pyDemonstrates: Core validation pipeline (syntax, imports, complexity)
- Good code: Clean Fibonacci implementation
- Bad code: Syntax error example
- Complex code: Deeply nested conditionals
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
Demonstrates: Security vulnerability detection
- Insecure patterns: eval(), exec(), os.system, pickle.loads
- Safe alternatives: Secure coding practices
- Risk assessment: Security scoring and issue reporting
Demonstrates: Code graph building and structural analysis
- Import graphs: Module dependency tracking
- Call graphs: Function relationship mapping
- Change detection: Breaking change identification
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
Demonstrates: Cross-language validation capabilities
- JavaScript: ES6+ syntax and complexity
- C: C99/C11 standard compliance
- Universal interface: Consistent API across languages
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
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
Demonstrates: Integration with code2logic for logical analysis
- Control flow: Extract branches, loops, conditions
- Call graphs: Visualize function dependencies
- Complexity analysis: Identify high-complexity functions
- 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
Demonstrates: Batch validation of multiple files
- Directory scanning: Automatic file discovery
- Batch reports: TOON-formatted output
- Result aggregation: Summary statistics
Demonstrates: Programmatic API patterns
- Proposal creation: Multiple creation methods
- Settings customization: Validator configuration
- Workflow integration: CI/CD quality gates
Demonstrates: Command-line interface patterns
- CLI invocation: Programmatic CLI usage
- Output formats: Text and JSON handling
- Exit codes: CI/CD automation
Demonstrates: Configuration management
- Config files: JSON-based configuration
- Environment variables: Runtime configuration
- Profiles: Predefined validator sets
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
Examples 1-4 work out-of-the-box with vallm's default configuration.
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 ollamaSupports JavaScript and C out-of-the-box using tree-sitter parsers.
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
- Import errors: Ensure vallm is properly installed
- LLM connection: Check Ollama service is running for example 5
- Permission errors: Ensure write access for
.vallm/folder creation
Run individual examples to isolate issues:
cd 01_basic_validation
python main.pyTo add new examples:
- Create a new folder with numbered prefix (17_*)
- Add
main.pywith example code - Create
README.mdwith documentation - Include analysis data generation
- Update this overview with the new example description