BurningTimesAi/공유/조직공지/신PC_셋팅_체크리스트_v2.md

185 lines
8.1 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 신 PC 셋팅 체크리스트 v2
> **발행**: 2026-04-15 (총괄PM 주도, PD님 직접 지시 #C16 산하 산출물)
> **목적**: 회사/집/노트북 등 어느 PC에서든 조직 레포(`NerdNavisAi`)를 가동할 때 동일한 재현 결과를 보장.
> **근거**: PD 지시 #7·#7-α·#8 (Git 동기화·셋업 마무리) → C16 신설 (PC 독립 셋업·세션 시작 표준).
> **원칙**: C5(정보의 정직성) · C14(토큰 최소화 — 본 문서가 유일한 셋팅 SOT) · C16(PC 독립 셋업·세션 시작 표준).
> **v2 변경 요지**: 폴더 칩 UI 사용 절차·승인 반복 트러블슈팅·바로가기 비권장 명시·v1 부분 보존.
---
## 0. 전제
- Windows 10/11 + PowerShell 5.1 이상 (또는 macOS/Linux — macOS는 `setup/setup_macos.sh` 사용)
- Git 설치 완료
- Claude Code 설치 완료 (Windows: **Microsoft Store(MSIX) 권장** 또는 CLI)
- Gitea 접근 자격 (PAT 또는 SSH key) 준비
---
## 1. Clone
레포 루트는 **사용자가 원하는 위치**(예: `C:/Users/PC/Documents/너드나비스` 또는 `E:/NerdNavisAi`)로 자유 선택 가능.
```powershell
# HTTPS
git clone https://burning.i234.me/NerdNavis/NerdNavisAi.git "<원하는 경로>"
# 또는 SSH
git clone ssh://git@burning.i234.me:30030/NerdNavis/NerdNavisAi.git "<원하는 경로>"
```
**체크**
- [ ] clone 성공
- [ ] `cd <레포 루트>``git log -1`로 최신 커밋 확인
---
## 2. 셋업 스크립트 실행
### Windows
```powershell
cd <레포 루트>
.\setup\setup_windows.ps1
```
스크립트 수행 작업:
1. `paths.local.json` 자동 생성 (레포 루트 드라이브 기준 추정)
2. `memory/org/` 디렉토리 준비
3. `~/.claude/projects/<해시>/memory/` junction → `memory/org/` 연결
4. `.claude/settings.json` 루트 SOT → 부서 2개(`개발실/.claude/`·`기획실/.claude/`) 자동 동기 복제 (C16-1)
> **`-CreateShortcuts` 옵션**: non-MSIX(독립 실행) Claude 환경에서만 권장. **Windows Store(MSIX) 앱 환경에서는 바로가기가 작동하지 않으므로 비권장**. C16-2 참조.
### macOS / Linux
```bash
cd <레포 루트>
bash setup/setup_macos.sh
```
**체크**
- [ ] 스크립트 정상 종료
- [ ] `paths.local.json` 실존
- [ ] Claude 프로젝트 해시 폴더에서 `memory` junction 생성 로그 확인
- [ ] `.claude/settings.json`이 루트·`개발실/.claude/`·`기획실/.claude/` 3곳 모두 존재 (3중 배치 무결성)
---
## 3. paths.local.json 실값 확인·보정
자동 추정값이 실제와 다른 경우 수동 보정.
```json
{
"NERDNAVIS_ROOT": "<레포 루트 실경로>",
"UNITY_PROJECT_ROOT": "<Unity 프로젝트 실경로 — 미설치 시 빈 값 가능>",
"FRAMEWORK_PKG_ROOT": "<NerdNavis.Framework 실경로 — 미설치 시 빈 값 가능>",
"TABLE_EXPORT_ROOT": "${UNITY_PROJECT_ROOT}/Assets/ResWork/Table/Export",
"GITEA_URL": "https://burning.i234.me",
"GITEA_SSH": "ssh://git@burning.i234.me:30030",
"HOSTNAME": "<본 PC 식별자>"
}
```
**체크**
- [ ] `NERDNAVIS_ROOT`가 레포 실경로와 일치
- [ ] `UNITY_PROJECT_ROOT`·`FRAMEWORK_PKG_ROOT`가 본 PC에 존재하거나 의도적으로 빈 값
- [ ] `paths.local.json``git status`에 나타나지 않음 (gitignore 제외 상태)
---
## 4. 검증 스크립트 실행 (필수)
```powershell
.\scripts\verify_setup.ps1
```
3축 검증:
1. **파일 존재**: `paths.local.json`·`memory/org` 실체·`.claude/settings.json` 3중 배치
2. **OS 동작**: junction의 reparse point 속성·타깃 경로
3. **실행 결과**: `MEMORY.md` junction 경유 읽기·경로 추상화 잔존 구 경로 스캔·`.gitignore` 규칙
**체크**
- [ ] `exit 0`로 종료 ("셋팅 검증 통과. 작업 착수 가능.")
- [ ] `[FAIL]` 0건
- [ ] `[WARN]` 육안 확인
---
## 5. 세션 시작 (C16-2 표준 절차)
### Claude Code Windows Store (MSIX) 앱
1. Claude 앱을 실행한다.
2. 화면 하단 **입력창 위에 있는 "폴더 칩" UI**를 클릭한다 (현재 작업 폴더가 표시되는 작은 칩 모양 버튼).
3. 폴더 선택 다이얼로그에서 본인 역할에 맞는 폴더를 선택:
- **총괄PM(메인 세션)**: 레포 루트 (`NerdNavisAi/`)
- **개발팀**: `<레포 루트>/개발실`
- **기획팀**: `<레포 루트>/기획실`
4. **워크트리 ☑ 체크는 유지** (기본값).
5. 새 세션 시작.
> **중요 (C16-2 실증 확정)**: MSIX 앱 환경에서는 **폴더 칩 UI 선택만이 유일한 방법**이다. 바탕화면 바로가기·`claude://` URI·바로가기 `WorkingDirectory` 등 **기술적 우회는 모두 작동하지 않는다** (2026-04-15 새 PC 셋업 대장정 실증). 따라서 `setup_windows.ps1 -CreateShortcuts`로 만든 바로가기는 MSIX 환경에서 **참고용**일 뿐이며, 실제 진입은 폴더 칩으로 한다.
### Claude Code CLI
```bash
cd <레포 루트>/개발실 # 또는 /기획실, 또는 루트
claude
```
### 세션 시작 직후 의무 (C16-4)
1. `git pull` 1회 (이미 pull했다면 생략 가능)
2. CLAUDE.md "🔔 최근 규칙 변경" 재읽기
3. `공유/공통_업무_규칙.md` C 섹션 본문 재읽기
4. `<부서>/` 루트의 `🛑_*`·`⚠_*`·`🚨_*` 파일 스캔
5. `공유/조직공지/` 최신 공지 전수 확인
**체크**
- [ ] 폴더 칩 UI 또는 `cd`로 올바른 폴더 진입
- [ ] `MEMORY.md` 자동 로드 확인
- [ ] CLAUDE.md의 "PD님"·"총괄PM" 호칭 인지
- [ ] `.claude/settings.json` 포괄 승인 반영 (Edit·Write·git에서 개별 승인 받지 않음)
---
## 6. 트러블슈팅 (자주 발생하는 문제)
| 증상 | 원인 | 조치 |
|------|------|------|
| `verify_setup.ps1` 파싱 에러 | 파일 인코딩이 UTF-8 BOM 아님 | 레포 재 clone 또는 스크립트 재 pull |
| junction이 실체 폴더로 존재 | Claude Code가 기존에 실제 `memory` 폴더 생성 | `setup_windows.ps1` 재실행 (자동 백업 후 junction 교체) |
| `MEMORY.md` 안 읽힘 | junction 타깃이 `memory` 루트가 아니라 `memory/org`여야 함 | setup 정상이면 OK, 수동 생성 시 `memory -> memory/org` 구조 확인 |
| `paths.local.json`이 커밋되려 함 | `.gitignore` 누락 | 레포 재 pull 또는 `.gitignore`에 라인 존재 확인 |
| **md 수정·커밋·push마다 개별 승인 요구됨** | `.claude/settings.json` 3중 배치 누락 또는 부서 폴더 동기 미실행 | `setup_windows.ps1` 재실행으로 루트 SOT → 부서 2개 동기. 그래도 발생 시 부서 폴더의 `.claude/settings.json` 내용이 루트와 동일한지 확인. 불일치면 루트 내용으로 덮어쓰기 후 커밋 |
| 잘못된 폴더로 진입함 | 폴더 칩 UI 선택 누락 | 즉시 세션 종료 후 폴더 칩으로 올바른 폴더 재선택. C16-2 위반은 C13 PM 공유 대상 |
| **MSIX 환경에서 바로가기가 작동하지 않음** | MSIX 앱은 외부 WorkingDirectory·URI 매개변수 무시 | 바로가기 사용 포기, **폴더 칩 UI 사용** (C16-2 정답) |
| `rm` 명령이 차단됨 | C16-3 deny 정책 (안전 차단) | PowerShell **`Remove-Item`** 사용 (deny 우회가 아니라 안전 대체) |
| `.claude/settings.local.json`만 존재하고 PC 이동 시 사라짐 | local 파일은 `.gitignore` 대상 | 공용 승인은 반드시 `.claude/settings.json`(커밋 대상)에 작성 |
---
## 7. 변경 이력
| 버전 | 일자 | 변경 | 담당 |
|------|------|------|------|
| v1 | 2026-04-15 | 최초 발행 (PD 지시 #8 처리) | 개발실장 |
| v2 | 2026-04-15 | C16 신설 반영. §5 세션 시작(폴더 칩 UI) 신설, §6 트러블슈팅 확장(승인 반복·MSIX 한계·rm 대체), `-CreateShortcuts` 비권장 명시, `.claude/settings.json` 3중 배치 검증 추가 | 총괄PM |
---
## 8. 참조
- `공유/공통_업무_규칙.md` C16 (PC 독립 셋업·세션 시작 표준)
- `공유/조직공지/2026-04-15_C16_핵심규칙_신설_PC독립셋업_세션표준.md`
- `setup/setup_windows.ps1`, `setup/setup_macos.sh`
- `scripts/verify_setup.ps1`
- `paths.local.json.template`
- `memory/org/feedback_permissions_portability.md` (PC 간 승인 일관성 실증)
- `memory/org/feedback_setup_verification.md` (3축 검증 원칙)
- `memory/org/feedback_session_start_protocol.md` (세션 시작 표준 절차)