- Shared entry point docs/ai/AI_GUIDE.md (type selection Web / SW / OrgChart / mixed, steps 1-7, package style separation, report format, examples A-D) and AGENTS_SNIPPET.md, copied into every package ai/ folder - New ai/ docs for @hm-design/ui and @hm-design/org-chart (+ org-chart-react pointer): AI_USAGE, COMPONENT_CATALOG, DESIGN_RULES, COMPOSITION_PATTERNS - SW ai/ linked to the shared guide; catalog lists every Props type explicitly - "ai" added to package files of ui, org-chart, org-chart-react - scripts/ai-docs.mjs: sync:ai-docs / check:ai-docs (copies, files, catalog <-> exports, links) - Maintenance guide and verification record under docs/ai
3.0 KiB
3.0 KiB
패키지 AI 지침 구축 검증 기록 (2026-10-19)
범위: 공통 진입점(docs/ai/AI_GUIDE.md → 각 패키지 ai/AI_GUIDE.md), Web(packages/ui/ai/)·OrgChart(packages/org-chart/ai/, packages/org-chart-react/ai/) 신규 문서, SW 기존 ai/ 연결, 패키지 files에 ai 추가, scripts/ai-docs.mjs. 런타임 코드·CSS·Storybook·공개 API 변경 없음.
실행한 검증
| 항목 | 결과 |
|---|---|
npm run check:ai-docs (사본 일치, files, 카탈로그 ↔ 공개 Export 양방향, ai/ 링크) |
PASS |
검사기 음성 테스트(Export 누락, 가짜 이름 DialogFancyPanel, 사본 불일치, 패키지 밖 링크를 임시 주입) |
4건 모두 FAIL로 검출 후 원복, 재검사 PASS |
npm run build:packages |
PASS |
npm pack --ignore-scripts 4종(ui 0.1.0, sw 0.2.0, org-chart 0.1.0, org-chart-react 0.1.0) |
모든 tarball에 package/ai/AI_GUIDE.md·AGENTS_SNIPPET.md와 패키지별 문서 포함 |
| 독립 소비 프로젝트(React 19.3.0, Vite 8.3.0, Tailwind CSS 4.3.3, TypeScript 7.0.2)에 tarball 설치 | node_modules/@hm-design/*/ai/ 4곳 존재, 설치 위치 기준 상대 링크 42개 모두 해석, AI_GUIDE.md 4사본 동일 |
AI_GUIDE.md §9의 스니펫 연결 명령(cat … >> AGENTS.md) |
동작 |
문서만 근거로 구현: Web+OrgChart 페이지(LNB ONLY, PageHeader, 신규 StatCard = Card + 토큰, FilterBar + DataTable, AlertDialog, OrgChart Full Page + /hm-dialog), Chart Only 미리보기, SW 뷰어(SWHeader + SWToolGroup + SWPopup, 별도 entry) |
tsc --noEmit(strict, skipLibCheck false) PASS, vite build PASS |
| 브라우저(1440px) | HM 외형 렌더링(글꼴 Noto Sans KR, Card·Button 토큰 값), 조회 1건 → 초기화 3건, 삭제 확인창 열림·Escape 닫힘·Trigger Focus 복귀, 조직도 직원 카드 → Web Dialog 표시·Escape 닫힘, 회사 Select → selectedCompanyIds 반영, 콘솔 오류 0, 가로 넘침 없음 |
| 브라우저(390px) | LNB Desktop 숨김·LNB Mobile Header 표시, 문서 가로 넘침 없음 |
| Chart Only(1280px) | 흰 캔버스 + 노드 + 연결선만, 외부 제목·버튼·요약 없음, 중앙 Fit |
| SW 뷰어 | Popup 열림·내부 Focus·Escape 닫힘·Trigger 복귀, --hm-sw-header-*가 body에는 없고 .hm-sw-theme 범위에만 존재 |
검증 프로젝트는 세션 임시 폴더에서 수행했고 저장소에 추가하지 않았다.
NOT VERIFIED
- 다른 AI 코딩 도구(Codex·Cursor 등)가 소비 프로젝트의
AGENTS.md만 보고 스스로ai/문서를 찾아가는지. 이번 시나리오는 이 문서를 작성한 같은 AI가 수행했으므로 독립 Cold-start 검증이 아니다. - Web CSS와 SW를 한 문서에서 함께 쓰는 경우의 시각 결과(문서에 NOT VERIFIED로 명시, 별도 entry 권장).
- 768px 화면, 실제 터치·스크린리더, Registry publish 후 설치.
- 문서의 Props 기본값·토큰 값 전부를 기계적으로 대조하지는 않았다(검사기는 Export 이름·링크·사본만 검사). 이번 작성은 소스를 직접 확인했다.