convention-reviewer
Spring DDD 헥사고날 아키텍처 코딩 컨벤션 리뷰어. 기존 코드의 컨벤션 위반 사항을 스캔하고 Cursor AI가 리팩토링할 수 있는 구조화된 TODO 문서를 생성합니다. Zero-Tolerance 규칙(Lombok 금지, Law of Demeter, Long FK, Transaction 경계) 위반을 우선 감지합니다.
- Category: discovered
- Tags: github, community
- Version: 1.0.0
- Author: walid
- Downloads: 0
- Updated: 2025-11-22
Download the latest version (v1.0.0) from this page.
SKILL.md
--- name: "convention-reviewer" description: "Spring DDD 헥사고날 아키텍처 코딩 컨벤션 리뷰어. 기존 코드의 컨벤션 위반 사항을 스캔하고 Cursor AI가 리팩토링할 수 있는 구조화된 TODO 문서를 생성합니다. Zero-Tolerance 규칙(Lombok 금지, Law of Demeter, Long FK, Transaction 경계) 위반을 우선 감지합니다." --- # Spring DDD Convention Reviewer 이 Skill은 Spring Boot 헥사고날 아키텍처 프로젝트의 코딩 컨벤션 준수 여부를 검토하고, 위반 사항을 Cursor AI가 리팩토링할 수 있는 TODO 목록으로 생성합니다. ## 주요 기능 1. **레이어별 컨벤션 스캔**: Domain, Application, Persistence, REST API 레이어 검증 2. **Zero-Tolerance 우선 감지**: Lombok, Law of Demeter, Long FK, Transaction 경계 위반 우선 처리 3. **TODO 문서 생성**: `.claude/work-orders/refactoring-todos.md`에 구조화된 리팩토링 작업 목록 생성 4. **우선순위 자동 분류**: 🔴 Critical, 🟡 Important, 🟢 Recommended ## 사용 시점 - 기존 코드에 컨벤션이 적용되지 않은 경우 - 레거시 코드 리팩토링 계획 수립 시 - 프로젝트 코드 품질 감사 전 - Cursor AI를 활용한 대규모 리팩토링 전 ## 워크플로우 ### 1. 스캔 대상 결정 사용자 요청에 따라 스캔 범위를 결정합니다: ```bash # 전체 프로젝트 스캔 Skill: convention-reviewer Input: "전체 프로젝트를 스캔해줘" # 특정 레이어만 스캔 Skill: convention-reviewer Input: "Domain layer만 스캔해줘" # 특정 모듈 스캔 Skill: convention-reviewer Input: "application 모듈만 스캔해줘" ``` ### 2. 컨벤션 규칙 로드 `docs/coding_convention/` 디렉토리의 레이어별 규칙을 참조합니다: ```bash # 레이어별 컨벤션 디렉토리 docs/coding_convention/ ├── 01-adapter-rest-api-layer/ # 18개 규칙 ├── 02-domain-layer/ # 15개 규칙 ├── 03-application-layer/ # 18개 규칙 ├── 04-persistence-layer/ # 10개 규칙 ├── 05-testing/ # 12개 규칙 ├── 06-java21-patterns/ # 8개 규칙 ├── 07-enterprise-patterns/ # 5개 규칙 ├── 08-error-handling/ # 5개 규칙 └── 09-orchestration-patterns/ # 8개 규칙 ``` 상세 규칙은 `REFERENCE.md`를 읽어서 확인하세요. ### 3. 위반 사항 스캔 다음 순서로 위반 사항을 감지합니다: **🔴 Priority 1: Zero-Tolerance 규칙** 1. Lombok 사용 검사 (`@Data`, `@Builder`, `@Getter`, `@Setter`) 2. Law of Demeter 위반 (Getter 체이닝: `.get().get()`) 3. JPA 관계 어노테이션 (`@ManyToOne`, `@OneToMany`) 4. Transaction 경계 위반 (`@Transactional` 내 외부 API 호출) **🟡 Priority 2: 레이어별 규칙** 1. Domain: Tell Don't Ask, Aggregate 설계 2. Application: Transaction 관리, DTO 패턴 3. Persistence: Long FK 전략, QueryDSL 최적화 4. REST API: Controller 설계, Exception 처리 **🟢 Priority 3: Best Practices** 1. Java 21 패턴 (Record, Sealed Class, Virtual Threads) 2. Enterprise 패턴 (Caching, Event-Driven) 3. Orchestration 패턴 (3-Phase Lifecycle, Idempotency) 스캔 실행은 `scripts/scan-violations.sh`를 사용하세요: ```bash bash .claude/skills/convention-reviewer/scripts/scan-violations.sh [target_path] ``` ### 4. TODO 문서 생성 스캔 결과를 `.claude/work-orders/refactoring-todos.md`에 작성합니다. TODO 형식은 `TODO-TEMPLATE.md`를 참조하세요: ```bash cat .claude/skills/convention-reviewer/TODO-TEMPLATE.md ``` 각 TODO 항목은 다음 정보를 포함합니다: - 파일 경로 및 라인 번호 - 위반 규칙 설명 - 수정 방법 (Before/After 예시) - 관련 문서 링크 - 우선순위 (🔴/🟡/🟢) ### 5. Cursor AI 리팩토링 지시 생성된 TODO 문서를 Cursor AI에게 전달합니다: ``` Cursor AI에게 전달할 메시지: "`.claude/work-orders/refactoring-todos.md`를 읽고 우선순위 순으로 리팩토링을 진행해줘. 각 항목을 완료한 후 체크박스를 업데이트해줘." ``` ## 출력 형식 ### 요약 리포트 ``` 🔍 코딩 컨벤션 스캔 결과 ================================================== 📊 전체 통계: - 스캔한 파일 수: 142개 - 발견된 위반 사항: 87개 - 🔴 Critical: 23개 - 🟡 Important: 45개 - 🟢 Recommended: 19개 📁 레이어별 위반 분포: - Domain: 15개 - Application: 28개 - Persistence: 22개 - REST API: 18개 - Test: 4개 ⏱️ 예상 리팩토링 시간: 약 4-6시간 ``` ### TODO 문서 구조 ```markdown # Spring DDD Convention Refactoring TODOs 생성일시: 2025-11-04 10:30:00 스캔 범위: 전체 프로젝트 ## 🔴 Critical (Zero-Tolerance 위반) - 23개 ### [ ] Lombok 금지 위반 - Order.java - **파일**: `domain/src/main/java/com/ryuqq/domain/order/Order.java:15` - **현재 코드**: `@Data` 사용 - **문제**: Domain layer에서 Lombok 절대 금지 - **수정 방법**: Pure Java getter/setter로 변경 - **참고 문서**: `docs/coding_convention/02-domain-layer/.../lombok-prohibition.md` [나머지 항목들...] ## 🟡 Important (레이어 규칙 위반) - 45개 [항목들...] ## 🟢 Recommended (Best Practices) - 19개 [항목들...] ``` ## 주의사항 1. **False Positive 최소화**: 스캔 결과가 불확실하면 TODO에 "검토 필요" 표시 2. **컨텍스트 유지**: 파일 경로와 라인 번호를 정확히 기록 3. **우선순위 엄격 적용**: Zero-Tolerance 규칙은 반드시 🔴 Critical 4. **Before/After 필수**: 모든 TODO에 수정 전후 코드 예시 포함 ## 추가 리소스 - 상세 규칙: `cat REFERENCE.md` - TODO 템플릿: `cat TODO-TEMPLATE.md` - 스캔 스크립트: `bash scripts/scan-violations.sh`