Code Quality Guardian

👤 kaiyuelv 📦 v1.0.0 ⭐ 4.5 ⬇️ 793 下载
💻 开发编程 免费

📖 技能介绍


name: code-quality-guardian description: 代码质量检测器 - 检测代码异味、复杂度、安全漏洞、风格规范等 | Code Quality Guardian - Detect code smells, complexity, security vulnerabilities and style issues homepage: https://github.com/kaiyuelv/code-quality-guardian category: devops tags: - code-quality - linting - security - python - javascript - static-analysis - ci-cd version: 1.0.0


🛡️ Code Quality Guardian (代码质量守护者)

Metadata

Field Value
Name code-quality-guardian
Display Name 代码质量守护者
Version 1.0.0
Category Development Tools
Author ClawHub
License MIT

Description

A comprehensive code quality analysis tool supporting Python, JavaScript, and Go. It automatically detects code smells, complexity issues, security vulnerabilities, and style violations.

一款全面的代码质量分析工具,支持 Python、JavaScript 和 Go。自动检测代码异味、复杂度问题、安全漏洞和风格违规。

Features

English

  • Multi-language Support: Python, JavaScript/TypeScript, Go
  • Code Smell Detection: Identifies anti-patterns and design issues
  • Complexity Analysis: Cyclomatic and maintainability metrics via Radon
  • Security Scanning: Detect vulnerabilities with Bandit
  • Style Checking: PEP8, ESLint, and Go fmt compliance
  • Comprehensive Reports: JSON, HTML, and console output formats
  • CI/CD Integration: Easy integration with pipelines
  • Configurable Rules: Customizable thresholds and rule sets

中文

  • 多语言支持: Python、JavaScript/TypeScript、Go
  • 代码异味检测: 识别反模式和设计问题

    7w4.net提供免费和付费技能下载。

  • 复杂度分析: 通过 Radon 进行圈复杂度和可维护性指标分析
  • 安全扫描: 使用 Bandit 检测安全漏洞
  • 风格检查: 符合 PEP8、ESLint 和 Go fmt 规范
  • 综合报告: JSON、HTML 和控制台输出格式
  • CI/CD 集成: 易于集成到流水线
  • 可配置规则: 可自定义阈值和规则集

Supported Languages

Language Tools Used File Extensions
Python flake8, pylint, bandit, radon, mypy .py
JavaScript/TypeScript eslint, jshint .js, .jsx, .ts, .tsx
Go go vet, golint, staticcheck .go

Usage

Command Line Interface

# Analyze a Python project
code-quality-guardian analyze --path ./my-project --language python

# Analyze with specific tools only
code-quality-guardian analyze --path ./src --tools flake8,bandit

# Generate HTML report
code-quality-guardian analyze --path . --format html --output report.html

# Check specific complexity threshold
code-quality-guardian analyze --path . --max-complexity 10

Python API

from code_quality_guardian import QualityAnalyzer

# Initialize analyzer
analyzer = QualityAnalyzer(
    language='python',
    tools=['flake8', 'pylint', 'bandit'],
    config_path='.quality.yml'
)

# Run analysis
results = analyzer.analyze('./src')

# Generate report
report = results.to_json()
print(f"Issues found: {results.total_issues}")
print(f"Complexity score: {results.complexity_score}")

Configuration File (.quality.yml)

language: python
tools:
  - flake8
  - pylint
  - bandit
  - radon

thresholds:
  max_complexity: 10
  max_line_length: 100
  min_score: 8.0

ignore:
  - "*/tests/*"
  - "*/migrations/*"
  - "*/venv/*"

flake8:
  max_line_length: 100
  ignore: [E501, W503]

pylint:
  disable: [C0103, R0903]

bandit:
  severity: MEDIUM
  confidence: MEDIUM

Installation

# Install from ClawHub
clawhub install code-quality-guardian

# Or install dependencies manually
pip install -r requirements.txt

