@su-record/vibe 2.16.2 → 2.16.4

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 (156) hide show
  1. package/.env.example +15 -0
  2. package/README.en.md +1 -1
  3. package/README.md +1 -1
  4. package/agents/architect-low.md +1 -1
  5. package/agents/architect-medium.md +1 -1
  6. package/agents/architect.md +1 -1
  7. package/agents/build-error-resolver.md +1 -1
  8. package/agents/compounder.md +4 -0
  9. package/agents/diagrammer.md +4 -0
  10. package/agents/docs/api-documenter.md +1 -1
  11. package/agents/docs/changelog-writer.md +1 -1
  12. package/agents/e2e-tester.md +4 -0
  13. package/agents/explorer-low.md +1 -1
  14. package/agents/explorer-medium.md +1 -1
  15. package/agents/explorer.md +2 -2
  16. package/agents/figma/figma-analyst.md +4 -0
  17. package/agents/figma/figma-architect.md +4 -0
  18. package/agents/figma/figma-auditor.md +4 -0
  19. package/agents/figma/figma-builder.md +4 -0
  20. package/agents/implementer-low.md +1 -1
  21. package/agents/implementer-medium.md +1 -1
  22. package/agents/implementer.md +2 -2
  23. package/agents/planning/requirements-analyst.md +1 -1
  24. package/agents/planning/ux-advisor.md +1 -1
  25. package/agents/qa/acceptance-tester.md +1 -1
  26. package/agents/qa/edge-case-finder.md +1 -1
  27. package/agents/refactor-cleaner.md +1 -1
  28. package/agents/research/best-practices.md +1 -1
  29. package/agents/research/codebase-patterns.md +1 -1
  30. package/agents/research/framework-docs.md +1 -1
  31. package/agents/research/security-advisory.md +1 -1
  32. package/agents/searcher.md +1 -1
  33. package/agents/simplifier.md +4 -0
  34. package/agents/teams/debug-team.md +4 -0
  35. package/agents/teams/dev-team.md +4 -0
  36. package/agents/teams/docs-team.md +4 -0
  37. package/agents/teams/figma-team.md +4 -0
  38. package/agents/teams/fullstack-team.md +4 -0
  39. package/agents/teams/lite-team.md +4 -0
  40. package/agents/teams/migration-team.md +4 -0
  41. package/agents/teams/refactor-team.md +4 -0
  42. package/agents/teams/research-team.md +4 -0
  43. package/agents/teams/review-debate-team.md +4 -0
  44. package/agents/teams/security-team.md +4 -0
  45. package/agents/tester.md +2 -2
  46. package/agents/ui/ui-a11y-auditor.md +1 -1
  47. package/agents/ui/ui-antipattern-detector.md +1 -1
  48. package/agents/ui/ui-dataviz-advisor.md +1 -1
  49. package/agents/ui/ui-design-system-gen.md +1 -1
  50. package/agents/ui/ui-industry-analyzer.md +1 -1
  51. package/agents/ui/ui-layout-architect.md +1 -1
  52. package/agents/ui/ui-stack-implementer.md +1 -1
  53. package/agents/ui/ux-compliance-reviewer.md +1 -1
  54. package/agents/ui-previewer.md +4 -0
  55. package/dist/__tests__/agent-model-sync.test.d.ts +2 -0
  56. package/dist/__tests__/agent-model-sync.test.d.ts.map +1 -0
  57. package/dist/__tests__/agent-model-sync.test.js +71 -0
  58. package/dist/__tests__/agent-model-sync.test.js.map +1 -0
  59. package/dist/cli/auth.d.ts.map +1 -1
  60. package/dist/cli/auth.js +8 -1
  61. package/dist/cli/auth.js.map +1 -1
  62. package/dist/cli/commands/index.d.ts +1 -0
  63. package/dist/cli/commands/index.d.ts.map +1 -1
  64. package/dist/cli/commands/index.js +1 -0
  65. package/dist/cli/commands/index.js.map +1 -1
  66. package/dist/cli/commands/info.d.ts.map +1 -1
  67. package/dist/cli/commands/info.js +2 -0
  68. package/dist/cli/commands/info.js.map +1 -1
  69. package/dist/cli/commands/llm.d.ts +11 -0
  70. package/dist/cli/commands/llm.d.ts.map +1 -0
  71. package/dist/cli/commands/llm.js +62 -0
  72. package/dist/cli/commands/llm.js.map +1 -0
  73. package/dist/cli/commands/setup.d.ts.map +1 -1
  74. package/dist/cli/commands/setup.js +35 -1
  75. package/dist/cli/commands/setup.js.map +1 -1
  76. package/dist/cli/index.d.ts.map +1 -1
  77. package/dist/cli/index.js +59 -2
  78. package/dist/cli/index.js.map +1 -1
  79. package/dist/cli/llm/config.d.ts.map +1 -1
  80. package/dist/cli/llm/config.js +7 -0
  81. package/dist/cli/llm/config.js.map +1 -1
  82. package/dist/cli/llm/index.d.ts +1 -0
  83. package/dist/cli/llm/index.d.ts.map +1 -1
  84. package/dist/cli/llm/index.js +1 -0
  85. package/dist/cli/llm/index.js.map +1 -1
  86. package/dist/cli/llm/model-refresh.d.ts +29 -0
  87. package/dist/cli/llm/model-refresh.d.ts.map +1 -0
  88. package/dist/cli/llm/model-refresh.js +139 -0
  89. package/dist/cli/llm/model-refresh.js.map +1 -0
  90. package/dist/cli/llm/zai-commands.d.ts +15 -0
  91. package/dist/cli/llm/zai-commands.d.ts.map +1 -0
  92. package/dist/cli/llm/zai-commands.js +64 -0
  93. package/dist/cli/llm/zai-commands.js.map +1 -0
  94. package/dist/cli/postinstall/constants.d.ts.map +1 -1
  95. package/dist/cli/postinstall/constants.js +1 -0
  96. package/dist/cli/postinstall/constants.js.map +1 -1
  97. package/dist/cli/types.d.ts +15 -0
  98. package/dist/cli/types.d.ts.map +1 -1
  99. package/dist/infra/lib/config/GlobalConfigManager.d.ts +2 -0
  100. package/dist/infra/lib/config/GlobalConfigManager.d.ts.map +1 -1
  101. package/dist/infra/lib/config/GlobalConfigManager.js +6 -0
  102. package/dist/infra/lib/config/GlobalConfigManager.js.map +1 -1
  103. package/dist/infra/lib/llm-availability.d.ts +4 -0
  104. package/dist/infra/lib/llm-availability.d.ts.map +1 -1
  105. package/dist/infra/lib/llm-availability.js +9 -1
  106. package/dist/infra/lib/llm-availability.js.map +1 -1
  107. package/dist/infra/lib/zai/client.d.ts +30 -0
  108. package/dist/infra/lib/zai/client.d.ts.map +1 -0
  109. package/dist/infra/lib/zai/client.js +124 -0
  110. package/dist/infra/lib/zai/client.js.map +1 -0
  111. package/dist/infra/lib/zai/index.d.ts +11 -0
  112. package/dist/infra/lib/zai/index.d.ts.map +1 -0
  113. package/dist/infra/lib/zai/index.js +10 -0
  114. package/dist/infra/lib/zai/index.js.map +1 -0
  115. package/dist/infra/lib/zai/orchestration.d.ts +15 -0
  116. package/dist/infra/lib/zai/orchestration.d.ts.map +1 -0
  117. package/dist/infra/lib/zai/orchestration.js +54 -0
  118. package/dist/infra/lib/zai/orchestration.js.map +1 -0
  119. package/dist/infra/lib/zai/types.d.ts +40 -0
  120. package/dist/infra/lib/zai/types.d.ts.map +1 -0
  121. package/dist/infra/lib/zai/types.js +5 -0
  122. package/dist/infra/lib/zai/types.js.map +1 -0
  123. package/dist/infra/orchestrator/SmartRouter.d.ts.map +1 -1
  124. package/dist/infra/orchestrator/SmartRouter.js +16 -34
  125. package/dist/infra/orchestrator/SmartRouter.js.map +1 -1
  126. package/dist/infra/orchestrator/index.d.ts +1 -0
  127. package/dist/infra/orchestrator/index.d.ts.map +1 -1
  128. package/dist/infra/orchestrator/index.js +11 -9
  129. package/dist/infra/orchestrator/index.js.map +1 -1
  130. package/dist/infra/orchestrator/types.d.ts +32 -9
  131. package/dist/infra/orchestrator/types.d.ts.map +1 -1
  132. package/dist/infra/orchestrator/types.js +68 -37
  133. package/dist/infra/orchestrator/types.js.map +1 -1
  134. package/dist/infra/orchestrator/types.test.d.ts +2 -0
  135. package/dist/infra/orchestrator/types.test.d.ts.map +1 -0
  136. package/dist/infra/orchestrator/types.test.js +57 -0
  137. package/dist/infra/orchestrator/types.test.js.map +1 -0
  138. package/hooks/scripts/__tests__/clone-behaviors.test.js +56 -0
  139. package/hooks/scripts/clone-extract.js +196 -11
  140. package/hooks/scripts/clone-spec.js +63 -12
  141. package/hooks/scripts/llm-orchestrate.js +49 -0
  142. package/package.json +4 -2
  143. package/skills/clone/SKILL.md +19 -4
  144. package/skills/create-prd/agents/edge-case-finder.md +4 -4
  145. package/skills/create-prd/agents/prioritizer.md +4 -4
  146. package/skills/create-prd/agents/requirements-writer.md +3 -3
  147. package/skills/create-prd/agents/researcher.md +3 -3
  148. package/skills/create-prd/agents/reviewer.md +3 -3
  149. package/skills/create-prd/orchestrator.md +2 -0
  150. package/skills/design-audit/orchestrator.md +2 -0
  151. package/skills/exec-plan/orchestrator.md +2 -0
  152. package/skills/parallel-research/orchestrator.md +2 -0
  153. package/skills/techdebt/orchestrator.md +2 -0
  154. package/skills/vibe.clone/SKILL.md +6 -3
  155. package/skills/vibe.llm/SKILL.md +50 -0
  156. package/vibe/rules/orchestrator-contract.md +56 -0
