Skip to main content

Automated development and code repair system with enhanced analysis capabilities

Project description

๐Ÿ” Devix - Modular Code Analysis Platform

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.

โœจ Key Features

  • ๐Ÿ” Multi-Analyzer Architecture: 5 specialized analyzers (ProjectScanner, Security, Quality, Test, Performance)
  • ๐Ÿ“Š Rich Reporting: Enhanced markdown and text reports with project tree visualization
  • ๐Ÿšซ Smart Filtering: .devixignore support with visual indicators for ignored files
  • โšก Parallel Execution: Concurrent analyzer execution for optimal performance
  • ๐ŸŽฏ CLI Subcommands: Clean command-line interface with analyze, config, and info commands
  • ๐Ÿ“ˆ 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

๐Ÿ› ๏ธ Installation

Quick Start

# Clone or navigate to the Devix directory
cd devix

# Install dependencies
pip install -e .

# Run analysis on your project
devix analyze /path/to/your/project

Installation Methods

Method 1: Package Installation

cd devix
pip install -e .  # Install in development mode
devix analyze .    # Analyze current directory

Method 2: Direct Execution

cd devix
PYTHONPATH=src python -m devix analyze /path/to/project

Method 3: Using Makefile

cd devix
make run          # Analyze parent directory
make test         # Run tests
make lint         # Run linting

๐ŸŽฎ Usage

CLI Commands

Main Analysis Command

# 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

Configuration Management

# Create default configuration
devix config create

# Validate existing configuration
devix config validate

# Show configuration location
devix config validate --config /path/to/config.yaml

Information Commands

# Show version and system info
devix info

# List available analyzers
devix info --analyzers

# Validate system setup
devix info --validate

Makefile Commands

# 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

โš™๏ธ Configuration

Configuration File (config.yaml)

# 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/"

.devixignore File

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

๐Ÿ” Analyzers

Project Scanner

  • 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

Security Analyzer

  • Purpose: Identifies security vulnerabilities and risks
  • Tools: Bandit, Safety (when available)
  • Features:
    • Static security analysis
    • Dependency vulnerability scanning
    • Hardcoded credentials detection

Quality Analyzer

  • Purpose: Evaluates code quality and style
  • Tools: Pylint, Flake8, Black, isort, mypy (when available)
  • Features:
    • Code complexity analysis
    • Style guide compliance
    • Type checking validation

Test Analyzer

  • Purpose: Analyzes test coverage and quality
  • Tools: pytest, coverage.py (when available)
  • Features:
    • Test discovery and execution
    • Coverage measurement
    • Test quality assessment

Performance Analyzer

  • Purpose: Identifies performance bottlenecks
  • Features:
    • Runtime profiling
    • Resource usage analysis
    • Performance pattern detection

๐Ÿ“Š Report Features

Enhanced Reporting

  • 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

Report Contents

  • 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

๐Ÿšจ Troubleshooting

Common Issues

No files found for analysis

  • Check your .devixignore patterns
  • 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+)

๐Ÿ“ Example Workflows

Basic Analysis

# Quick analysis of current directory
devix analyze . --verbose

# Check reports
ls devix_report_*.md devix_report_*.txt

CI/CD Integration

# 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

Custom Configuration

# Create and customize config
devix config create
# Edit config.yaml as needed

# Run with custom config
devix analyze . --config ./my-config.yaml

๐Ÿ—๏ธ Architecture

Module Structure

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

Extension Points

  • Custom Analyzers: Inherit from BaseAnalyzer
  • Custom Formatters: Inherit from BaseFormatter
  • Custom Configuration: Extend ConfigManager

๐Ÿค Contributing

Development Setup

# Clone and setup
git clone <repository>
cd devix
pip install -e ".[dev]"

# Run tests
make test

# Run linting
make lint

# Format code
make format

Adding New Analyzers

  1. Create new analyzer in src/devix/analysis/
  2. Inherit from BaseAnalyzer
  3. Implement analyze() method
  4. Register in DevixOrchestrator
  5. Add tests and documentation

๐Ÿ“„ License

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


Generated by Devix - Modular Code Analysis Platform

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

devix-2.1.5.tar.gz (62.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

devix-2.1.5-py3-none-any.whl (71.2 kB view details)

Uploaded Python 3

File details

Details for the file devix-2.1.5.tar.gz.

File metadata

  • Download URL: devix-2.1.5.tar.gz
  • Upload date:
  • Size: 62.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.0

File hashes

Hashes for devix-2.1.5.tar.gz
Algorithm Hash digest
SHA256 c2eba30db51634a117850d41a0124a1af1bf3151291392a2ea48ecf3759aa1d5
MD5 798bf03e5671c4debbe6f29333fa3208
BLAKE2b-256 3bcc8da4625708263ce164cae0f6e78a318d81c6cbe61cdfaf5b17d78188de41

See more details on using hashes here.

File details

Details for the file devix-2.1.5-py3-none-any.whl.

File metadata

  • Download URL: devix-2.1.5-py3-none-any.whl
  • Upload date:
  • Size: 71.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.0

File hashes

Hashes for devix-2.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 07887dc7b0ef197916702b809b0b1420ca608b1b2522515eed205f163e1e7fe8
MD5 17e342ea1a0da216fa0950c28117cb50
BLAKE2b-256 8c69e67a07ff05a579a96459bd51206ba853b1c44d1ea975901bf3380e27ff1b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page