ssiumha

rule-creator

Creates and manages Claude Code rules files. Use when creating .claude/rules/ files or applying conditional rules to specific files/situations.

ssiumha 9 Updated 4mo ago

Resources

1
GitHub

Install

npx skillscat add ssiumha/dots/rule-creator

Install via the SkillsCat registry.

SKILL.md

Rule Creator

Claude Code용 rules 파일을 생성하고 관리합니다. Rules는 CLAUDE.md와 동일한 우선순위로 로드되며, paths로 조건부 적용이 가능합니다.

Key Components

파일 위치

위치 경로 용도
프로젝트 .claude/rules/{name}.md 현재 프로젝트에서만
사용자 ~/.claude/rules/{name}.md 모든 프로젝트에서

Frontmatter

필드 필수 설명
paths X 조건부 적용 glob 패턴

paths가 없으면 모든 파일에 적용됩니다.

참고: 현재는 paths가 지정되어 있어도 모든 rules가 로드됩니다. 향후 버전에서 조건부 로딩으로 개선 예정입니다.

CLAUDE.md vs Rules 선택 기준

상황 권장
모든 상황에 적용 CLAUDE.md
특정 파일/폴더에만 적용 rules/ + paths
규칙이 많아 모듈화 필요 rules/ (주제별 분리)
팀에서 특정 규칙만 공유 rules/ (개별 파일)

Creation Process

1. 기존 규칙 확인

중복 방지를 위해 검색:

Glob ~/.claude/rules/*.md
Glob .claude/rules/*.md

유사 규칙 발견 시 사용자에게 확인:

  • 기존 규칙에 추가 vs 신규 생성

2. 용도 확인

AskUserQuestion으로 확인:

  • 적용 범위: 모든 파일? 특정 파일만?
  • 위치: 프로젝트? 사용자 레벨?

3. CLAUDE.md vs Rules 결정

모든 상황에 적용?
  → YES: CLAUDE.md에 추가 권장
  → NO: rules/ 생성 (paths 지정)

4. 파일 생성

조건부 규칙 (paths 지정):

---
paths: src/api/**/*.ts
---

# API Development Rules

- 모든 엔드포인트에 입력 검증 필수
- 표준 에러 응답 형식 사용

전역 규칙 (paths 없음):

# Testing Rules

- 모든 새 기능에 테스트 필수
- 커버리지 80% 이상 유지

Modification Process

기존 규칙 수정 시:

  1. 대상 확인: 기존 규칙 파일 Read
  2. 수정 유형 파악:
    • paths 변경 → frontmatter 수정
    • 내용 추가 → 규칙 항목 추가
    • 내용 삭제 → 해당 항목 제거
    • 파일 분리 → 새 규칙 파일 생성 후 기존 내용 이동
  3. Edit으로 수정: 기존 구조 유지하며 변경

Glob 패턴 예시

패턴 매칭 대상 용도 예시
**/*.ts 모든 TypeScript 파일 TypeScript 코딩 규칙
**/*.py 모든 Python 파일 Python 스타일 가이드
src/api/**/* src/api/ 하위 모든 파일 API 개발 규칙
src/components/**/*.tsx 특정 디렉토리의 React 컴포넌트 규칙
*.md 루트의 Markdown 파일 문서 작성 규칙
src/**/*.{ts,tsx} src/ 하위 TS/TSX 파일 프론트엔드 규칙
{src,lib}/**/*.ts 여러 디렉토리 조합 공통 TypeScript 규칙
tests/**/*.test.ts 테스트 파일만 테스트 작성 규칙

복합 패턴 예시:

paths: src/**/*.{ts,tsx}, lib/**/*.ts, tests/**/*.test.ts

