Claude Scripts - Code Quality Analysis Toolkit

A comprehensive Python code quality analysis toolkit for detecting duplicates, complexity metrics, and modernization opportunities.

Features

  • Duplicate Detection: Find similar code patterns across your codebase using advanced similarity algorithms
  • Complexity Analysis: Calculate cyclomatic complexity, maintainability index, and other code metrics
  • Modernization Analysis: Identify opportunities to modernize Python code patterns and syntax
  • Code Smells Detection: Detect common code smells and anti-patterns
  • Multiple Output Formats: Support for JSON, console, and CSV output formats
  • Comprehensive Reports: Full analysis reports with quality scores and recommendations

Installation

By default the package is published to a private Gitea mirror. Install it via:

pip install --index-url https://git.sidepiece.rip/api/packages/vasceannie/pypi claude-scripts==0.1.1

If you need a PyPI fallback, append --extra-index-url https://pypi.org/simple.

Usage

Command Line Interface

The package provides a claude-quality command with several subcommands:

Duplicate Detection

claude-quality duplicates src/ --threshold 0.8 --format console

Complexity Analysis

claude-quality complexity src/ --threshold 10 --format json

Modernization Analysis

claude-quality modernization src/ --include-type-hints --format console

Full Analysis

claude-quality full-analysis src/ --format json --output report.json

Install Claude Code Hook

After installing the package, configure the Claude Code quality hook for your project:

python -m quality.hooks.install --project . --create-alias

# Or via the packaged CLI entry-point
claude-quality-hook-install --project . --create-alias

This command writes .claude/settings.json, adds a helper script at .claude/configure-quality.sh, and registers the hook with Claude Code using python3 -m quality.hooks.cli.

Configuration

Create a configuration file to customize analysis parameters:

claude-quality create-exceptions-template --output-path .quality-exceptions.yaml

Use the configuration file:

claude-quality --config config.yaml --exceptions-file .quality-exceptions.yaml duplicates src/

Command Reference

Global Options

  • --config, -c: Path to configuration file
  • --exceptions-file, -e: Path to exceptions configuration file
  • --verbose, -v: Enable verbose output

Duplicates Command

claude-quality duplicates [OPTIONS] PATHS...

Options:

  • --threshold, -t: Similarity threshold (0.0-1.0, default: 0.8)
  • --min-lines: Minimum lines for duplicate detection (default: 5)
  • --min-tokens: Minimum tokens for duplicate detection (default: 50)
  • --output, -o: Output file for results
  • --format: Output format (json/console/csv, default: json)

Complexity Command

claude-quality complexity [OPTIONS] PATHS...

Options:

  • --threshold: Complexity threshold (default: 10)
  • --output, -o: Output file for results
  • --format: Output format (json/console, default: json)

Modernization Command

claude-quality modernization [OPTIONS] PATHS...

Options:

  • --include-type-hints: Include missing type hint analysis
  • --pydantic-only: Only analyze Pydantic patterns
  • --output, -o: Output file for results
  • --format: Output format (json/console, default: json)

Full Analysis Command

claude-quality full-analysis [OPTIONS] PATHS...

Options:

  • --output, -o: Output file for results
  • --format: Output format (json/console, default: json)

Requirements

  • Python ≥ 3.12
  • Dependencies: click, pyyaml, pydantic, radon

Development

Install development dependencies:

pip install claude-scripts[dev]

License

MIT License - see LICENSE file for details.

Contributing

This is a personal project. Please report issues or suggestions through the repository's issue tracker.

Description
No description provided
Readme MIT 1.4 MiB
Languages
Python 96.1%
Shell 3.3%
Makefile 0.6%