--- name: update-domain-rule version: 1.0.0 description: 기존 도메인 rules.md를 코드 현황에 맞게 갱신. 전체 스캔(full) 또는 지정 도메인(targeted) 두 모드 지원 --- # update-domain-rule ## 목적 프로젝트 코드가 변경되면서 기존 domain rule이 실제 구조와 어긋날 수 있다. 이 스킬은 실제 파일 구조를 탐색하여 기존 `rules.md`와 비교하고, 누락·오류·구식 항목을 수정한다. ## 언제 호출할지 - 대규모 리팩터링 또는 외부 패키지 내재화 후 domain rule 동기화가 필요할 때 - 특정 도메인 파일 구조가 바뀌어 기존 rule이 맞지 않을 때 - 사용자가 "도메인 업데이트", "domain rule 갱신", "domain 검토" 등을 요청할 때 - agent-ops 초기 scaffold 이후 코드가 많이 달라진 경우 ## 입력 - `mode`: `full`(전체 도메인 스캔) | `targeted`(지정 도메인만) (필수) - `domain-name`: 업데이트할 도메인 이름 — `targeted` 모드에서만 필수 ## 먼저 확인할 것 - [ ] `agent-ops/rules/project/domain/` 하위 기존 도메인 목록 확인 - [ ] `agent-ops/rules/common/_templates/domain-rule-template.md` 읽어 최신 템플릿 형식 파악 - [ ] `targeted` 모드이면 `agent-ops/rules/project/domain//rules.md` 존재 여부 확인 - 존재하지 않으면 `create-domain-rule` 스킬을 사용하도록 안내하고 중단 ## 실행 절차 1. **대상 목록 결정** - `full`: `agent-ops/rules/project/domain/` 하위 모든 도메인 디렉터리를 대상으로 한다 - `targeted`: 지정된 `domain-name` 하나만 대상으로 한다 2. **도메인별 코드 탐색** - 기존 `rules.md`의 **포함 경로** 목록을 기준으로 실제 파일 구조 탐색 - 포함 경로에 없지만 도메인 이름과 연관된 경로도 함께 탐색 - 탐색 시 실제로 존재하는 경로만 수집한다 3. **비교 및 변경 항목 식별** 다음 항목 각각을 현재 `rules.md`와 비교한다: - **포함 경로**: 실제로 존재하지 않는 경로 제거, 새로 생긴 경로 추가 - **주요 구성 요소**: 파일/클래스 삭제·이름 변경·신규 추가 반영 - **유지할 패턴**: 코드에서 더 이상 사용되지 않는 패턴 제거, 새 패턴 추가 - **다른 도메인과의 경계**: 도메인 간 import 관계가 바뀐 경우 반영 - **목적/책임**: 도메인 책임이 실질적으로 변경된 경우에만 수정 4. **rules.md 업데이트** - 변경이 필요한 항목만 수정한다 — 변경 불필요한 섹션은 그대로 둔다 - 확인된 사실만 기재한다; 불확실하면 `` 주석 처리 - `domain-rule-template.md`의 섹션 구조를 유지한다 5. **도메인 매핑 테이블 검토** (`full` 모드 시) - `agent-ops/rules/project/rules.md`의 도메인 매핑 테이블과 실제 포함 경로 비교 - 누락된 경로 패턴은 추가, 존재하지 않는 경로 패턴은 제거 - 기존 항목 순서는 변경하지 않는다 6. **결과 보고** - 도메인별로 수정한 항목 목록 - `TODO`로 남긴 항목 (해당 시) - 도메인 매핑 테이블 변경 내용 (full 모드 시) ## 실행 결과 검증 - [ ] 수정된 `rules.md`의 포함 경로가 모두 실제 프로젝트에 존재하는가 - [ ] 섹션 구조가 `domain-rule-template.md` 형식을 유지하는가 - [ ] 변경하지 않아도 되는 섹션이 의도치 않게 바뀌지 않았는가 - [ ] `full` 모드에서 도메인 매핑 테이블이 실제 포함 경로와 일치하는가 - 검증 실패 시: 실제 존재하지 않는 경로나 누락된 섹션을 사용자에게 알리고 해당 항목만 보완한다 ## 출력 형식 ``` ## 업데이트 완료 ### - 변경: <수정된 항목 요약> - 추가: <새로 추가된 경로/구성 요소> - 제거: <삭제된 경로/구성 요소> - 유지: 변경 없음 (해당 섹션) ### 도메인 매핑 테이블 (full 모드 시) - 추가: <새 경로 패턴> - 제거: <삭제된 경로 패턴> ## TODO 항목 (확인 필요) - <불확실하여 직접 확인이 필요한 항목> (해당 시) ``` ## 금지 사항 - 실제 존재하지 않는 경로를 포함 경로에 기재하지 않는다 - 추측으로 패턴·금지 사항을 추가하지 않는다 — 코드에서 확인된 내용만 기재한다 - 신규 도메인 생성이 필요한 경우 직접 생성하지 않고 `create-domain-rule` 스킬 사용을 안내한다 - `rules/project/rules.md`의 기존 항목을 삭제하거나 재정렬하지 않는다 - 코드 파일을 수정하지 않는다 — 이 스킬은 rule 파일 갱신만 담당한다