Rulegeneral

260126 Claude Rule

- Project 명령 : `.claude/commands/` 에 위치 하며 보통 팀원들과 공유되어 사용 하는 공용 명령어 이다. - User 명령 : `~/.claude/commands/` 에 위치 하며 모든 프로젝트에서 사용 된다.

View Source

Claude 커스텀 명령어

  • Project 명령 : .claude/commands/ 에 위치 하며 보통 팀원들과 공유되어 사용 하는 공용 명령어 이다.
  • User 명령 : ~/.claude/commands/ 에 위치 하며 모든 프로젝트에서 사용 된다.

Project 와 User 커맨드가 있다면 프로젝트 단위의 명령어가 우선시 된다.

|변수명|설명|예제| |---|---|---| |$ARGUMENTS|전체 변수|/command as df > "as df"| |$1, $2..|연속 낱개 변수|/command as df > $1="as",$2="df|

  • ! : bash 에서 명령 실행
  • @ : 파일에 대한 경로

프론트매터는 파일이나 데이터 가장 위에 있는 메타 데이터 블록을 의미한다. 주로 YAML, JSON, TOML 형식을 사용 하여 기계가 읽기 쉬운 형태로 정의 된다.

Claude 에서 커스텀 명령어를 만들때, 해당 명령어가 무엇인지 Claude 에게 알려주기 위해 프론트 매터를 사용 한다.

|프론트매터|설명| |---|---| |allowed-tools|명령어에서 사용 가능한 커맨드, 툴 목록| |description|명령어에 대한 설명| |model|사용할 모델| |argument-hint|입력 받을 변수에 대한 힌트| |disable-model-invocation|Claude 에서 이 명령어를 자동으로 사용하지 못하게 한다 (기본 false)|

아래는 간단한 커스텀 명렁어 예제 이다.

1. 간단하고 빠른 커밋 명령어 /quick-commit

  • 파일 : .claude/commands/quick-commit.md
  • 사용 예 : /quick-commit 메시지로 로그인 유즈 케이스의 테스트 코드 추가 를 한글로 작성 해줘
---
description: 현재 변경 사항을 요약하여 한 줄의 커밋 메시지와 함께 커밋을 수행합니다.
---

### 실행 절차
1. `git diff --cached`를 확인하여 현재 스테이징된 변경 사항이 있는지 확인해줘.
2. 만약 스테이징된 파일이 없다면, 사용자에게 "커밋할 변경 사항이 없습니다. `git add`를 먼저 해주세요."라고 안내해.
3. 스테이징된 변경 사항이 있다면, 해당 내용을 분석해서 Conventional Commits 규격(feat, fix, chore 등)에 맞는 명확한 한 줄 커밋 메시지를 생성해.
4. `git commit -m "[생성된 메시지]"` 명령어를 실행해.
5. 성공적으로 커밋되면 생성된 메시지를 출력하며 완료를 알려줘.

2. 테스트 코드를 작성해주는 /test-gen

  • 파일 : .claude/commands/test-gen
  • 사용 예 : /test-gen LoginUseCase
---
description: 특정 UseCase($ARGUMENTS)에 대한 성공, 실패, 예외 테스트 케이스 생성
---

전달된 인자($ARGUMENTS)에 해당하는 UseCase 클래스를 분석하여 다음 테스트 코드를 작성해줘.

### 테스트 생성 규칙
1. **대상**: `$ARGUMENTS` 클래스 (예: GetUserUseCase)
2. **라이브러리**: `JUnit5`, `MockK`, `kotlinx-coroutines-test`
3. **테스트 필수 포함 케이스**:
   - **성공(Success)**: Repository가 정상 데이터를 반환하고 UseCase가 이를 올바르게 가공/전달하는지 확인.
   - **실패(Failure)**: Repository에서 에러 결과(Result.failure 등)를 반환할 때의 대응.
   - **예외(Exception)**: `IOException`이나 `RuntimeException`이 발생했을 때 UseCase가 Crash 없이 전파하거나 처리하는지 확인.

### 코드 스타일
- 테스트 함수명은 `test [Behavior] when [Condition]` 형식을 사용해.
- 코루틴은 `runTest` 블록 안에서 실행해.
- `$ARGUMENTS`의 패키지 경로를 파악해서 `src/test/java` 아래 동일한 패키지 구조에 파일을 생성할 수 있도록 가이드를 줘.

"가장 먼저 $ARGUMENTS 파일의 내용을 읽고 분석을 시작해."