Communitygithub.com

일관된 이름짓기

로컬 저장소 구조를 조사하여 파일 및 프로젝트 이름을 일관되게 지정하는 에이전트 스킬입니다.

일관된 이름짓기란 무엇인가요?

이 스킬은 AI 에이전트가 코드베이스 전체에서 일관된 이름짓기를 강제하도록 설계되었습니다. 새 이름을 제안하기 전에 스킬은 먼저 대상 범위(형제 파일, 패키지, git 루트, 디스크 상의 형제 프로젝트)를 결정하기 위해 'scripts/survey-names.sh' 스크립트를 실행하여 명명 규칙을 조사합니다. 그런 다음 'references/rules.md' 및 'references/kinds.md'에 정의된 대로 구체적인 종류(프로젝트, 파일, 컴포넌트 등)에 적합한 케이스(예: kebab-case, PascalCase, SCREAMING_SNAKE) 및 구분자를 매칭합니다. 스킬은 동의어 분기(auth/와 authentication/ 혼용 등)를 방지하고, '2', 'final', 'new', 'copy' 같은 충돌 접미사를 금지합니다. 조사 결과가 거의 없는 경우 'references/defaults.md'의 기본값을 사용합니다. 이 도구는 Claude Code, Cursor 등 디렉토리 구조와 파일 내용을 분석할 수 있는 모든 에이전트와 호환됩니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add thatdudealso/consistent-naming

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

일관된 이름짓기은(는) 무엇을 하나요?

무작위 이름을 중단하세요. 모든 새 이름은 이미 대상 트리에 속해 있는 것처럼 보여야 합니다. 파일도 포함입니다.

엄격 규칙

새 이름을 제안하거나 작성하기 전에:

  1. 이름 범위를 선택합니다(references/scope.md): 형제 → 패키지 → git 루트 → 디스크 상의 형제 프로젝트 → 집 기본값.
  2. 해당 범위에서 scripts/survey-names.sh를 실행합니다(새 프로젝트의 경우 --siblings 플래그 사용).
  3. 이름 종류에 대해 references/rules.md를 읽습니다.
  4. 하나의 기본 이름과 최대 두 개의 대안을 제안하며, 각각 설문 조사의 구체적인 예시로 정당화합니다.
  5. 패턴이 충돌하면 로컬 주변을 우선시하고, 한 문장으로 이유를 설명합니다.

이웃을 무시하는 귀여운 이름, 밈, 또는 일회성 이름을 사용하지 마십시오. repo B를 조사하지 않고 repo A의 스타일을 repo B 내에서 재사용하지 마십시오.

워크플로우

  1. 분류: 이름 종류를 구분합니다(references/kinds.md): 프로젝트, 패키지, 디렉토리, 파일, 시스템/설정 파일, 컴포넌트, 테스트, env, 브랜치, 스킬, cli, api/라우트.

  2. 조사: 임의의 작업공간 루트가 아닌 소유 경로에서 조사합니다:

    scripts/survey-names.sh [path]
    # 새 프로젝트 / 제품 스템인 경우:
    scripts/survey-names.sh --siblings [parent-of-projects]
    
  3. 케이스 및 구분자 매칭: 해당 폴더의 종류에 맞게 매칭합니다 (kebab 디렉토리, PascalCase 컴포넌트, SCREAMING_SNAKE env, 고정 도구 파일명).

  4. 어휘 매칭: 이미 해당 트리에 있는 어휘와 일치시킵니다. 어간을 재사용하고 동의어 분기를 피합니다 (auth/와 authentication/ 혼용 금지).

  5. 충돌 확인: 조사 결과, 형제 repo, PATH/패키지 이름과 충돌하는지 확인합니다. 2, final, new, copy 접미사는 사용하지 마십시오.

  6. 출력:

    기본: <name>
    범위: <조사된 경로>
    패턴: <규칙 + 1-2 실제 예시>
    거부됨: <대안 및 이유>
    

파일 및 시스템 파일

  • 일반 소스 파일: 형제의 기본 파일명 스타일과 확장자를 정확히 일치시킵니다.
  • 시스템/설정/도구 파일: 관용적인 고정 이름을 선호합니다 (.env.example, docker-compose.yml, AGENTS.md, flake.nix, 워크플로우 kebab 이름). references/scope.md를 참조하세요.

비어 있을 때의 기본값

조사 결과가 거의 없으면 references/defaults.md를 사용하고 첫 이름부터 일관성을 유지합니다.

안티 패턴

  • 해당 범위에 이미 해당 테마가 존재하지 않는 한 무작위 동물/음식 코드명 사용
  • 새 경로에 공백 사용; kebab 형제 옆에 Title Case 폴더 사용
  • 같은 폴더에 camelCase와 kebab-case 파일 혼용
  • 조사 없이 이 작업공간의 하우스 스타일을 관련 없는 repo에 적용
  • 필수 시스템 파일명 "개선" (package.json → pkg.json)
  • utils2.ts, helpers-new.ts, tmp-final.tsx

번들 리소스

경로사용 시기
scripts/survey-names.sh이름짓기 전 항상
references/scope.md멀티 repo, 파일, 시스템/설정 이름
references/rules.md종류별 케이스/구분자
references/kinds.md요청 분류
references/defaults.md그린필드 전용

관련 스킬