Requirements

  • Python 3.8+
  • flake8 >= 6.0.0
  • pylint >= 2.17.0
  • bandit >= 1.7.0
  • radon >= 6.0.0
  • mypy >= 1.0.0 (optional)

Report Types

Console Output (Default)

═══════════════════════════════════════════
   Code Quality Guardian v1.0.0
═══════════════════════════════════════════

📁 Project: my-project
🔤 Language: python
📊 Files analyzed: 42

┌─────────────────────────────────────────┐
│ Issues Summary                          │
├─────────────────────────────────────────┤
│ 🔴 Critical    0                        │
│ 🟠 High        2                        │
│ 🟡 Medium      8                        │
│ 🔵 Low         15                       │
│ 💡 Info        23                       │
├─────────────────────────────────────────┤
│ Total: 48                               │
└─────────────────────────────────────────┘

Complexity: 7.2/10 (Good)
Maintainability: A
Security Score: 95%

JSON Output

{
  "summary": {
    "files_analyzed": 42,
    "total_issues": 48,
    "critical": 0,
    "high": 2,
    "medium": 8,
    "low": 15,
    "info": 23
  },
  "metrics": {
    "complexity": 7.2,
    "maintainability": "A",
    "security_score": 95
  },
  "issues": [...]
}

Exit Codes

Code Meaning
0 No issues found
1 Issues found but within thresholds
2 Threshold exceeded
3 Configuration error
4 Tool execution error

Integrations

GitHub Actions

- name: Code Quality Check
  uses: clawhub/code-quality-guardian@v1
  with:
    language: python
    path: ./src
    fail-on: high

Pre-commit Hook

repos:
  - repo: https://github.com/clawhub/code-quality-guardian
    rev: v1.0.0
    hooks:
      - id: quality-guardian
        args: ['--language', 'python']

License

MIT License - see LICENSE file for details.

Contributing

Contributions are welcome! Please read CONTRIBUTING.md for guidelines.

Changelog

v1.0.0

  • Initial release
  • Support for Python, JavaScript, Go
  • Multi-format reporting
  • CI/CD integration support

🤖 AI 评测

这是一款专业的代码质量检测工具,检测范围广,支持多种编程语言,能自动发现代码风格、复杂度、安全漏洞等问题。报告清晰直观,带颜色标识和质量分数,还支持生成 HTML 报告方便查看。主要不足是文档部分内容不完整,且部分配置选项对新手不够友好,需要一定的学习成本才能用好。总体质量良好,适合有代码质量要求的项目使用。

📊 多维度评分

适应性4.6
规范性4.5
有效性4.4
可靠性4.2
可信度4.9

📁 包含文件 (24 个)

📄 README.md 10.9 KB
📄 SKILL.md 6.3 KB
📄 _meta.json 140 B
📄 examples/analyze_project.py 7 KB
📄 requirements.txt 899 B
📄 setup.py 2 KB
📄 src/code_quality_guardian/__init__.py 555 B
📄 src/code_quality_guardian/__main__.py 105 B
📄 src/code_quality_guardian/analyzer.py 6.1 KB
📄 src/code_quality_guardian/cli.py 5.6 KB
📄 src/code_quality_guardian/config.py 4.3 KB
📄 src/code_quality_guardian/models.py 7.8 KB
📄 src/code_quality_guardian/reports/__init__.py 313 B
📄 src/code_quality_guardian/reports/base.py 644 B
📄 src/code_quality_guardian/reports/console.py 6.1 KB
📄 src/code_quality_guardian/reports/html_reporter.py 9.4 KB
📄 src/code_quality_guardian/reports/json_reporter.py 777 B
📄 src/code_quality_guardian/tools/__init__.py 342 B
📄 src/code_quality_guardian/tools/bandit.py 3.9 KB
📄 src/code_quality_guardian/tools/base.py 1.1 KB
📄 src/code_quality_guardian/tools/flake8.py 3.8 KB
📄 src/code_quality_guardian/tools/pylint.py 4.4 KB
📄 src/code_quality_guardian/tools/radon.py 4.8 KB
📄 tests/test_quality_checker.py 14.3 KB