@axboot-mcp/mcp-server 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/CLAUDE.md +119 -0
  2. package/MCP_TOOL_PLAN.md +710 -0
  3. package/MCP_USAGE.md +914 -0
  4. package/README.md +168 -0
  5. package/REPOSITORY_CONVENTIONS.md +250 -0
  6. package/SEARCH_PARAMS_MCP_TOOL_COMPLETE_PLAN.md +646 -0
  7. package/SEARCH_PARAMS_PLAN.md +2570 -0
  8. package/STORE_PATTERNS.md +1178 -0
  9. package/debug-dto.js +72 -0
  10. package/generate-banner-store.js +62 -0
  11. package/generation-plan.json +2176 -0
  12. package/generation-results.json +1817 -0
  13. package/package.json +45 -0
  14. package/scripts/batch-generate-all.js +159 -0
  15. package/scripts/batch-generate-mcp.js +329 -0
  16. package/scripts/batch-generate-stores-v2.js +272 -0
  17. package/scripts/batch-generate-stores.js +179 -0
  18. package/scripts/batch-plan.json +3810 -0
  19. package/scripts/batch-process.py +90 -0
  20. package/scripts/batch-regenerate.js +356 -0
  21. package/scripts/direct-generate.js +227 -0
  22. package/scripts/execute-batches.js +1911 -0
  23. package/scripts/generate-all-stores.js +144 -0
  24. package/scripts/generate-stores-mcp.js +161 -0
  25. package/scripts/generate-stores-v2.js +450 -0
  26. package/scripts/generate-stores-v3.js +412 -0
  27. package/scripts/generate-stores-v4.js +521 -0
  28. package/scripts/generate-stores.js +382 -0
  29. package/scripts/repos-to-process.json +1899 -0
  30. package/src/config/nh-layout-patterns.ts +166 -0
  31. package/src/docs/HOOK_GENERATION_PLAN.md +2226 -0
  32. package/src/docs/NH_STORE_PATTERNS.md +297 -0
  33. package/src/docs/README.md +216 -0
  34. package/src/docs/index.ts +28 -0
  35. package/src/docs/loader.ts +568 -0
  36. package/src/docs/patterns.json +419 -0
  37. package/src/docs/practical-examples.md +732 -0
  38. package/src/docs/quick-start.md +257 -0
  39. package/src/docs/requirements-analysis-guide.md +364 -0
  40. package/src/docs/rules.json +321 -0
  41. package/src/docs/store-pattern-analysis.md +664 -0
  42. package/src/docs/store-patterns-rules.md +1168 -0
  43. package/src/docs/store-patterns-usage-guide.md +1835 -0
  44. package/src/docs/troubleshooting.md +544 -0
  45. package/src/docs/type-selection-guide.md +572 -0
  46. package/src/docs//354/202/254/354/232/251/353/262/225/AntD-/354/273/264/355/217/254/353/204/214/355/212/270-/354/202/254/354/232/251/353/262/225.md +1515 -0
  47. package/src/docs//354/202/254/354/232/251/353/262/225/DataGrid-/354/202/254/354/232/251/353/262/225.md +866 -0
  48. package/src/docs//354/202/254/354/232/251/353/262/225/FormItem-/354/202/254/354/232/251/353/262/225.md +903 -0
  49. package/src/docs//354/202/254/354/232/251/353/262/225/FormModal-/354/202/254/354/232/251/353/262/225.md +1155 -0
  50. package/src/docs//354/202/254/354/232/251/353/262/225/MCP-/353/260/224/354/235/264/353/270/214/354/275/224/353/224/251-/352/260/200/354/235/264/353/223/234.md +1133 -0
  51. package/src/docs//354/202/254/354/232/251/353/262/225/MSW-Mock-/353/215/260/354/235/264/355/204/260-/354/202/254/354/232/251/353/262/225.md +579 -0
  52. package/src/docs//354/202/254/354/232/251/353/262/225/Search-/354/273/264/355/217/254/353/204/214/355/212/270-/354/202/254/354/232/251/353/262/225.md +738 -0
  53. package/src/docs//354/202/254/354/232/251/353/262/225/Store-/355/214/250/355/204/264-/354/202/254/354/232/251/353/262/225.md +1135 -0
  54. package/src/docs//354/202/254/354/232/251/353/262/225//355/231/224/353/251/264/352/265/254/354/204/261-/355/203/200/354/236/205/353/263/204-/352/260/234/353/260/234/354/210/234/354/204/234.md +1805 -0
  55. package/src/docs//354/202/254/354/232/251/353/262/225//355/231/224/353/251/264/355/203/200/354/236/205/353/263/204-/352/260/234/353/260/234-/355/224/204/353/241/254/355/224/204/355/212/270-/352/260/200/354/235/264/353/223/234.md +946 -0
  56. package/src/docs//354/202/254/354/232/251/353/262/225//355/231/225/354/236/245/355/231/224/353/251/264/355/203/200/354/236/205/353/263/204-/354/203/201/354/204/270-/355/224/204/353/241/254/355/224/204/355/212/270/352/260/200/354/235/264/353/223/234.md +2422 -0
  57. package/src/features/store-features.ts +232 -0
  58. package/src/handlers/analyze-requirements.ts +403 -0
  59. package/src/handlers/analyze.ts +1373 -0
  60. package/src/handlers/generate-from-requirements.ts +250 -0
  61. package/src/handlers/generate-hook.ts +950 -0
  62. package/src/handlers/generate-interactive.ts +840 -0
  63. package/src/handlers/generate-listdatagrid.ts +521 -0
  64. package/src/handlers/generate-multi-stores.ts +577 -0
  65. package/src/handlers/generate-requirements-from-layout.ts +160 -0
  66. package/src/handlers/generate-search-params.ts +717 -0
  67. package/src/handlers/generate.ts +911 -0
  68. package/src/handlers/list-templates.ts +104 -0
  69. package/src/handlers/scan-metadata.ts +485 -0
  70. package/src/handlers/suggest-layout.ts +326 -0
  71. package/src/index.ts +959 -0
  72. package/src/prompts/search-params.md +793 -0
  73. package/src/templates/index.ts +107 -0
  74. package/src/templates/unified.ts +462 -0
  75. package/store-generation-error-patterns.md +225 -0
  76. package/test/useAgentStore.ts +136 -0
  77. package/test-server.js +78 -0
  78. package/tsconfig.json +20 -0