@@ -6,6 +6,8 @@ agents: [a11y-auditor, performance-auditor, responsive-auditor, slop-detector, s
6
6
 
7
7
  # Design Audit Orchestrator
8
8
 
9
+ > 구조·섹션·네이밍은 vibe/rules/orchestrator-contract.md (SSOT) 를 따른다.
10
+
9
11
  ## Workflow
10
12
 
11
13
  ### Phase 1: Launch Dimension Auditors
@@ -6,6 +6,8 @@ agents: [decomposer, dependency-mapper, estimator, validator]
6
6
 
7
7
  # Exec-Plan Orchestrator
8
8
 
9
+ > 구조·섹션·네이밍은 vibe/rules/orchestrator-contract.md (SSOT) 를 따른다.
10
+
9
11
  ## Workflow
10
12
 
11
13
  ### Phase 1: Decompose
@@ -6,6 +6,8 @@ agents: [best-practices, framework-docs, codebase-patterns, security-advisory, s
6
6
 
7
7
  # Parallel Research Orchestrator
8
8
 
9
+ > 구조·섹션·네이밍은 vibe/rules/orchestrator-contract.md (SSOT) 를 따른다.
10
+
9
11
  ## Workflow
10
12
 
11
13
  ### Phase 1: Launch Research Agents
@@ -6,6 +6,8 @@ agents: [scanner, analyzer, fixer, reviewer]
6
6
 
7
7
  # Techdebt Orchestrator
8
8
 
9
+ > 구조·섹션·네이밍은 vibe/rules/orchestrator-contract.md (SSOT) 를 따른다.
10
+
9
11
  ## Workflow
10
12
 
11
13
  ### Phase 1: Scan
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: vibe.clone
3
3
  description: URL → 마크업 레벨 픽셀 완벽 클론 — 헤드리스 브라우저로 라이브 사이트 캡처 후 현재 프로젝트 스택에 맞게 스캐폴딩
4
- argument-hint: "<url> [<url2>...] [--name=<feature>] [--mo-only] [--pc-only] [--ignore-robots]"
4
+ argument-hint: "<url> [<url2>...] [--name=<feature>] [--mo-only] [--pc-only] [--ignore-robots] [--no-interact]"
5
5
  user-invocable: true
6
6
  ---
7
7
 
@@ -20,6 +20,7 @@ URL을 받아 **마크업 수준으로 정밀 복제**하고 현재 프로젝트
20
20
  /vibe.clone <url> --name=stripe-clone # 기능 이름 지정 (기본: 호스트명 kebab-case)
21
21
  /vibe.clone <url1> <url2> <url3> # 다중 페이지 클론 (같은 사이트의 여러 경로)
22
22
  /vibe.clone <url> --ignore-robots # robots.txt 무시 (사이트 소유자 허가 있을 때만)
23
+ /vibe.clone <url> --no-interact # 능동 인터랙션 스윕 끄기 (완전 결정론적·재현 가능 캡처)
23
24
  ```
24
25
 
25
26
  ## Argument Routing
@@ -52,7 +53,9 @@ Phase 0: Setup
52
53
  Phase 1: Capture (병렬 — scope에 따라 MO/PC 동시)
53
54
  - node {{VIBE_PATH}}/hooks/scripts/clone-extract.js capture <url> \
54
55
  --out=/tmp/{feature}/{bp}/ --viewport={WxH} --bp={mo|pc}
55
- - 출력: rendered.html, computed.json, screenshot.png, states.json, asset-map.json, assets/
56
+ - 출력: rendered.html, computed.json, screenshot.png, states.json, behaviors.json, asset-map.json, assets/
57
+ - behaviors.json = 능동 인터랙션 스윕(스크롤 시 헤더/내비 변화 diff + 탭 클릭 콘텐츠 스왑 감지).
58
+ JS로 세팅되는 상태(정적 CSS로는 안 잡힘)를 포착 — 클론 정확도의 핵심. --no-interact 로 비활성화.
56
59
 
57
60
  Phase 2: Refine (BP마다 독립)
58
61
  - node {{VIBE_PATH}}/hooks/scripts/clone-refine.js \
@@ -88,7 +91,7 @@ Phase 5: Pixel Verification (P1=0까지 루프 — clone SKILL.md 규칙)
88
91
 
89
92
  ```
90
93
  /tmp/{feature}/ # 작업 디렉토리 (산출물 원본)
91
- ├── mo/, pc/ # rendered.html, computed.json, screenshot.png, states.json, sections.json, assets/
94
+ ├── mo/, pc/ # rendered.html, computed.json, screenshot.png, states.json, behaviors.json, sections.json, assets/
92
95
  └── project-tokens.json # 기존 프로젝트 토큰 인덱스
93
96
 
94
97
  ./components/{feature}/ # Claude가 작성한 컴포넌트 (.tsx/.vue/.svelte/.html)
@@ -0,0 +1,50 @@
1
+ ---
2
+ name: vibe.llm
3
+ description: Refresh available models for claude/openai(api+oauth)/gemini/zai as of now and update the vibe model SSOT
4
+ argument-hint: "list | refresh"
5
+ user-invocable: true
6
+ ---
7
+
8
+ # /vibe.llm
9
+
10
+ 현재 시점 기준으로 각 LLM provider(claude, openai API+oauth, gemini, zai)의
11
+ **사용 가능한 모델을 최신화**하고, vibe 가 쓰는 **모델 SSOT(`~/.vibe/config.json` models)**를 갱신한다.
12
+
13
+ ## Usage
14
+
15
+ ```
16
+ /vibe.llm list # provider 별 현재 사용 가능한 모델 표시 (★ = 추천/최신)
17
+ /vibe.llm refresh # 라이브 조회 → 추천 모델을 config.json models 에 반영
18
+ ```
19
+
20
+ CLI 로도 동일하게 동작한다:
21
+
22
+ ```
23
+ vibe llm list
24
+ vibe llm refresh
25
+ ```
26
+
27
+ ## 동작
28
+
29
+ 1. **라이브 조회** — 각 provider 의 list-models API 호출:
30
+ - claude: `GET /v1/models` (ANTHROPIC_API_KEY)
31
+ - openai: `GET /v1/models` (OPENAI_API_KEY). 키 없이 oauth(Codex)만 있으면 큐레이션 목록 표시
32
+ - gemini: `GET /v1beta/models` (GEMINI_API_KEY)
33
+ - zai: `GET /models` (coding/general 키)
34
+ 2. **fallback** — 키가 없거나 API 실패 시 in-repo 큐레이션 목록을 사용(무네트워크에서도 동작)
35
+ 3. **SSOT 갱신** — provider 별 추천(최신) 모델을 `~/.vibe/config.json` 의 `models`
36
+ (gpt, gemini, zai, zaiCoding)에 기록. 변경 내역을 출력한다.
37
+
38
+ > Claude 모델은 Claude Code tier(sonnet/opus/haiku alias)로 관리되므로 자동으로 덮어쓰지 않고
39
+ > 조회 결과만 표시한다.
40
+
41
+ ## 구현 위치
42
+
43
+ - CLI: `src/cli/commands/llm.ts` → `src/cli/llm/model-refresh.ts`
44
+ - SSOT: `~/.vibe/config.json` `models` (ModelOverrides)
45
+
46
+ 이 스킬은 위 CLI 를 호출하고 결과(변경된 모델 SSOT)를 요약해 보고한다.
47
+
48
+ ---
49
+
50
+ ARGUMENTS: $ARGUMENTS
@@ -0,0 +1,56 @@
1
+ # Orchestrator Contract — orchestrator 스킬 작성 계약 (SSOT)
2
+
3
+ > `type: orchestrator` 스킬(fan-out/fan-in 으로 서브에이전트를 조율하는 스킬)의
4
+ > **구조·스키마·네이밍 규칙**의 유일한 정의다. 각 orchestrator.md 는 이 스키마를 따르되
5
+ > **내용(phase·실패모드·에이전트)은 스킬별로 고유**하다 — 내용을 공유 파일로 병합하지 않는다.
6
+ >
7
+ > 대상: `skills/{techdebt,parallel-research,exec-plan,design-audit,create-prd}/orchestrator.md`
8
+
9
+ ## Frontmatter
10
+
11
+ ```yaml
12
+ ---
13
+ name: <skill>-orchestrator # 스킬 디렉토리명 + "-orchestrator"
14
+ type: orchestrator
15
+ agents: [<agent-basename>, ...] # skills/<skill>/agents/ 의 파일 basename (접두사 없이)
16
+ ---
17
+ ```
18
+
19
+ ## 필수 섹션 (순서 고정)
20
+
21
+ 1. `## Workflow` — `### Phase N: <이름>` 목록. 각 Phase 는 아래 4개 필드를 갖는다:
22
+ - `**Agent**:` — 이 Phase 를 수행하는 에이전트의 **basename**(복수 가능), 또는 `orchestrator (self)`
23
+ - `**Input**:` / `**Output**:` — 데이터 계약
24
+ - `**Parallel**:` — `yes`/`no` + 한 줄 근거
25
+ 2. `## DAG (Dependency Graph)` — Phase 의존 관계를 `mermaid graph TD` 로.
26
+ 3. `## Error Handling` — 스키마 고정 3열 테이블. 행 내용은 스킬별 고유:
27
+
28
+ | Phase | Failure Mode | Strategy |
29
+ |-------|-------------|----------|
30
+
31
+ 4. `## Scalability Modes` — 스키마 고정 3열 테이블. `Full`/`Reduced`/`Single` 3-tier 분류:
32
+
33
+ | Mode | When | Agents Used |
34
+ |------|------|-------------|
35
+
36
+ ## 에이전트 네이밍 규칙
37
+
38
+ 전역 에이전트(`agents/**/*.md`, `CLAUDE_MODEL_MAPPING` 키)와의 **이름 충돌을 피하기 위해**
39
+ skill-local 에이전트는 접두사를 붙인다:
40
+
41
+ - 에이전트 파일의 frontmatter `name:` = `<prefix>-<agent-basename>`
42
+ - 에이전트끼리의 상호 참조("Reports findings to: …", "… from …")도 **접두사 이름**으로
43
+ - 단, orchestrator.md 의 frontmatter `agents:[]` 와 Workflow `**Agent**:` 는 **basename**(접두사 없이) — 파일명과 일치
44
+
45
+ **Prefix registry** (스킬 → 접두사):
46
+
47
+ | Skill | Prefix | 예 |
48
+ |-------|--------|-----|
49
+ | techdebt | `techdebt` | `techdebt-scanner` |
50
+ | exec-plan | `plan` | `plan-decomposer` |
51
+ | design-audit | `design` | `design-a11y-auditor` |
52
+ | parallel-research | `research` | `research-best-practices` |
53
+ | create-prd | `prd` | `prd-requirements-writer` |
54
+
55
+ > WHY: `edge-case-finder`, `reviewer`, `researcher` 등은 전역 에이전트/리뷰어와 basename 이
56
+ > 겹친다. 접두사가 없으면 조율 LLM 이 전역 에이전트와 skill-local 에이전트를 혼동한다.