인수인계서 — 세션 13 (코드 패턴 검증 및 수정)
작성일: 2026-02-17 이전 세션: session12
작업 요약
02-reusable-code/ 343개 TS/TSX 파일의 코딩 컨벤션 준수 여부를 정적 분석한 뒤, shadcn 배럴 6개에 @dependencies 추가 + 커스텀 파일 138개에 @extracted/@source 태그 보완. @extracted 준수율 100% 달성.
수정 파일 (150개)
| # | 카테고리 | 파일 수 | 변경 내용 |
|---|---|---|---|
| 1 | shadcn-*/index.ts | 6 | @dependencies 목록 추가 (카테고리별 Radix UI + 외부 패키지) |
| 2 | 01-ui-components/ | 17 | @source + @extracted 메타데이터 추가 (feedback, web3, _shared, lib) |
| 3 | 02-hooks/web3/ | 2 | @source + @extracted 메타데이터 추가 |
| 4 | 03-utils/ | 27 | @source + @extracted 추가 (formatters, performance, geo, web3, 기본) |
| 5 | 04-supabase-patterns/ | 13 | @source + @extracted 추가 |
| 6 | 05-auth-rbac/ | 23 | @source + @extracted 추가 |
| 7 | 06-api-middleware/ | 18 | @source + @extracted 추가 |
| 8 | 08-services/ | 38 | @source + @extracted 추가 |
| 9 | 문서 | 3 | current.md, next-dev-prompt.md, 2026-02.md |
| 10 | 스크립트(임시) | 2 | add-extracted-tags.mjs, fix-format.mjs (실행 후 삭제) |
상세 변경 사항
1. shadcn 배럴 @dependencies — 카테고리별 외부 패키지 명시
컨벤션: "shadcn index.ts 배럴 파일만 한국어 주석 + 출처 표시"
| 배럴 파일 | 주요 의존성 |
|---|---|
| shadcn-core | @radix-ui/react-{slot,dialog,accordion,avatar,progress,tabs,tooltip}, cva, lucide-react |
| shadcn-form | @radix-ui/react-{slot,label,checkbox,radio-group,select,slider,switch}, cva, lucide-react, react-hook-form, input-otp |
| shadcn-overlay | @radix-ui/react-{dialog,context-menu,hover-card,popover}, cmdk, lucide-react, vaul |
| shadcn-nav | @radix-ui/react-{slot,dropdown-menu,menubar,navigation-menu}, cva, lucide-react |
| shadcn-data | @radix-ui/react-{slot,collapsible,scroll-area,separator}, cva, lucide-react, react-resizable-panels |
| shadcn-misc | @radix-ui/react-{aspect-ratio,toggle,toggle-group}, cva, embla-carousel-react, lucide-react, react-day-picker, sonner |
2. @extracted 태그 일괄 보완 — 138개 커스텀 파일
Node.js 스크립트 2개로 처리:
add-extracted-tags.mjs: 4가지 케이스 자동 분류 (기존 @source만, @version만, JSDoc만, JSDoc 없음)fix-format.mjs:* * @source이중 애스터리스크 + 빈줄 오류 113건 수정
@source 매핑 규칙:
web3/→ Web3-레퍼런스,feedback/→ silvercare-master,performance/→ GitHub-커뮤니티04-supabase-patterns/~08-services/→ general-pro
3. 검증 결과 전후 비교
| 항목 | Before | After |
|---|---|---|
| @extracted 준수 | 160/298 (54%) | 298/298 (100%) |
| shadcn 배럴 @dependencies | 0/6 | 6/6 |
* * @source 포맷 오류 | — | 0건 |
| export default | ✅ 양호 | ✅ 유지 |
| 상대 경로 정합성 | ✅ 양호 (220개) | ✅ 유지 |
| type import 분리 | ✅ 양호 (151개) | ✅ 유지 |
검증 결과
@extractedgrep: 298개 파일에서 발견 (100%)@dependenciesgrep: shadcn 배럴 6개 모두 포함 확인* * @source패턴: 0건 (모두 수정됨)
터치하지 않은 영역
02-reusable-code/07-contexts/— 이미 @extracted 존재02-reusable-code/09-templates/— 해당 디렉토리 없음02-reusable-code/10-stripe-patterns/— 이미 @extracted 존재02-reusable-code/11~13-*-patterns/— 이미 @extracted 존재 (세션 10에서 추가)02-reusable-code-python/— Python 파일은 별도 컨벤션- shadcn 개별 컴포넌트 파일 (44개) — 업스트림 스타일 유지 정책
알려진 이슈
06-api-middleware/core/compose.ts: @extracted와 @version 사이에 빈줄 1개 잔존 (원본 포맷에서 유래, 기능 영향 없음)
다음 작업 제안
/inception실행 — 의존성 맵 자동 갱신01-dev-rules-system/README.md작성 — 9개 하위 폴더 개요 문서- 실 프로젝트에서 02-reusable-code 코드 import하여 동작 확인
- 시너지 개선 + 풀뿌리 검증 실전 테스트