Devix is a comprehensive, modular code analysis platform that provides deep insights into your codebase through multiple specialized analyzers. Built with Python, it offers powerful CLI tools, rich reporting, and intelligent project structure analysis.
- 🔍 Multi-Analyzer Architecture: 5 specialized analyzers (ProjectScanner, Security, Quality, Test, Performance)
- 📊 Rich Reporting: Enhanced markdown and text reports with project tree visualization
- 🚫 Smart Filtering:
.devixignoresupport with visual indicators for ignored files - ⚡ Parallel Execution: Concurrent analyzer execution for optimal performance
- 🎯 CLI Subcommands: Clean command-line interface with
analyze,config, andinfocommands - 📈 Comprehensive Metrics: File statistics, coverage analysis, and cross-analyzer insights
- 🌳 Project Structure Visualization: ASCII tree with file sizes and ignore markers
- 🔧 Modular Design: Extensible architecture for adding custom analyzers
# Clone or navigate to the Devix directory cd devix # Install dependencies pip install -e . # Run analysis on your project devix analyze /path/to/your/projectcd devix pip install -e . # Install in development mode devix analyze . # Analyze current directorycd devix PYTHONPATH=src python -m devix analyze /path/to/projectcd devix make run # Analyze parent directory make test # Run tests make lint # Run linting# Analyze current directory with verbose output devix analyze . --verbose # Analyze specific project path devix analyze /path/to/project # Select specific analyzers devix analyze . --analyzers project_scanner,security,quality # Enable parallel execution (default) devix analyze . --parallel # Set custom output directory devix analyze . --output-dir ./reports# Create default configuration devix config create # Validate existing configuration devix config validate # Show configuration location devix config validate --config /path/to/config.yaml# Show version and system info devix info # List available analyzers devix info --analyzers # Validate system setup devix info --validate# Development workflow make dev # Full development workflow make run # Analyze parent directory make test # Run tests with coverage make lint # Run code quality checks make format # Format code with black/isort # Publishing and deployment make build # Build package make publish # Publish to PyPI make version # Show version info # Docker operations make docker-build # Build Docker image make docker-run # Run in Docker container# Analyzer settings analyzers: enabled: ["project_scanner", "security", "quality", "test", "performance"] parallel_execution: true max_workers: 4 # Reporting configuration reporting: formats: ["markdown", "text"] output_directory: "." include_tree_visualization: true include_file_statistics: true # File filtering filtering: use_gitignore: true custom_ignore_patterns: - "*.log" - "node_modules/" - ".pytest_cache/"Create a .devixignore file to exclude files/directories from analysis:
# Dependencies node_modules/ __pycache__/ .venv/ # Build artifacts dist/ build/ *.egg-info/ # IDE and system files .vscode/ .idea/ .DS_Store # Logs and temporary files logs/ *.log .coverage - Purpose: Analyzes project structure, file statistics, and generates tree visualization
- Features:
- Full and filtered project trees
- File type breakdown and statistics
- Code fragment extraction
- Visual ignore markers (🚫) for excluded files
- Purpose: Identifies security vulnerabilities and risks
- Tools: Bandit, Safety (when available)
- Features:
- Static security analysis
- Dependency vulnerability scanning
- Hardcoded credentials detection
- Purpose: Evaluates code quality and style
- Tools: Pylint, Flake8, Black, isort, mypy (when available)
- Features:
- Code complexity analysis
- Style guide compliance
- Type checking validation
- Purpose: Analyzes test coverage and quality
- Tools: pytest, coverage.py (when available)
- Features:
- Test discovery and execution
- Coverage measurement
- Test quality assessment
- Purpose: Identifies performance bottlenecks
- Features:
- Runtime profiling
- Resource usage analysis
- Performance pattern detection
- Multiple Formats: Markdown and text reports with rich formatting
- Project Statistics: Real file counts (analyzed vs skipped)
- Tree Visualization: ASCII project structure with file sizes
- Visual Indicators: 🚫 markers for ignored files and directories
- Cross-Analyzer Insights: Correlations between different analysis results
- Executive Summary: Health scores and quick metrics
- Detailed Analysis: Per-analyzer results with issues and recommendations
- File Statistics: Comprehensive breakdown by file type and location
- Project Structure: Complete tree view with ignore patterns applied
- Actionable Recommendations: Priority-sorted improvement suggestions
No files found for analysis
- Check your
.devixignorepatterns - Ensure project path is correct
- Verify file permissions
Missing analyzer tools
- Install optional dependencies:
pip install bandit safety pylint - Check tool availability:
devix info --validate
Slow performance
- Use parallel execution:
--parallel(default) - Reduce analyzer scope:
--analyzers project_scanner,quality - Filter large directories in
.devixignore
Import errors
- Ensure proper installation:
pip install -e . - Check PYTHONPATH:
export PYTHONPATH=src:$PYTHONPATH - Verify Python version compatibility (3.8+)
# Quick analysis of current directory devix analyze . --verbose # Check reports ls devix_report_*.md devix_report_*.txt# In your CI pipeline devix analyze . --output-dir ./reports # Check exit code for quality gates if [ $? -eq 0 ]; then echo "Analysis passed!" else echo "Analysis found issues" exit 1 fi# Create and customize config devix config create # Edit config.yaml as needed # Run with custom config devix analyze . --config ./my-config.yamlThis diagram illustrates the main components of the Devix platform and their interactions:
graph TD subgraph User Interface CLI[CLI] end subgraph Core System Orchestrator(DevixOrchestrator) ConfigManager[ConfigManager] end subgraph Analyzers ProjectScanner[ProjectScanner] SecurityAnalyzer[SecurityAnalyzer] QualityAnalyzer[QualityAnalyzer] TestAnalyzer[TestAnalyzer] PerformanceAnalyzer[PerformanceAnalyzer] end subgraph Reporting ReportGenerator[EnhancedReportGenerator] MarkdownFormatter[MarkdownFormatter] TextFormatter[TextFormatter] end CLI --> Orchestrator Orchestrator --> ConfigManager Orchestrator --> ProjectScanner Orchestrator --> SecurityAnalyzer Orchestrator --> QualityAnalyzer Orchestrator --> TestAnalyzer Orchestrator --> PerformanceAnalyzer Orchestrator --> ReportGenerator ReportGenerator --> MarkdownFormatter ReportGenerator --> TextFormatter This diagram shows the sequence of operations during a typical analysis run:
sequenceDiagram participant User participant CLI participant DevixOrchestrator participant Analyzers participant ReportGenerator User->>CLI: devix analyze . CLI->>DevixOrchestrator: run_analysis() DevixOrchestrator->>Analyzers: analyze() in parallel Analyzers-->>DevixOrchestrator: Analysis results DevixOrchestrator->>ReportGenerator: generate_reports() ReportGenerator-->>DevixOrchestrator: Report files DevixOrchestrator-->>CLI: Display summary CLI-->>User: Output summary and report paths devix/ ├── src/devix/ │ ├── analysis/ # Analysis modules │ │ ├── project_scanner.py │ │ ├── security_analyzer.py │ │ ├── quality_analyzer.py │ │ ├── test_analyzer.py │ │ └── performance_analyzer.py │ ├── reporting/ # Report generation │ │ ├── enhanced_generator.py │ │ ├── markdown_formatter.py │ │ └── text_formatter.py │ ├── cli/ # Command-line interface │ ├── config/ # Configuration management │ └── core/ # Core orchestration ├── tests/ # Test suite └── docs/ # Documentation - Custom Analyzers: Inherit from
BaseAnalyzer - Custom Formatters: Inherit from
BaseFormatter - Custom Configuration: Extend
ConfigManager
# Clone and setup git clone <repository> cd devix pip install -e ".[dev]" # Run tests make test # Run linting make lint # Format code make format- Create new analyzer in
src/devix/analysis/ - Inherit from
BaseAnalyzer - Implement
analyze()method - Register in
DevixOrchestrator - Add tests and documentation
This project is licensed under the MIT License - see the LICENSE file for details.
Generated by Devix - Modular Code Analysis Platform