일관된 이름짓기은(는) 무엇을 하나요?
무작위 이름을 중단하세요. 모든 새 이름은 이미 대상 트리에 속해 있는 것처럼 보여야 합니다. 파일도 포함입니다.
엄격 규칙
새 이름을 제안하거나 작성하기 전에:
- 이름 범위를 선택합니다(references/scope.md): 형제 → 패키지 → git 루트 → 디스크 상의 형제 프로젝트 → 집 기본값.
- 해당 범위에서
scripts/survey-names.sh를 실행합니다(새 프로젝트의 경우--siblings플래그 사용). - 이름 종류에 대해 references/rules.md를 읽습니다.
- 하나의 기본 이름과 최대 두 개의 대안을 제안하며, 각각 설문 조사의 구체적인 예시로 정당화합니다.
- 패턴이 충돌하면 로컬 주변을 우선시하고, 한 문장으로 이유를 설명합니다.
이웃을 무시하는 귀여운 이름, 밈, 또는 일회성 이름을 사용하지 마십시오. repo B를 조사하지 않고 repo A의 스타일을 repo B 내에서 재사용하지 마십시오.
워크플로우
-
분류: 이름 종류를 구분합니다(references/kinds.md): 프로젝트, 패키지, 디렉토리, 파일, 시스템/설정 파일, 컴포넌트, 테스트, env, 브랜치, 스킬, cli, api/라우트.
-
조사: 임의의 작업공간 루트가 아닌 소유 경로에서 조사합니다:
scripts/survey-names.sh [path] # 새 프로젝트 / 제품 스템인 경우: scripts/survey-names.sh --siblings [parent-of-projects] -
케이스 및 구분자 매칭: 해당 폴더의 종류에 맞게 매칭합니다 (kebab 디렉토리, PascalCase 컴포넌트, SCREAMING_SNAKE env, 고정 도구 파일명).
-
어휘 매칭: 이미 해당 트리에 있는 어휘와 일치시킵니다. 어간을 재사용하고 동의어 분기를 피합니다 (
auth/와authentication/혼용 금지). -
충돌 확인: 조사 결과, 형제 repo, PATH/패키지 이름과 충돌하는지 확인합니다.
2,final,new,copy접미사는 사용하지 마십시오. -
출력:
기본: <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 | 그린필드 전용 |