Skip to content

pie-framework/pie-code-health

Repository files navigation

PIE Code Health

AI-assisted code quality analysis tool for PIE Framework elements. This tool helps identify deprecated patterns, risky code, and refactoring opportunities across all PIE packages.

Features

  • 🔍 Deprecated Pattern Detection: Identifies outdated APIs, libraries, and patterns
  • ⚠️ Risk Analysis: Finds potentially problematic code patterns
  • 🔄 Refactoring Suggestions: AI-powered recommendations for code improvements
  • Code Quality Checks: Detects magic numbers, TODO comments, naming inconsistencies, and more
  • 📊 Health Reports: Generates detailed reports for each package
  • 🎯 Package-specific Analysis: Analyze individual packages or all packages
  • 🔄 Dependency Analysis: Maps dependencies and detects circular dependencies
  • 📈 Dependency Graphs: Visualizes import/export relationships

Installation

cd tools/pie-code-health
npm install

Usage

Scan All Packages

npm run scan

Scan Specific Package

npm run scan:package -- --package=graphing

Generate Report

npm run report

Analyze Deprecated Patterns

npm run deprecated

Analyze Risks

npm run risks

Analyze Dependencies

npm run dependencies

What It Detects

Deprecated Patterns

  • Outdated React patterns (componentWillMount, etc.)
  • Legacy lifecycle methods
  • Deprecated prop-types usage
  • Old testing utilities
  • Deprecated dependencies

Risky Code

  • Unsafe DOM manipulation
  • Missing error boundaries
  • Unhandled promises
  • Security vulnerabilities
  • Performance anti-patterns

Refactoring Opportunities

  • Component decomposition suggestions
  • State management improvements
  • Code duplication
  • Complex functions that need splitting
  • Type safety improvements

Dependency Issues

  • Circular dependencies between files
  • Files with too many dependencies (complexity)
  • Orphaned files (no imports/exports)

Code Quality

  • Magic numbers: Hardcoded numbers without named constants
  • Technical debt: TODO, FIXME, HACK comments
  • Non-strict equality: Using == instead of ===
  • Inconsistent naming: Mixing camelCase and snake_case

Output

Results are saved to reports/ directory:

  • reports/summary.json - Overall health summary
  • reports/deprecated.json - Deprecated patterns found
  • reports/risks.json - Risk analysis results
  • reports/complexity.json - Complexity analysis
  • reports/data.json - Complete scan results
  • reports/dashboard.html - Interactive dashboard
  • reports/index.html - Static HTML report
  • reports/package-reports/ - Individual package reports

Viewing Results

Interactive Dashboard (Recommended):

npm run serve

Then open http://localhost:8080 in your browser.

The dashboard provides:

  • Overview of all issues by severity
  • Interactive charts and visualizations
  • Package-level detail views
  • Filtering and search capabilities
  • Issue categorization

Static HTML Report: Open reports/index.html directly in your browser (no server needed).

Configuration

Edit config.json to customize:

  • Patterns to detect
  • Severity levels
  • Ignored files/patterns
  • Report format

Examples

# Quick health check
npm start

# Deep analysis of graphing package
npm run scan:package -- --package=graphing --deep

# Generate HTML report
npm run report -- --format=html

AI Integration

This tool is designed to work with AI assistants (like GitHub Copilot) to:

  1. Identify patterns that need attention
  2. Suggest modern replacements
  3. Generate refactoring plans
  4. Provide context-aware recommendations

Contributing

Add new analyzers in src/analyzers/ following the existing patterns.

About

AI-Assisted Code Health Analysis Tool for PIE Framework

Resources

License

Stars

Watchers

Forks

Packages

No packages published