sh-ui-cli 0.67.1 → 0.67.2

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.
@@ -2,6 +2,19 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$description": "sh-ui 릴리즈 노트 단일 소스. docs(React)와 showcase(Flutter)가 함께 읽는다. 새 릴리즈마다 맨 앞에 추가.",
4
4
  "versions": [
5
+ {
6
+ "version": "0.67.2",
7
+ "date": "2026-05-09",
8
+ "title": "patch — MCP instructions 에 v0.65~0.67 신규 툴/라우팅 가이드 반영 + migrations 노트",
9
+ "type": "patch",
10
+ "highlights": [
11
+ "**MCP `instructions` 갱신** — `sh_ui_add_app` (모노레포에 앱 추가), `sh_ui_migrate_to_v065` (v0.64.x → v0.65 자동 마이그레이션) 사용 시점을 명시. AI 가 사용자 의도 (\"admin 앱 추가\", \"컴포넌트 중복 emit 정리\") 와 툴 호출을 직접 매핑.",
12
+ "**모노레포 라우팅 가이드 추가** — `sh_ui_add_component` 가 monorepo 에선 컴포넌트는 ui-core 단일 SoT, tokens 는 각 ui-app 으로 라우팅. CLI `sh-ui add` 는 v0.67+ walk-up 으로 어느 디렉토리에서든 자동 라우팅 (apps/web 에서 tokens → ui-web hintApp 추론).",
13
+ "**v0.67.1 preset 보존 정책 명시** — rose/emerald/violet 등 풍부한 preset 도 'custom' 과 동일하게 tokens.css 단일 진실로 보존. `sh_ui_add_component` 의 `tokens` 가 rebuild 대신 보존하는 케이스 확장.",
14
+ "**`apps/docs/migrations/v0.65.md`** 에 v0.66/0.67 후속 개선 섹션 추가 — sh_ui_add_app, walk-up 라우팅, preset 회귀 fix 까지 한 페이지에서 흐름 파악 가능."
15
+ ],
16
+ "url": "https://github.com/sanghyeonKim0201/sh-ui/releases/tag/v0.67.2"
17
+ },
5
18
  {
6
19
  "version": "0.67.1",
7
20
  "date": "2026-05-09",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sh-ui-cli",
3
- "version": "0.67.1",
3
+ "version": "0.67.2",
4
4
  "description": "sh-ui CLI — 프로젝트 스캐폴드(create) + 컴포넌트 추가(add/list/remove) + IDE-내 AI용 MCP 서버",
5
5
  "license": "MIT",
6
6
  "repository": {
package/src/mcp.mjs CHANGED
@@ -164,6 +164,22 @@ function buildServerInstructions(cliName) {
164
164
 
165
165
  \`create-next-app\` + \`sh_ui_init\` 조합은 **쓰지 말 것** — 위 두 경로가 더 짧고 sh-ui 관용에 맞다.
166
166
 
167
+ ## 기존 모노레포에 새 앱 추가하는 경우 (v0.66+)
168
+
169
+ 이미 sh-ui monorepo 가 있고 사용자가 "admin 앱 추가", "dashboard 같은 앱 더 만들고 싶어" 류 요청을 하면 \`sh_ui_add_app\` MCP 툴 사용 (Bash 직접 호출보다 우선).
170
+
171
+ - 인자: name (필수), port, plugins (선택), theme (앱별 다른 톤 가능), cssFramework, cwd
172
+ - 산출물: \`apps/{name}/\` (Next.js + arch overlay) + \`packages/ui/ui-apps/ui-{name}/\` (tokens-only role, v0.65 layout). 새 ui-app 만 theme/css 적용 — 다른 앱 영향 X.
173
+ - 앱별로 다른 톤을 원하면 각 앱 별도 호출 (예: 마케팅 사이트 = rose, admin = emerald). 컴포넌트는 ui-core 단일 SoT 라 두 앱이 자동 공유.
174
+
175
+ ## v0.64.x → v0.65 마이그레이션 (v0.66+)
176
+
177
+ 사용자가 "v0.64 모노레포에서 컴포넌트 중복 emit 정리하고 싶어" / "ui-app 들에 같은 컴포넌트가 N 번 있어" 류 요청 또는 사용자가 v0.64.x 시절 만든 모노레포라면 \`sh_ui_migrate_to_v065\` 사용:
178
+
179
+ - **dryRun 기본** — 변경 plan 미리보기 후 사용자 확인. 컨텐츠 충돌 시 abort (자동 병합 안 함).
180
+ - apply: 모든 ui-app 의 \`src/{components,hooks,lib}/\` → \`packages/ui/ui-core/\` 단일 SoT 로 dedup 이동, ui-app 에 \`role: "tokens-only"\` 마커, \`apps/*\` 의 \`@workspace/ui-{app}/components/...\` 임포트를 \`@workspace/ui-core/...\` 로 일괄 재작성.
181
+ - 적용 후 사용자에게 \`pnpm install\` 안내.
182
+
167
183
  ## 이미 있는 프로젝트에 sh-ui 를 얹는 경우 (MCP 툴 사용)
168
184
 
169
185
  기존 Next.js/Vite/Flutter 프로젝트에 sh-ui 컴포넌트만 추가하고 싶을 때:
@@ -178,6 +194,14 @@ function buildServerInstructions(cliName) {
178
194
  - \`sh_ui_add_component\` / \`sh_ui_remove_component\` — 설치/삭제
179
195
  - \`sh_ui_get_changelog\` — 최근 변경 내역
180
196
 
197
+ ### 모노레포 라우팅 (v0.65+)
198
+
199
+ monorepo 에서 \`sh_ui_add_component\` 호출 시:
200
+ - **컴포넌트/훅/lib** → \`packages/ui/ui-core/\` 단일 SoT (ui-app 마다 복제 X). 모든 앱이 \`@workspace/ui-core/components/<name>\` 으로 import.
201
+ - **\`tokens\`** → 각 \`packages/ui/ui-apps/ui-{app}/\` (앱별 다른 톤 가능). \`--app <name>\` 으로 대상 명시 가능.
202
+
203
+ CLI \`sh-ui add <name>\` 은 monorepo 의 어느 디렉토리에서든 (apps/web/, root, ui-core, ui-apps/ui-{app}) 실행해도 자동 라우팅 (v0.67+ walk-up). \`apps/web/\` 안에서 \`sh-ui add tokens\` 실행하면 hintApp='web' 으로 ui-web 자동 선택.
204
+
181
205
  ## UI 짤 때 사고 순서 (raw HTML 기본값 회피)
182
206
 
183
207
  새 위젯·페이지를 작성할 때 \`<aside>\` / \`<nav>\` / \`<header>\` / \`<table>\` / \`<button>\` 같은 시맨틱 태그를 raw 로 쓰기 전에:
@@ -222,7 +246,7 @@ function buildServerInstructions(cliName) {
222
246
 
223
247
  ### 기존 프로젝트 톤만 바꾸고 싶을 때
224
248
 
225
- > v0.61.2 부터 \`theme.base: "custom"\` 인 프로젝트에서 \`sh_ui_add_component\` 의 \`tokens\` 는 no-op (보존). 색을 바꾸려면 새 base64 를 만들고 새 디렉토리로 \`force: true\` 재스캐폴드하는 게 정석. 부분 편집을 원해도 \`tokens.css\` 직접 수정 후 \`sh_ui_encode_theme\` 로 새 base64 백업까지 같이 — 그 base64 를 메모리에 갱신해야 다음 재스캐폴드와 일관됨.
249
+ > v0.61.2 부터 \`theme.base: "custom"\` 인 프로젝트에서 \`sh_ui_add_component\` 의 \`tokens\` 는 no-op (보존). v0.67.1 부터 \`rose\`/\`emerald\`/\`violet\` 같은 풍부한 preset 도 동일 — tokens.css 단일 진실로 보존. 색을 바꾸려면 새 base64 를 만들고 새 디렉토리로 \`force: true\` 재스캐폴드하는 게 정석. 부분 편집을 원해도 \`tokens.css\` 직접 수정 후 \`sh_ui_encode_theme\` 로 새 base64 백업까지 같이 — 그 base64 를 메모리에 갱신해야 다음 재스캐폴드와 일관됨.
226
250
  `;
227
251
  }
228
252