YAML 문법 주의:

  • {로 시작하는 패턴은 반드시 따옴표로 감싸야 합니다: "{src,lib}/**/*.ts"
  • *로 시작하는 패턴도 따옴표 필수: "**/*.md"
  • 안전하게 모든 paths 값을 따옴표로 감싸는 것을 권장합니다

우선순위

로드 순서 (공식 문서 기준):

  1. Enterprise policy (조직 수준)
  2. Project memory (./.claude/CLAUDE.md)
  3. Project rules (./.claude/rules/)
  4. User memory (~/.claude/CLAUDE.md)
  5. Project local memory (./.claude/CLAUDE.local.md)

나중에 로드되는 규칙이 더 높은 우선순위를 가집니다.

실질적 우선순위 (높음 → 낮음):

  1. Project local memory (./.claude/CLAUDE.local.md) - 최우선
  2. User memory (~/.claude/CLAUDE.md)
  3. Project rules (./.claude/rules/)
  4. Project memory (./.claude/CLAUDE.md)
  5. Enterprise policy - 최하위

충돌 시 동작: 프로젝트 레벨 규칙이 사용자 레벨보다 우선 적용됩니다.

  • ./.claude/rules/api.md > ~/.claude/rules/api.md
  • ./.claude/CLAUDE.md < ~/.claude/CLAUDE.md (User memory가 더 높음)

활용 사례별 Rules 템플릿

API 개발 규칙

---
paths: src/api/**/*.ts
---
# API Development Rules
- 모든 엔드포인트에 Zod 입력 검증 필수
- 표준 에러 응답 포맷 사용
- OpenAPI 문서화 주석 포함
- correlation ID로 요청 로깅

테스트 작성 규칙

---
paths: **/*.test.ts, **/*.test.tsx
---
# Test Standards
- 테스트명: "should [action] when [condition]"
- 테스트당 assertion 하나 권장
- fixtures는 conftest 또는 __fixtures__/ 사용

보안 민감 코드

---
paths: src/auth/**/*.*, src/payments/**/*.*
---
# Security-Critical Rules
- 민감 데이터 로깅 금지 (passwords, tokens, card numbers)
- 함수 경계에서 모든 입력 검증
- parameterized query 필수

React 컴포넌트

---
paths: src/components/**/*.tsx, src/hooks/**/*.ts
---
# React Rules
- 함수형 컴포넌트 사용
- 로직은 custom hook으로 분리
- Props 타입 명시

DB 마이그레이션

---
paths: prisma/migrations/**/, db/migrations/**/
---
# Migration Rules
- 롤백 방법 명시 필수
- 프로덕션 데이터 복사본에서 테스트

상세 사례는 REFERENCE.md 참조.

디렉토리 조직 패턴

주제별 (권장 - 소규모)

.claude/rules/
├── code-style.md      # 전역
├── testing.md         # 전역
├── security.md        # 전역
└── api-design.md      # paths: src/api/**/*

기술 계층별 (중규모)

.claude/rules/
├── frontend/
│   ├── react.md        # paths: src/components/**/*
│   └── styles.md       # paths: **/*.css
├── backend/
│   ├── api.md          # paths: src/api/**/*
│   └── database.md     # paths: src/db/**/*
└── general.md          # 전역 (paths 없음)

도메인별 (대규모)

.claude/rules/
├── user-management/
│   └── auth.md         # paths: src/domains/user/**/*
├── payments/
│   └── security.md     # paths: src/domains/payment/**/*
└── shared.md           # 전역

참고: 위 경로는 예시입니다. 실제 프로젝트 구조에 맞게 조정하세요:

  • Next.js: app/, pages/, components/
  • NestJS: src/modules/, src/common/
  • Python: src/, app/, tests/
  • 모노레포: packages/*/src/

중요 원칙

  1. paths는 정말 필요할 때만: 전역 규칙은 paths 생략. 불필요한 paths는 복잡성만 증가
  2. 한 파일에 한 주제만: api.md에 테스트 규칙 혼합 금지. 주제별로 분리
  3. 명확한 파일명: 내용을 반영하는 이름 사용 (예: react-components.md, api-security.md)
  4. CLAUDE.md와 역할 분리: 핵심 프로젝트 지침은 CLAUDE.md, 세부 규칙은 rules/
  5. 팀 공유 고려: rules/는 버전 관리되므로 팀원도 사용. 개인 설정은 ~/.claude/rules/

Examples

조건부 규칙 생성

User: "API 파일에만 적용되는 규칙 만들어줘"

Flow:

  1. 적용 범위 확인 → src/api/**/*.ts
  2. 위치 확인 → 프로젝트
  3. .claude/rules/api.md 생성 (paths 지정)

전역 규칙 생성

User: "테스트 규칙 추가해줘"

Flow:

  1. 적용 범위 확인 → 모든 파일
  2. CLAUDE.md vs rules 결정 → 이미 많은 규칙이 있어 분리 필요
  3. .claude/rules/testing.md 생성 (paths 없음)

CLAUDE.md 추가 권장

User: "커밋 메시지 규칙 추가해줘"

Flow:

  1. 적용 범위 확인 → 모든 상황
  2. 이미 CLAUDE.md가 간결함 → CLAUDE.md에 추가 권장
  3. 사용자 동의 시 CLAUDE.md 수정

Anti-Patterns

❌ 문제 ✅ 해결
모든 규칙에 paths 추가 전역 규칙은 paths 생략
한 파일에 여러 주제 혼합 주제별 파일 분리
CLAUDE.md 내용과 중복 한 곳에만 작성, 참조로 대체
너무 많은 전역 rules/ 파일 CLAUDE.md 사용 권장
모호한 파일명 (rules1.md) 명확한 이름 (api-security.md)