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
  • 程式碼異味檢測: 識別反模式和設計問題
  • 複雜度分析: 通過 Radon 進行圈複雜度和可維護性指標分析
  • 安全掃描: 使用 Bandit 檢測安全漏洞
  • 風格檢查: 符合 PEP8、ESLint 和 Go fmt 規範
  • 綜合報告: JSON、HTML 和控制台輸出格式

    這個技能的最新版本可以在7w4.net小蔥技能站找到。

  • 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