@@ -0,0 +1,166 @@
1
+ /**
2
+ * NH 프로젝트 레이아웃 패턴 정의
3
+ * NH 화면 구조 분석 결과 기반
4
+ */
5
+
6
+ export interface NHLayoutPattern {
7
+ type: string;
8
+ name: string;
9
+ description: string;
10
+ baseRequirements: string;
11
+ exampleModules: string[];
12
+ }
13
+
14
+ /**
15
+ * NH 레이아웃 패턴 매핑
16
+ */
17
+ export const NH_LAYOUT_PATTERNS: Record<string, NHLayoutPattern> = {
18
+ // 1. 왼쪽 목록 + 오른쪽 상세 폼
19
+ LEFT_DETAIL_FORM: {
20
+ type: 'LEFT_DETAIL_FORM',
21
+ name: '왼쪽 목록 + 오른쪽 상세 폼',
22
+ description: '왼쪽에 트리/목록, 오른쪽에 상세 폼. ColResizer로 크기 조절 가능',
23
+ baseRequirements:
24
+ '왼쪽에 트리 또는 목록 형태의 마스터 데이터를 표시하고, 오른쪽에 선택된 항목의 상세 폼을 표시하는 레이아웃. ColResizer로 패널 크기 조절 가능. 왼쪽 목록에서 항목 선택 시 오른쪽 폼에 데이터 로드. 저장, 수정 기능 포함.',
25
+ exampleModules: ['product.category-mng'],
26
+ },
27
+
28
+ // 2. 왼쪽 목록 + 오른쪽 상세 목록
29
+ LEFT_DETAIL_LIST: {
30
+ type: 'LEFT_DETAIL_LIST',
31
+ name: '왼쪽 목록 + 오른쪽 상세 목록',
32
+ description: '왼쪽 마스터 목록, 오른쪽 디테일 목록 (Master-Detail)',
33
+ baseRequirements:
34
+ '왼쪽에 마스터 목록을 표시하고, 오른쪽에 선택된 마스터의 디테일 항목들을 목록으로 표시하는 Master-Detail 레이아웃. 양쪽 모두 검색, 페이징 기능 포함.',
35
+ exampleModules: [],
36
+ },
37
+
38
+ // 3. 복합 다중 패널
39
+ MULTI_PANEL: {
40
+ type: 'MULTI_PANEL',
41
+ name: '복합 다중 패널',
42
+ description: '왼쪽 목록 + 왼쪽 모달 + 오른쪽 상단 목록 + 오른쪽 하단 목록 + 오른쪽 하단 모달',
43
+ baseRequirements:
44
+ '복잡한 다중 패널 레이아웃. 왼쪽 목록과 모달, 오른쪽은 상단/하단 목록으로 분할되며 하단 목록은 모달을 가짐. 각 영역별 검색, 엑셀 다운로드, CRUD 기능 포함.',
45
+ exampleModules: [],
46
+ },
47
+
48
+ // 4. 단일 목록 + 서랍(Drawer)
49
+ LIST_DRAWER: {
50
+ type: 'LIST_DRAWER',
51
+ name: '단일 목록 + 서랍(Drawer)',
52
+ description: '목록에서 선택 시 Drawer로 상세 표시',
53
+ baseRequirements:
54
+ '단일 목록을 표시하고, 항목 선택 시 오른쪽에서 Sliding Drawer로 상세 정보를 표시하는 레이아웃. Drawer에서 수정, 저장 가능. 주문 상세, 회원 상세 등에 사용.',
55
+ exampleModules: [
56
+ 'benefit.coupon-history',
57
+ 'benefit.coupon',
58
+ 'benefit.event',
59
+ 'order.payment.all',
60
+ 'order.payment.detail',
61
+ 'order.claim.return',
62
+ 'order.claim.cancel',
63
+ 'order.claim.change',
64
+ 'order.claim.refund',
65
+ ],
66
+ },
67
+
68
+ // 5. 단일 목록 + 모달
69
+ LIST_MODAL: {
70
+ type: 'LIST_MODAL',
71
+ name: '단일 목록 + 모달',
72
+ description: '목록 표시, CRUD는 모달로 처리 (가장 많은 패턴)',
73
+ baseRequirements:
74
+ '단일 목록을 표시하고, 등록/수정/삭제는 모달(Dialog)로 처리하는 가장 일반적인 레이아웃. 검색, 페이징, 엑셀 다운로드 기능 포함. 모달에서 폼 입력 후 저장.',
75
+ exampleModules: [
76
+ 'b2b.estimate-consulting',
77
+ 'b2b.intro-case',
78
+ 'b2b.mng-dept',
79
+ 'b2b.partnership-inquiry',
80
+ 'b2b.product',
81
+ 'benefit.gifticon',
82
+ 'benefit.live-deal',
83
+ 'benefit.mileage-history',
84
+ 'benefit.point',
85
+ 'benefit.product',
86
+ 'benefit.time-deal',
87
+ 'cs.as-status',
88
+ 'cs.consultation',
89
+ 'cs.faq',
90
+ 'cs.manual',
91
+ 'member.list',
92
+ 'product.master',
93
+ ],
94
+ },
95
+
96
+ // 6. 탭 기반
97
+ TAB_BASED: {
98
+ type: 'TAB_BASED',
99
+ name: '탭 기반',
100
+ description: '여러 탭으로 콘텐츠 분리',
101
+ baseRequirements:
102
+ '탭(Tabs)을 사용하여 여러 콘텐츠 영역을 분리하는 레이아웃. 각 탭은 독립적인 목록, 폼, 또는 설정을 가질 수 있음. 탭 전환 시 데이터 유지.',
103
+ exampleModules: [
104
+ 'display.main',
105
+ 'display.banner-menu',
106
+ 'display.gnb-menu',
107
+ 'kdh.digital-goods',
108
+ 'kdh.privacy-policy',
109
+ 'kdh.press-release',
110
+ 'kdh.company-history-manage',
111
+ 'kdh.business-area-manage',
112
+ 'member.dashboard',
113
+ ],
114
+ },
115
+
116
+ // 7. 단일 목록 + 요약(Summary)
117
+ LIST_SUMMARY: {
118
+ type: 'LIST_SUMMARY',
119
+ name: '단일 목록 + 요약(Summary)',
120
+ description: '상단에 통계/요약 정보, 하단에 목록',
121
+ baseRequirements:
122
+ '상단에 통계, 요약 정보(Descriptions)를 표시하고 하단에 목록을 표시하는 레이아웃. 요약 영역에는 합계, 평균, 건수 등의 통계 정보 표시. 포인트 내역, 마일리지 내역 등에 사용.',
123
+ exampleModules: ['benefit.point-history', 'benefit.mileage-daily-summary'],
124
+ },
125
+
126
+ // 8. 대시보드만
127
+ DASHBOARD: {
128
+ type: 'DASHBOARD',
129
+ name: '대시보드만',
130
+ description: '목록 없이 통계/차트/요약 정보만 표시',
131
+ baseRequirements:
132
+ '목록 없이 통계 데이터, 차트, 요약 정보만 표시하는 대시보드 레이아웃. 여러 개의 Summary 카드, 차트, 지표 등을 표시. 별도의 CRUD 없음.',
133
+ exampleModules: ['home', 'member.dashboard'],
134
+ },
135
+
136
+ // 9. 폼만
137
+ FORM_ONLY: {
138
+ type: 'FORM_ONLY',
139
+ name: '폼만',
140
+ description: '목록 없이 설정 폼만 존재',
141
+ baseRequirements:
142
+ '목록 없이 설정/환경설정 폼만 존재하는 레이아웃. 여러 설정 필드를 그룹화하여 표시하고 저장 버튼으로 설정값 저장. 별도의 조회 없음.',
143
+ exampleModules: ['b2b.consulting-dept-config'],
144
+ },
145
+ };
146
+
147
+ /**
148
+ * 사용 가능한 NH 레이아웃 타입 목록 반환
149
+ */
150
+ export function getNHLayoutTypes(): string[] {
151
+ return Object.keys(NH_LAYOUT_PATTERNS);
152
+ }
153
+
154
+ /**
155
+ * 레이아웃 타입으로 패턴 정보 조회
156
+ */
157
+ export function getNHLayoutPattern(type: string): NHLayoutPattern | undefined {
158
+ return NH_LAYOUT_PATTERNS[type];
159
+ }
160
+
161
+ /**
162
+ * NH 레이아웃 타입이 유효한지 확인
163
+ */
164
+ export function isValidNHLayoutType(type: string): boolean {
165
+ return type in NH_LAYOUT_PATTERNS;
166
+ }