File tree Expand file tree Collapse file tree 7 files changed +141
-0
lines changed Expand file tree Collapse file tree 7 files changed +141
-0
lines changed Original file line number Diff line number Diff line change 1+ using UnityEditor ;
2+ using UnityEngine ;
3+
4+ public static class OpenDocsMenu
5+ {
6+ /**
7+ * 프로젝트 문서(루트 Docs/)를 파일 탐색기로 여는 메뉴 항목을 추가합니다.
8+ */
9+ [ MenuItem ( "Help/Open Project Docs" ) ]
10+ public static void OpenProjectDocs ( )
11+ {
12+
13+ }
14+ }
Original file line number Diff line number Diff line change 1+ # 브랜치 전략
2+
3+ ## 기본 원칙
4+ - ` develop ` 브랜치를 기준으로 작업합니다.
5+ - 기능 단위 브랜치를 생성합니다. 예: ` feature/chat-ui ` , ` fix/network-error ` .
6+
7+ ## 머지 정책
8+ - PR 머지 전 테스트 통과가 필수입니다.
9+ - 문서 및 설명은 ` Docs/ ` 폴더에 저장합니다.
Original file line number Diff line number Diff line change 1+ # C# 코드 스타일
2+
3+ ## C# 식별자
4+ | 대상 | 규칙 | 예시 |
5+ | ---| ---| ---|
6+ | 클래스/구조체/열거형/속성/메서드 | PascalCase | ChatManager, MessageType, LoadConfig |
7+ | 인터페이스 | IPascalCase | IChatService |
8+ | 상수(const) | UPPER_SNAKE_CASE | DEFAULT_TIMEOUT_MS |
9+ | 비공개 필드 | _ camelCase | _ sessionId |
10+ | 직렬화 비공개 필드 | _ camelCase | _ gain |
11+ | 매개변수/지역변수 | camelCase | messageText |
12+ | 제네릭 매개변수 | TName | TItem, TResponse |
13+
14+ ## C# 패턴
15+ | 항목 | 규칙 | 예시 |
16+ | ---| ---| ---|
17+ | 불리언 | Is/Has/Can/Should 접두사 | IsConnected, HasData |
18+ | 이벤트 이름 | OnXxx / XxxChanged | OnMessageReceived, VolumeChanged |
19+ | 비동기 메서드 | Async 접미사, ct 매개변수 | LoadAsync(CancellationToken ct) |
20+ | 네임스페이스 | 폴더 구조 반영, 루트 ProjectVG | ProjectVG.Domain.Chat |
21+ | 파일명 | 공개 루트 타입명과 동일 | ChatManager.cs |
22+
23+ 공개 API는 명령형 동사를 사용합니다(Initialize/Apply/Load 등).
Original file line number Diff line number Diff line change 1+ # 커밋 메시지 규칙
2+
3+ ## 구성 요소
4+ | 항목 | 필수 | 설명 | 예시 |
5+ | ---| ---| ---| ---|
6+ | Type | 예 | Commit의 종류(소문자). 이모지 사용 금지 | ` feat ` , ` fix ` , ` refactor ` |
7+ | Scope | 선택 | Commit의 범위(기능/함수/페이지/API 등) | ` login ` , ` signup ` , ` network ` |
8+ | Subject | 예 | 제목은 간결하게, 명사형 어미로 종료 | ` 회원가입 기능 추가 ` |
9+ | Body | 선택 | 왜/어떻게 변경했는지 요약 | 변경 배경, 접근, 영향 범위 |
10+ | Footer | 선택 | 이슈 트래킹/참고 사항 | ` Closes #123 ` |
11+
12+ ## 헤더 예시
13+ ```
14+ <type>(optional scope): <subject>
15+ ```
16+
17+ - 주의: 이모지 사용 금지, type은 전부 소문자 (예: ` feat: ` , ` fix(login): ` )
18+
19+ ## 예시
20+ | type | 예시 메시지 |
21+ | ---| ---|
22+ | feat | ` feat(login/signup): 회원가입 기능 추가 ` |
23+ | fix | ` fix(login): 로그인 기능 수정 ` |
24+ | style | ` style: 코드 포맷 변경 ` |
25+ | refactor | ` refactor(signup): 회원 가입 로직 개선 ` |
26+ | file | ` file: 이미지 파일 추가 ` |
27+ | test | ` test: 테스트 코드 추가 ` |
28+ | docs | ` docs: README.md 업데이트 ` |
29+ | remove | ` remove: 사용하지 않는 파일 제거 ` |
30+ | ci | ` ci: 자동 배포 스크립트 변동 ` |
31+ | release | ` release: 릴리즈 버전 1.0.3 ` |
32+ | chore | ` chore: 설정파일 수정 ` |
33+
34+ ## 메세지 구조
35+ ```
36+ <type>(optional scope): <subject>
37+
38+ [optional body]
39+
40+ [optional footer(s)]
41+ ```
Original file line number Diff line number Diff line change 1+ # PR 리뷰 가이드
2+
3+ ## 기준
4+ - PR 머지 전 모든 테스트가 통과해야 합니다.
5+ - 변경 사항 관련 문서는 ` Docs/ ` 에 정리합니다.
6+
7+ ## 체크리스트
8+ - [ ] 테스트 통과
9+ - [ ] 변경 영향 범위 요약
10+ - [ ] 관련 문서 링크 또는 업데이트
Original file line number Diff line number Diff line change 1+ # Conventions
2+
3+ - 목적: 팀 공통 규칙의 단일 참조 지점
4+ - 적용 범위: C# 코드 스타일, Unity 에셋 네이밍, 브랜치/커밋/PR 규칙
5+
6+ ## 문서 목록
7+ - [ C# 코드 스타일] ( ./CodeStyle_CSharp.md )
8+ - [ Unity 에셋 네이밍] ( ./Unity_Asset_Naming.md )
9+ - [ 브랜치 전략] ( ./Branching.md )
10+ - [ 커밋 메시지 규칙] ( ./Commit_Message.md )
11+ - [ PR 리뷰 가이드] ( ./PR_Review.md )
12+
13+ ## 관련 가이드
14+ - ` Assets/Docs/Guides/Unity_Naming_Conventions.md `
15+ - ` Assets/Docs/Guides/ProjectVG_Structure_Guide.md `
16+ - ` Assets/Docs/Guides/Manager_System_Guide.md `
Original file line number Diff line number Diff line change 1+ # Unity 에셋 네이밍
2+
3+ ## Unity 자산
4+ | 타입 | 규칙 | 예시 |
5+ | ---| ---| ---|
6+ | 씬 | PascalCase, 역할 접미 허용(Main/Boot/Loading/Sample) | MainScene, LoadingScene |
7+ | 프리팹 | PascalCase, UI 루트 접두사 Panel/Dialog/HUD | PanelChat, DialogConfirm |
8+ | SO 에셋 | 타입명 기반 + 키 | NetworkConfig_Prod |
9+ | Addressables | Domain/Category/Name | UI/Panels/PanelChat |
10+ | 폴더 | PascalCase 단수형 | Domain/Character/Model |
11+
12+ ## UI 위젯
13+ | 위치 | 규칙 | 예시 |
14+ | ---| ---| ---|
15+ | Hierarchy 이름 | 접두사 사용 Panel/Btn/Img/Txt/Input/Scroll/Toggle/Slider/Dropdown | PanelChat, BtnSend |
16+ | 코드 필드명 | 의미 중심 camelCase | sendButton, titleText |
17+
18+ ## 예시(요약)
19+ - MonoBehaviour: ScreenTapManager, Live2DModelManagerFacade
20+ - ScriptableObject: Live2DModelConfig, AppEnvironmentConfig
21+ - Prefab: PanelChat, ChatBubbleUI, AudioInputView
22+ - Scene: MainScene, Live2DScene
23+
24+ ## 금지/주의
25+ - 범용어 남용: Data/Util/Helper/Manager(무의미 사용)
26+ - 약어 조합: Cfg/Ctrllr/Svc
27+ - 파일명 ≠ 타입명 불일치
28+ - 부정형 이벤트/플래그: NotReady → 긍정형 ShouldWait/IsReady
You can’t perform that action at this time.
0 commit comments