# INVYONE — Claude 작업 컨벤션 이 파일은 git 에 올라가는 **프로젝트 공용** Claude 가이드입니다. 모든 머신/팀원의 Claude Code 인스턴스가 이 컨벤션을 따라야 합니다. (개인용 셋업은 `CLAUDE.local.md` — git 추적 제외, syncthing 동기화) --- ## 📝 분석 / 리포트 / 메모 MD 파일 저장 규칙 (★필수) Claude 가 코드 분석, 보안 감사, 리팩토링 검토, 설계 문서, 회의록 등 **새 MD 파일을 작성**할 때는 다음 위치에 저장합니다. ### 저장 경로 ``` notes/{git-user-name}/{YYYY-MM-DD}-{slug}.md ``` - `notes/` — 프로젝트 루트의 메모/리포트 모음 폴더 (이 폴더로 통일) - `{git-user-name}` — `git config user.name` 으로 자동 결정 (예: `gbpark`, `park`) - `{YYYY-MM-DD}-{slug}.md` — 날짜 prefix + 짧은 제목 slug (kebab-case) **예시:** ``` notes/gbpark/2026-04-08-auth-security-audit.md notes/gbpark/2026-04-12-component-v2-migration-plan.md notes/park/2026-04-15-docker-port-conflict-resolution.md ``` ### 규칙 1. **사용자 폴더가 이미 있으면 그 안에 넣는다** — 없으면 `mkdir -p notes/{git-user}` 로 생성 2. **파일명은 항상 날짜 + slug 조합** — 시간순 정렬되어 추적 용이 3. **README 나 docs/ 와는 분리** — `README.md`, `docs/` 는 사용자/개발자용 공식 문서. `notes/` 는 작업 기록·분석·메모용 4. **MD 외 다른 산출물 (스크립트, JSON 등) 도 같이 둘 수 있음** — 필요하면 `notes/{git-user}/{slug}/` 식 하위 폴더 사용 5. **새 폴더/파일 작성 후엔 git add 권장** — syncthing 도 자동 동기화 (`notes/` 는 `.stignore-shared` 에 없음) ### 어디에 안 넣는가 - `_local/`, `_backup/`, `_pipeline/` — syncthing ignore. 머신 로컬용 - `docs/` — 공식 개발 문서. 작업 기록 아님 - 프로젝트 루트 직접 (`./STATUS.md`, `./PLAN.MD` 등) — 이미 기존에 있는 것 외에 새로 만들지 말 것 --- ## 컨벤션이 적용되는 시나리오 | 사용자 요청 | 저장 위치 | |---|---| | "이 코드 분석해서 md 로 정리해줘" | `notes/{git-user}/{date}-{topic}.md` | | "보안 감사 리포트 만들어줘" | `notes/{git-user}/{date}-security-audit.md` | | "리팩토링 플랜 md 로 뽑아줘" | `notes/{git-user}/{date}-refactor-plan.md` | | "회의 노트 정리해줘" | `notes/{git-user}/{date}-meeting-notes.md` | | "마이그레이션 가이드 작성" | `notes/{git-user}/{date}-migration-guide.md` | --- ## Claude 사용 시 추가 주의사항 - **이 컨벤션은 사용자 명시 요청 없이도 자동 적용** — 사용자가 "md 만들어줘" 라고만 해도 위 경로에 저장 - **현재 git user 확인이 필요하면** `git config user.name` 실행 - **사용자 폴더가 처음이면** 만들면서 `.gitkeep` 정도만 두지 말고 바로 첫 노트 작성 --- ## 🎨 공통 디자인 시스템 / CSS 참조 규칙 (★★★ 무조건 적용) UI 작업(컴포넌트 작성, HTML 목업, 새 페이지/화면, 디자인 리빌딩, 스타일 수정 등)을 할 때는 **반드시** 아래 공통 CSS 파일들을 먼저 읽고 그 안의 토큰/클래스 컨벤션을 100% 따라야 합니다. 절대 새 색상/간격/라운드/그림자 값을 즉흥으로 만들지 말 것. ### "v5" 의 정체 (★ 헷갈리지 말 것) **INVION v5 = 디자인 시안 5번째 = 최종 채택본. 현재 컨셉은 "Solid + Glow" (2026-04-21 개정)** - 디자이너가 v1~v5 까지 5번 시안을 만들고 그 중 **v5 가 확정**되어 React 로 포팅됨 - 시안 원본 HTML (참고용, 여기엔 아직 glassmorphism 이 남아있음): - `frontend/invion-layout-v5.html` (973줄, 풀 레이아웃 셸) - `frontend/invion-preview-v5.html` (1049줄, 미리보기/모션 데모) - 폐기된 시안: `frontend/invion-preview-v1~v4.html` (참고만, 적용 금지) - **현재 적용 컨셉 (2026-04-21 개정)**: - **로그인 페이지**: 우주(별/성운/별똥별/입자) 배경 + 글래스 카드 **유지** - **메인 화면 이후 전부**: **반투명/blur/cosmic 배경 폐기**. 불투명 솔리드 카드 + primary-color 글로우 + 보라(`#6c5ce7`)/시안(`#00cec9`)/핑크(`#fd79a8`) 액센트 - v5 토큰이 옮겨진 곳: `frontend/styles/v5-layout.css`, `frontend/app/(auth)/login/login.css` ⚠️ **POP 디자이너의 "v5 그리드 시스템"** (`PopRenderer.tsx`, `pop-layout.ts` 등) 은 **별개 의미** — POP 화면 데이터 포맷의 5번째 버전. UI 디자인 v5 와 무관. 혼동 금지. ### 항상 먼저 읽어야 하는 파일 | 파일 | 역할 | |---|---| | `frontend/invion-layout-v5.html` | **v5 디자인 원본 (시안)** — 모든 v5 토큰/클래스의 진실의 원천. 포팅된 css 와 다르면 이게 정답 | | `frontend/styles/v5-layout.css` | **INVION v5 React 포팅 메인** — `--v5-*` CSS 변수, 헤더/사이드바/탭/모달 등 모든 v5- 컴포넌트 클래스 정의. UI 작업 전 무조건 먼저 읽기 | | `frontend/app/globals.css` | shadcn/Tailwind 토큰 (`--background`, `--primary`, `--foreground` 등 HSL), 다크모드 변수, 전역 reset | | `frontend/app/(auth)/login/login.css` | **로그인 전용** 코스믹 배경(별/성운/입자) + 글래스 카드. 이 컨셉은 **로그인에만** 적용 — 메인 화면에 옮기지 말 것 | | `frontend/components/layout/AppLayout.tsx` | v5 클래스가 실제로 어떻게 조립되는지 — 헤더/사이드바/탭/플라이아웃 사용 예 | ### 필수 준수 사항 1. **디자인 토큰은 무조건 변수 사용** — `--v5-primary`, `--v5-cyan`, `--v5-surface-solid`, `--v5-glow-sm/md/lg`, `hsl(var(--primary))` 등. 즉흥 hex/rgb 금지 2. **클래스명은 v5- 접두사 컨벤션 따르기** — 새 컴포넌트도 `.v5-card`, `.v5-btn`, `.v5-bdg` 처럼 같은 네이밍. shadcn 컴포넌트 사용 시 그대로 사용 3. **반투명/블러 금지 (★2026-04-21 신규)** — 메인 화면 이후 전 영역에서 `backdrop-filter: blur(...)`, `var(--v5-glass)`, `var(--v5-glass-strong)` 사용 **금지**. 카드/모달/사이드바/헤더 배경은 `var(--v5-surface-solid)` (라이트 `#ffffff` / 다크 `#11102a`) 를 쓰고, 테두리는 `border-border` 또는 `var(--v5-border)`. 예외: `frontend/app/(auth)/login/` 과 `frontend/styles/builder-ide.css` 는 별도 스코프라 기존 유지 4. **글로우는 유지** — 그림자는 검은 drop-shadow 대신 `var(--v5-glow-sm/md/lg)` (primary-color glow) 사용. 모달/강조 카드에 liberal 하게 사용 가능 5. **다크/라이트 모드는 둘 다 동작** — `.dark` 변형 잊지 말 것. 다크에서 `--v5-surface-solid` 는 `#11102a`, 라이트는 `#ffffff`. 별/입자/별똥별/성운은 **로그인에만** 존재, 메인은 평범한 단색 배경 6. **컴팩트 폰트 사이즈 유지** — v5 는 0.55~0.85rem 의 컴팩트 UI. 새로 만들 때도 같은 스케일 따를 것 7. **새 UI 패턴은 v5-layout.css 에 합치는 것을 기본 방향으로** — 일회성 inline `