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.0.0.tar.gz (58.1 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.0.0-py3-none-any.whl (64.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for devix-2.0.0.tar.gz
Algorithm Hash digest
SHA256 fcdca62b33ce770b0dfcf731eb22db1fadc9dcdb85526c3c88b97f629b6f5b63
MD5 17b0a8947895e74e326213c70a834412
BLAKE2b-256 33c9261001e4974a7796f089d03b181c174c5c04ebd747f40131f97317e9cc96

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for devix-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d42f805b36b403e6ac6b216b56a3280fe00ef58adfca38d00af99826cc700c60
MD5 3f75be4f6632d5a57446f9614c70cd29
BLAKE2b-256 84571af73d81e10df58fc21aec575e1ff635f61b5e65415ca30a7bcc6524d9f8

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