Claude-skill-registry code-quality-checker
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/code-quality-checker" ~/.claude/skills/majiayu000-claude-skill-registry-code-quality-checker && rm -rf "$T"
manifest:
skills/data/code-quality-checker/SKILL.mdsource content
Code Quality Checker
코드 품질 검사 자동화 워크플로우입니다.
Quick Start
# 전체 품질 검사 python .claude/skills/code-quality-checker/scripts/run_quality_check.py # Python만 검사 python scripts/run_quality_check.py --python-only # 자동 수정 적용 python scripts/run_quality_check.py --fix
검사 항목
Python
| 도구 | 용도 | 명령어 |
|---|---|---|
| ruff | 린트 + 포맷 | |
| black | 포맷팅 | |
| mypy | 타입 체크 | |
| pip-audit | 보안 취약점 | |
TypeScript/JavaScript
| 도구 | 용도 | 명령어 |
|---|---|---|
| eslint | 린트 | |
| prettier | 포맷팅 | |
| tsc | 타입 체크 | |
| npm audit | 보안 취약점 | |
검사 수준
Level 1: 기본 (CI 필수)
# Python ruff check src/ black --check src/ # TypeScript npx eslint src/ npx prettier --check src/
Level 2: 타입 검사 (권장)
# Python mypy src/ --strict # TypeScript npx tsc --noEmit --strict
Level 3: 보안 (배포 전 필수)
# Python pip-audit --strict bandit -r src/ # TypeScript npm audit --audit-level=high
자동 수정
안전한 자동 수정
# Python 포맷팅 black src/ ruff check src/ --fix # TypeScript 포맷팅 npx prettier --write src/ npx eslint src/ --fix
수동 확인 필요
| 이슈 | 이유 |
|---|---|
| 타입 오류 | 로직 변경 가능성 |
| 보안 취약점 | 의존성 호환성 |
| 복잡한 린트 규칙 | 의도적일 수 있음 |
설정 파일
Python (pyproject.toml)
[tool.ruff] line-length = 100 select = ["E", "F", "W", "I", "N", "UP", "B", "C4"] [tool.black] line-length = 100 [tool.mypy] python_version = "3.11" strict = true
TypeScript (eslint.config.js)
export default [ { rules: { "@typescript-eslint/no-unused-vars": "error", "@typescript-eslint/explicit-function-return-type": "warn", } } ];
CI 통합
GitHub Actions
- name: Code Quality run: | ruff check src/ black --check src/ mypy src/
Pre-commit Hook
# .pre-commit-config.yaml repos: - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.1.0 hooks: - id: ruff - id: ruff-format
오류 해결 가이드
일반적인 ruff 오류
| 코드 | 설명 | 해결 |
|---|---|---|
| E501 | 줄 길이 초과 | 줄 분할 또는 무시 설정 |
| F401 | 미사용 import | import 제거 |
| F841 | 미사용 변수 | 변수 제거 또는 _ 사용 |
mypy 오류
| 오류 | 설명 | 해결 |
|---|---|---|
| Missing return | 반환 타입 누락 | 추가 |
| Incompatible types | 타입 불일치 | 타입 수정 또는 캐스팅 |
| Module has no attribute | 모듈 속성 없음 | 타입 스텁 설치 |
React 성능 검사
React 검사 모드
# React 성능 규칙 검사 /check --react # 특정 디렉토리만 /check --react src/components/ # 품질 + React 검사 조합 python scripts/run_quality_check.py --react
검사 항목
| 우선순위 | 카테고리 | 검사 내용 |
|---|---|---|
| 🔴 CRITICAL | Waterfall | sequential await 감지 |
| 🔴 CRITICAL | Bundle | barrel file import 감지 |
| 🟠 HIGH | Server | RSC 직렬화 최적화 |
| 🟡 MEDIUM | Re-render | stale closure, 불필요한 렌더링 |
연동 스킬
vercel-react-best-practices 스킬의 49개 규칙을 기반으로 검사합니다.
상세 규칙: .claude/skills/vercel-react-best-practices/AGENTS.md
관련 도구
| 도구 | 용도 |
|---|---|
| 통합 검사 |
에이전트 | 코드 리뷰 |
에이전트 | 보안 검사 |
스킬 | React 성능 검사 |
| 통합 검증 커맨드 |
참조: CLAUDE.md 섹션 2 Build & Test