@su-record/vibe 3.2.1 → 3.2.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.
- package/CLAUDE.md +1 -1
- package/README.en.md +4 -4
- package/README.md +4 -4
- package/dist/__tests__/skill-namespace.test.d.ts +2 -0
- package/dist/__tests__/skill-namespace.test.d.ts.map +1 -0
- package/dist/__tests__/skill-namespace.test.js +60 -0
- package/dist/__tests__/skill-namespace.test.js.map +1 -0
- package/dist/__tests__/wiring-integrity.test.js +5 -5
- package/dist/__tests__/wiring-integrity.test.js.map +1 -1
- package/dist/cli/generate-release-notes.d.ts +3 -0
- package/dist/cli/generate-release-notes.d.ts.map +1 -0
- package/dist/cli/generate-release-notes.js +47 -0
- package/dist/cli/generate-release-notes.js.map +1 -0
- package/dist/cli/postinstall/constants.d.ts +6 -6
- package/dist/cli/postinstall/constants.d.ts.map +1 -1
- package/dist/cli/postinstall/constants.js +114 -46
- package/dist/cli/postinstall/constants.js.map +1 -1
- package/dist/cli/postinstall/fs-utils.d.ts +1 -0
- package/dist/cli/postinstall/fs-utils.d.ts.map +1 -1
- package/dist/cli/postinstall/fs-utils.js +25 -0
- package/dist/cli/postinstall/fs-utils.js.map +1 -1
- package/dist/cli/postinstall/fs-utils.test.js +46 -11
- package/dist/cli/postinstall/fs-utils.test.js.map +1 -1
- package/dist/cli/postinstall/main.d.ts.map +1 -1
- package/dist/cli/postinstall/main.js +3 -2
- package/dist/cli/postinstall/main.js.map +1 -1
- package/dist/tests/curated-release-notes.test.d.ts +2 -0
- package/dist/tests/curated-release-notes.test.d.ts.map +1 -0
- package/dist/tests/curated-release-notes.test.js +106 -0
- package/dist/tests/curated-release-notes.test.js.map +1 -0
- package/dist/tools/release/releaseNotes.d.ts +21 -0
- package/dist/tools/release/releaseNotes.d.ts.map +1 -0
- package/dist/tools/release/releaseNotes.js +105 -0
- package/dist/tools/release/releaseNotes.js.map +1 -0
- package/hooks/scripts/__tests__/.vibe/command-log.txt +3 -3
- package/package.json +2 -2
- package/skills/{agents-md → vibe.agents-md}/SKILL.md +1 -1
- package/skills/{brand-assets → vibe.brand-assets}/SKILL.md +1 -1
- package/skills/{capability-loop → vibe.capability-loop}/SKILL.md +1 -1
- package/skills/{chub-usage → vibe.chub-usage}/SKILL.md +1 -1
- package/skills/vibe.clone/SKILL.md +295 -3
- package/skills/{commerce-patterns → vibe.commerce-patterns}/SKILL.md +1 -1
- package/skills/{commit-push-pr → vibe.commit-push-pr}/SKILL.md +2 -2
- package/skills/{context7-usage → vibe.context7-usage}/SKILL.md +1 -1
- package/skills/vibe.contract/SKILL.md +162 -1
- package/skills/{create-prd → vibe.create-prd}/SKILL.md +2 -2
- package/skills/{design-refine → vibe.design-refine}/SKILL.md +1 -1
- package/skills/{design-review → vibe.design-review}/SKILL.md +1 -1
- package/skills/{design-teach → vibe.design-teach}/SKILL.md +1 -1
- package/skills/{devlog → vibe.devlog}/SKILL.md +1 -1
- package/skills/vibe.docs/SKILL.md +256 -1
- package/skills/{e2e-commerce → vibe.e2e-commerce}/SKILL.md +1 -1
- package/skills/vibe.educational-content/SKILL.md +157 -0
- package/skills/vibe.educational-content/references/learning-design.md +81 -0
- package/skills/vibe.educational-content/references/output-patterns.md +109 -0
- package/skills/vibe.educational-content/references/source-method.md +40 -0
- package/skills/{event-comms → vibe.event-comms}/SKILL.md +1 -1
- package/skills/{event-ops → vibe.event-ops}/SKILL.md +1 -1
- package/skills/{event-planning → vibe.event-planning}/SKILL.md +1 -1
- package/skills/vibe.figma/SKILL.md +473 -21
- package/skills/vibe.figma/references/branch-phases.md +1 -1
- package/skills/{git-worktree → vibe.git-worktree}/SKILL.md +1 -1
- package/skills/{handoff → vibe.handoff}/SKILL.md +1 -1
- package/skills/{parallel-research → vibe.parallel-research}/SKILL.md +2 -2
- package/skills/{presentation → vibe.presentation}/SKILL.md +1 -1
- package/skills/{prioritization-frameworks → vibe.prioritization}/SKILL.md +2 -2
- package/skills/{priority-todos → vibe.priority-todos}/SKILL.md +1 -1
- package/skills/{vercel-react-best-practices → vibe.react-best-practices}/SKILL.md +1 -1
- package/skills/vibe.regress/SKILL.md +182 -2
- package/skills/vibe.run/SKILL.md +388 -1
- package/skills/{arch-guard → vibe.run/internal/arch-guard}/templates/violation-report.md +1 -1
- package/skills/{seo-checklist → vibe.seo-checklist}/SKILL.md +1 -1
- package/skills/vibe.spec/SKILL.md +122 -1
- package/skills/vibe.test/SKILL.md +138 -2
- package/skills/{tool-fallback → vibe.tool-fallback}/SKILL.md +1 -1
- package/skills/{ui-ux-pro-max → vibe.ui-ux-pro-max}/SKILL.md +6 -6
- package/skills/{user-personas → vibe.user-personas}/SKILL.md +2 -2
- package/skills/vibe.verify/SKILL.md +2 -2
- package/skills/{video-production → vibe.video-production}/SKILL.md +1 -1
- package/skills/arch-guard/SKILL.md +0 -183
- package/skills/clone/SKILL.md +0 -296
- package/skills/contract/SKILL.md +0 -165
- package/skills/docs/SKILL.md +0 -259
- package/skills/exec-plan/SKILL.md +0 -151
- package/skills/figma/SKILL.md +0 -456
- package/skills/regress/SKILL.md +0 -184
- package/skills/restraint/SKILL.md +0 -72
- package/skills/spec/SKILL.md +0 -125
- package/skills/test/SKILL.md +0 -140
- /package/skills/{agents-md → vibe.agents-md}/rubrics/what-to-keep.md +0 -0
- /package/skills/{agents-md → vibe.agents-md}/templates/agents-md.md +0 -0
- /package/skills/{agents-md → vibe.agents-md}/templates/claude-md.md +0 -0
- /package/skills/{brand-assets → vibe.brand-assets}/rubrics/asset-checklist.md +0 -0
- /package/skills/{brand-assets → vibe.brand-assets}/templates/brand-guide.md +0 -0
- /package/skills/{capability-loop → vibe.capability-loop}/agents/capability-designer.md +0 -0
- /package/skills/{capability-loop → vibe.capability-loop}/agents/failure-analyst.md +0 -0
- /package/skills/{capability-loop → vibe.capability-loop}/agents/implementer.md +0 -0
- /package/skills/{capability-loop → vibe.capability-loop}/agents/tester.md +0 -0
- /package/skills/{capability-loop → vibe.capability-loop}/templates/capability-spec.md +0 -0
- /package/skills/{capability-loop → vibe.capability-loop}/templates/failure-analysis.md +0 -0
- /package/skills/{clone → vibe.clone}/references/capture-rules.md +0 -0
- /package/skills/{clone → vibe.clone}/references/legal-and-error-recovery.md +0 -0
- /package/skills/{clone → vibe.clone}/references/refine-rules.md +0 -0
- /package/skills/{clone → vibe.clone}/references/scaffold-phases.md +0 -0
- /package/skills/{clone → vibe.clone}/references/setup-and-layout.md +0 -0
- /package/skills/{commerce-patterns → vibe.commerce-patterns}/rubrics/checkout-flow.md +0 -0
- /package/skills/{commerce-patterns → vibe.commerce-patterns}/templates/product-schema.md +0 -0
- /package/skills/{commit-push-pr → vibe.commit-push-pr}/agents/change-analyzer.md +0 -0
- /package/skills/{commit-push-pr → vibe.commit-push-pr}/agents/message-writer.md +0 -0
- /package/skills/{commit-push-pr → vibe.commit-push-pr}/agents/pr-writer.md +0 -0
- /package/skills/{commit-push-pr → vibe.commit-push-pr}/agents/reviewer.md +0 -0
- /package/skills/{commit-push-pr → vibe.commit-push-pr}/rubrics/commit-message.md +0 -0
- /package/skills/{commit-push-pr → vibe.commit-push-pr}/templates/pr-body.md +0 -0
- /package/skills/{context7-usage → vibe.context7-usage}/rubrics/when-to-use.md +0 -0
- /package/skills/{create-prd → vibe.create-prd}/agents/edge-case-finder.md +0 -0
- /package/skills/{create-prd → vibe.create-prd}/agents/prioritizer.md +0 -0
- /package/skills/{create-prd → vibe.create-prd}/agents/requirements-writer.md +0 -0
- /package/skills/{create-prd → vibe.create-prd}/agents/researcher.md +0 -0
- /package/skills/{create-prd → vibe.create-prd}/agents/reviewer.md +0 -0
- /package/skills/{create-prd → vibe.create-prd}/frameworks/jobs-to-be-done.md +0 -0
- /package/skills/{create-prd → vibe.create-prd}/frameworks/rice-scoring.md +0 -0
- /package/skills/{create-prd → vibe.create-prd}/orchestrator.md +0 -0
- /package/skills/{create-prd → vibe.create-prd}/rubrics/completeness.md +0 -0
- /package/skills/{create-prd → vibe.create-prd}/templates/prd.md +0 -0
- /package/skills/{design-refine → vibe.design-refine}/rubrics/polish-checklist.md +0 -0
- /package/skills/{design-refine → vibe.design-refine}/rubrics/token-naming.md +0 -0
- /package/skills/{design-refine → vibe.design-refine}/templates/design-system.md +0 -0
- /package/skills/{design-refine → vibe.design-refine}/templates/polish-report.md +0 -0
- /package/skills/{design-refine → vibe.design-refine}/templates/token-audit.md +0 -0
- /package/skills/{design-review → vibe.design-review}/agents/a11y-auditor.md +0 -0
- /package/skills/{design-review → vibe.design-review}/agents/performance-auditor.md +0 -0
- /package/skills/{design-review → vibe.design-review}/agents/responsive-auditor.md +0 -0
- /package/skills/{design-review → vibe.design-review}/agents/scorer.md +0 -0
- /package/skills/{design-review → vibe.design-review}/agents/slop-detector.md +0 -0
- /package/skills/{design-review → vibe.design-review}/frameworks/core-web-vitals.md +0 -0
- /package/skills/{design-review → vibe.design-review}/frameworks/wcag-checklist.md +0 -0
- /package/skills/{design-review → vibe.design-review}/orchestrator.md +0 -0
- /package/skills/{design-review → vibe.design-review}/rubrics/ai-slop-patterns.md +0 -0
- /package/skills/{design-review → vibe.design-review}/rubrics/scoring.md +0 -0
- /package/skills/{design-review → vibe.design-review}/rubrics/ux-heuristics.md +0 -0
- /package/skills/{design-review → vibe.design-review}/templates/critique-report.md +0 -0
- /package/skills/{design-review → vibe.design-review}/templates/report.md +0 -0
- /package/skills/{design-teach → vibe.design-teach}/rubrics/brand-personality.md +0 -0
- /package/skills/{design-teach → vibe.design-teach}/templates/design-context.json +0 -0
- /package/skills/{docs → vibe.docs}/references/api-docs-changelog.md +0 -0
- /package/skills/{docs → vibe.docs}/references/codemaps-output.md +0 -0
- /package/skills/{docs → vibe.docs}/references/diagram-spec.md +0 -0
- /package/skills/{docs → vibe.docs}/templates/architecture.md +0 -0
- /package/skills/{docs → vibe.docs}/templates/behavioral-principles.md +0 -0
- /package/skills/{docs → vibe.docs}/templates/readme.md +0 -0
- /package/skills/{docs → vibe.docs}/templates/release-notes.md +0 -0
- /package/skills/{e2e-commerce → vibe.e2e-commerce}/templates/test-scenarios.md +0 -0
- /package/skills/{event-comms → vibe.event-comms}/templates/email-invite.md +0 -0
- /package/skills/{event-comms → vibe.event-comms}/templates/sns-post.md +0 -0
- /package/skills/{event-ops → vibe.event-ops}/rubrics/contingency.md +0 -0
- /package/skills/{event-ops → vibe.event-ops}/templates/d-day-checklist.md +0 -0
- /package/skills/{event-planning → vibe.event-planning}/rubrics/timeline.md +0 -0
- /package/skills/{event-planning → vibe.event-planning}/templates/event-plan.md +0 -0
- /package/skills/{figma → vibe.figma}/rubrics/conversion-rules.md +0 -0
- /package/skills/{figma → vibe.figma}/rubrics/css-mapping.md +0 -0
- /package/skills/{figma → vibe.figma}/rubrics/extraction-checklist.md +0 -0
- /package/skills/{figma → vibe.figma}/rubrics/image-rules.md +0 -0
- /package/skills/{figma → vibe.figma}/templates/component-index.md +0 -0
- /package/skills/{figma → vibe.figma}/templates/component-spec.md +0 -0
- /package/skills/{figma → vibe.figma}/templates/component.md +0 -0
- /package/skills/{figma → vibe.figma}/templates/figma-handoff.md +0 -0
- /package/skills/{figma → vibe.figma}/templates/remapped-tree.md +0 -0
- /package/skills/{git-worktree → vibe.git-worktree}/rubrics/when-to-use.md +0 -0
- /package/skills/{handoff → vibe.handoff}/agents/context-summarizer.md +0 -0
- /package/skills/{handoff → vibe.handoff}/agents/document-writer.md +0 -0
- /package/skills/{handoff → vibe.handoff}/agents/state-collector.md +0 -0
- /package/skills/{handoff → vibe.handoff}/agents/verifier.md +0 -0
- /package/skills/{handoff → vibe.handoff}/rubrics/completeness.md +0 -0
- /package/skills/{handoff → vibe.handoff}/templates/handoff.md +0 -0
- /package/skills/{parallel-research → vibe.parallel-research}/agents/best-practices.md +0 -0
- /package/skills/{parallel-research → vibe.parallel-research}/agents/codebase-patterns.md +0 -0
- /package/skills/{parallel-research → vibe.parallel-research}/agents/framework-docs.md +0 -0
- /package/skills/{parallel-research → vibe.parallel-research}/agents/security-advisory.md +0 -0
- /package/skills/{parallel-research → vibe.parallel-research}/agents/synthesizer.md +0 -0
- /package/skills/{parallel-research → vibe.parallel-research}/experts/best-practices.md +0 -0
- /package/skills/{parallel-research → vibe.parallel-research}/experts/codebase-patterns.md +0 -0
- /package/skills/{parallel-research → vibe.parallel-research}/experts/framework-docs.md +0 -0
- /package/skills/{parallel-research → vibe.parallel-research}/experts/security-advisory.md +0 -0
- /package/skills/{parallel-research → vibe.parallel-research}/orchestrator.md +0 -0
- /package/skills/{parallel-research → vibe.parallel-research}/templates/awesome-list.md +0 -0
- /package/skills/{parallel-research → vibe.parallel-research}/templates/paper.md +0 -0
- /package/skills/{parallel-research → vibe.parallel-research}/templates/synthesis.md +0 -0
- /package/skills/{presentation → vibe.presentation}/references/style-presets.md +0 -0
- /package/skills/{prioritization-frameworks → vibe.prioritization}/rubrics/frameworks.md +0 -0
- /package/skills/{prioritization-frameworks → vibe.prioritization}/templates/scoring-matrix.md +0 -0
- /package/skills/{priority-todos → vibe.priority-todos}/rubrics/prioritization.md +0 -0
- /package/skills/{priority-todos → vibe.priority-todos}/templates/todo-board.md +0 -0
- /package/skills/{vercel-react-best-practices → vibe.react-best-practices}/rubrics/performance.md +0 -0
- /package/skills/{vercel-react-best-practices → vibe.react-best-practices}/rubrics/server-components.md +0 -0
- /package/skills/{regress → vibe.regress}/templates/bug.md +0 -0
- /package/skills/{regress → vibe.regress}/templates/test-jest.md +0 -0
- /package/skills/{regress → vibe.regress}/templates/test-vitest.md +0 -0
- /package/skills/{arch-guard → vibe.run/internal/arch-guard}/agents/detector.md +0 -0
- /package/skills/{arch-guard → vibe.run/internal/arch-guard}/agents/reporter.md +0 -0
- /package/skills/{arch-guard → vibe.run/internal/arch-guard}/agents/rule-generator.md +0 -0
- /package/skills/{arch-guard → vibe.run/internal/arch-guard}/agents/violation-checker.md +0 -0
- /package/skills/{arch-guard → vibe.run/internal/arch-guard}/frameworks/clean-architecture.md +0 -0
- /package/skills/{arch-guard → vibe.run/internal/arch-guard}/frameworks/solid.md +0 -0
- /package/skills/{arch-guard → vibe.run/internal/arch-guard}/scripts/check-boundaries.js +0 -0
- /package/skills/{arch-guard → vibe.run/internal/arch-guard}/templates/arch-rules.json +0 -0
- /package/skills/{exec-plan → vibe.run/internal/exec-plan}/agents/decomposer.md +0 -0
- /package/skills/{exec-plan → vibe.run/internal/exec-plan}/agents/dependency-mapper.md +0 -0
- /package/skills/{exec-plan → vibe.run/internal/exec-plan}/agents/estimator.md +0 -0
- /package/skills/{exec-plan → vibe.run/internal/exec-plan}/agents/validator.md +0 -0
- /package/skills/{exec-plan → vibe.run/internal/exec-plan}/orchestrator.md +0 -0
- /package/skills/{exec-plan → vibe.run/internal/exec-plan}/rubrics/complexity-scoring.md +0 -0
- /package/skills/{exec-plan → vibe.run/internal/exec-plan}/templates/plan.md +0 -0
- /package/skills/{seo-checklist → vibe.seo-checklist}/frameworks/structured-data.md +0 -0
- /package/skills/{seo-checklist → vibe.seo-checklist}/rubrics/content-seo.md +0 -0
- /package/skills/{seo-checklist → vibe.seo-checklist}/rubrics/technical-seo.md +0 -0
- /package/skills/{tool-fallback → vibe.tool-fallback}/rubrics/fallback-chain.md +0 -0
- /package/skills/{ui-ux-pro-max → vibe.ui-ux-pro-max}/reference/color-and-contrast.md +0 -0
- /package/skills/{ui-ux-pro-max → vibe.ui-ux-pro-max}/reference/interaction-design.md +0 -0
- /package/skills/{ui-ux-pro-max → vibe.ui-ux-pro-max}/reference/motion-design.md +0 -0
- /package/skills/{ui-ux-pro-max → vibe.ui-ux-pro-max}/reference/responsive-design.md +0 -0
- /package/skills/{ui-ux-pro-max → vibe.ui-ux-pro-max}/reference/spatial-design.md +0 -0
- /package/skills/{ui-ux-pro-max → vibe.ui-ux-pro-max}/reference/typography.md +0 -0
- /package/skills/{ui-ux-pro-max → vibe.ui-ux-pro-max}/reference/ux-writing.md +0 -0
- /package/skills/{ui-ux-pro-max → vibe.ui-ux-pro-max}/rubrics/interaction-states.md +0 -0
- /package/skills/{ui-ux-pro-max → vibe.ui-ux-pro-max}/rubrics/responsive-breakpoints.md +0 -0
- /package/skills/{user-personas → vibe.user-personas}/rubrics/research-methods.md +0 -0
- /package/skills/{user-personas → vibe.user-personas}/templates/persona.md +0 -0
- /package/skills/{video-production → vibe.video-production}/rubrics/quality-checklist.md +0 -0
- /package/skills/{video-production → vibe.video-production}/templates/production-plan.md +0 -0
package/CLAUDE.md
CHANGED
|
@@ -126,7 +126,7 @@ $vibe "<requirement>" [+ 📎 attachments] # Codex
|
|
|
126
126
|
|
|
127
127
|
## Skill Tiers
|
|
128
128
|
|
|
129
|
-
|
|
129
|
+
Public skills use the `vibe.*` namespace and are classified as **entry** / **standard** / **optional or project-local**. Core behavior is bundled inside the relevant public skill and is never exposed as a separate discovery entry. SSOT: `GLOBAL_SKILLS_ENTRY`, `GLOBAL_SKILLS_STANDARD`, and the stack/capability mappings in `src/cli/postinstall/constants.ts`.
|
|
130
130
|
|
|
131
131
|
## Context Management
|
|
132
132
|
|
package/README.en.md
CHANGED
|
@@ -189,13 +189,13 @@ Detection at edit time, blocking at deterministic gates:
|
|
|
189
189
|
|
|
190
190
|
**7+ agents** — 7 global goal-oriented agents (architect, implementer, tester, code-reviewer, security-reviewer, …) + 4 conditional (UI/Event — installed project-locally only when the stack/capability matches; 11 total). Agents are delegated by goal + constraints + Done criteria, not step scripts; exploration, planning, and parallelism use the harness's native subagents directly.
|
|
191
191
|
|
|
192
|
-
**
|
|
192
|
+
**51 skills** — Not all loaded at once. Every public skill uses the `vibe.*` namespace, while internal core behavior is bundled into the public skill body:
|
|
193
193
|
|
|
194
194
|
| Tier | When loaded | Purpose | Examples |
|
|
195
195
|
|------|-------------|---------|----------|
|
|
196
|
-
| **
|
|
197
|
-
| **Standard** |
|
|
198
|
-
| **Optional** | Explicit
|
|
196
|
+
| **Entry** | Globally installed | Public workflow entry points | vibe.spec, vibe.test, vibe.docs |
|
|
197
|
+
| **Standard** | Globally installed | Shared workflow support | vibe.handoff, vibe.agents-md |
|
|
198
|
+
| **Optional/Local** | Explicit invocation or project install | Stack/capability support | vibe.chub-usage, vibe.design-review |
|
|
199
199
|
|
|
200
200
|
Skills teach only what the model doesn't know (domain gotchas, current APIs, project conventions). Skills that re-taught basics like "how to debug" were deleted in v3.
|
|
201
201
|
|
package/README.md
CHANGED
|
@@ -161,13 +161,13 @@ codex
|
|
|
161
161
|
|
|
162
162
|
**7+ 에이전트** — 전역 7개(architect, implementer, tester, code-reviewer, security-reviewer 등) + 조건부 그룹 4개(UI/Event — 해당 스택 프로젝트에만 로컬 설치, 총 11개). 단계별 지시 스크립트가 아니라 목표+제약+Done 기준으로 위임하고, 탐색·계획·병렬 실행은 하네스의 네이티브 서브에이전트를 그대로 사용합니다.
|
|
163
163
|
|
|
164
|
-
**
|
|
164
|
+
**51개 스킬** — 한 번에 다 로드되지 않음. 공개 스킬은 모두 `vibe.*` namespace를 사용하며, 내부 core 동작은 공개 스킬 본문에 통합됩니다:
|
|
165
165
|
|
|
166
166
|
| 티어 | 로드 시점 | 용도 | 예시 |
|
|
167
167
|
|------|----------|------|------|
|
|
168
|
-
| **
|
|
169
|
-
| **Standard** |
|
|
170
|
-
| **Optional** |
|
|
168
|
+
| **Entry** | 전역 설치 | 공개 워크플로 진입점 | vibe.spec, vibe.test, vibe.docs |
|
|
169
|
+
| **Standard** | 전역 설치 | 공통 워크플로 지원 | vibe.handoff, vibe.agents-md |
|
|
170
|
+
| **Optional/Local** | 명시 호출 또는 프로젝트별 설치 | 스택·capability 지원 | vibe.chub-usage, vibe.design-review |
|
|
171
171
|
|
|
172
172
|
스킬이 가르치는 것은 모델이 모르는 것(도메인 gotcha, 최신 API, 프로젝트 규약)뿐입니다. 디버깅하는 법 같은 기본기 재교육 스킬은 v3에서 전부 삭제됐습니다.
|
|
173
173
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-namespace.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/skill-namespace.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { existsSync, readdirSync, readFileSync } from 'node:fs';
|
|
2
|
+
import { resolve } from 'node:path';
|
|
3
|
+
import { describe, expect, it } from 'vitest';
|
|
4
|
+
import { CAPABILITY_SKILLS, GLOBAL_SKILLS, GLOBAL_SKILLS_OPTIONAL, STACK_TO_SKILLS, } from '../cli/postinstall/constants.js';
|
|
5
|
+
const SKILLS_DIR = resolve('skills');
|
|
6
|
+
const MAX_SKILL_NAME_LENGTH = 32;
|
|
7
|
+
function skillNames() {
|
|
8
|
+
return readdirSync(SKILLS_DIR, { withFileTypes: true })
|
|
9
|
+
.filter((entry) => entry.isDirectory() && existsSync(resolve(SKILLS_DIR, entry.name, 'SKILL.md')))
|
|
10
|
+
.map((entry) => {
|
|
11
|
+
const content = readFileSync(resolve(SKILLS_DIR, entry.name, 'SKILL.md'), 'utf8');
|
|
12
|
+
const name = /^name:\s*(.+)$/m.exec(content)?.[1]?.trim() ?? '';
|
|
13
|
+
return { directory: entry.name, name };
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
function mappedSkills() {
|
|
17
|
+
const stackSkills = Object.values(STACK_TO_SKILLS).flat();
|
|
18
|
+
const capabilitySkills = Object.values(CAPABILITY_SKILLS).flat();
|
|
19
|
+
return [...GLOBAL_SKILLS, ...GLOBAL_SKILLS_OPTIONAL, ...stackSkills, ...capabilitySkills];
|
|
20
|
+
}
|
|
21
|
+
describe('skill namespace contract', () => {
|
|
22
|
+
it('REQ-skill-namespace-001 namespaces every exposed skill within the length limit', () => {
|
|
23
|
+
const exposed = mappedSkills();
|
|
24
|
+
expect(exposed.every((name) => name === 'vibe' || name.startsWith('vibe.'))).toBe(true);
|
|
25
|
+
expect(exposed.every((name) => name.length <= MAX_SKILL_NAME_LENGTH)).toBe(true);
|
|
26
|
+
});
|
|
27
|
+
it('keeps directory names and frontmatter names unique and identical', () => {
|
|
28
|
+
const skills = skillNames();
|
|
29
|
+
const names = skills.map(({ name }) => name);
|
|
30
|
+
expect(skills.every(({ directory, name }) => directory === name)).toBe(true);
|
|
31
|
+
expect(new Set(names).size).toBe(names.length);
|
|
32
|
+
});
|
|
33
|
+
it('REQ-skill-namespace-003 namespaces every Vibe-owned install mapping', () => {
|
|
34
|
+
expect(mappedSkills().every((name) => name === 'vibe' || name.startsWith('vibe.'))).toBe(true);
|
|
35
|
+
});
|
|
36
|
+
it('REQ-skill-namespace-002 exposes one public skill for every former wrapper pair', () => {
|
|
37
|
+
const names = skillNames().map(({ name }) => name);
|
|
38
|
+
const expected = ['spec', 'test', 'contract', 'regress', 'figma', 'clone', 'docs'];
|
|
39
|
+
expect(names.some((name) => name.startsWith('vibe.core.'))).toBe(false);
|
|
40
|
+
expect(expected.every((name) => names.includes(`vibe.${name}`))).toBe(true);
|
|
41
|
+
});
|
|
42
|
+
it('bundles internal core behavior without separate discovery entries', () => {
|
|
43
|
+
const names = skillNames().map(({ name }) => name);
|
|
44
|
+
const run = readFileSync(resolve('skills/vibe.run/SKILL.md'), 'utf8');
|
|
45
|
+
expect(['arch-guard', 'exec-plan', 'restraint'].every((name) => !names.includes(name))).toBe(true);
|
|
46
|
+
expect(run).toContain('## Bundled internal: arch-guard');
|
|
47
|
+
expect(run).toContain('## Bundled internal: exec-plan');
|
|
48
|
+
expect(run).toContain('## Bundled internal: restraint');
|
|
49
|
+
});
|
|
50
|
+
it('REQ-skill-namespace-005 preserves dots in Load skill references', () => {
|
|
51
|
+
const validator = readFileSync(resolve('scripts/validate-skill-invocation.ts'), 'utf8');
|
|
52
|
+
expect(validator).toContain('[\\w.:-]*');
|
|
53
|
+
});
|
|
54
|
+
it('routes every owned skill in the generated catalog', () => {
|
|
55
|
+
const catalog = readFileSync(resolve('SKILL-CATALOG.md'), 'utf8');
|
|
56
|
+
expect(catalog).toContain('`vibe.spec` (global)');
|
|
57
|
+
expect(catalog).not.toMatch(/`vibe(?:\.[^`]+)?` \(unrouted\)/);
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
//# sourceMappingURL=skill-namespace.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-namespace.test.js","sourceRoot":"","sources":["../../src/__tests__/skill-namespace.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,8 +22,8 @@ const RULES_DIR = path.join(ROOT, 'vibe', 'rules');
|
|
|
22
22
|
// ---------------------------------------------------------------------------
|
|
23
23
|
/**
|
|
24
24
|
* SKILL.md 본문에서 체인 호출("Load skill `X`" 및 한국어 "`X` 스킬을 로드")로
|
|
25
|
-
* 참조된 body 스킬 이름을 추출한다. `figma:figma-use` 처럼
|
|
26
|
-
*
|
|
25
|
+
* 참조된 body 스킬 이름을 추출한다. `figma:figma-use` 처럼 ':' 가 포함된
|
|
26
|
+
* plugin-qualified 참조(외부 플러그인 스킬)는 vibe 설치 목록 대상이 아니므로 제외한다.
|
|
27
27
|
*/
|
|
28
28
|
function extractChainedSkills(content) {
|
|
29
29
|
const names = new Set();
|
|
@@ -31,9 +31,9 @@ function extractChainedSkills(content) {
|
|
|
31
31
|
for (const re of patterns) {
|
|
32
32
|
let match;
|
|
33
33
|
while ((match = re.exec(content)) !== null) {
|
|
34
|
-
const
|
|
35
|
-
if (
|
|
36
|
-
names.add(
|
|
34
|
+
const name = match[1].trim();
|
|
35
|
+
if (name && !name.includes(':'))
|
|
36
|
+
names.add(name);
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
return [...names];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wiring-integrity.test.js","sourceRoot":"","sources":["../../src/__tests__/wiring-integrity.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,iBAAiB,GAClB,MAAM,iCAAiC,CAAC;AAEzC;;;;;;GAMG;AAEH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACjD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC3C,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACzD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACvC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAEnD,8EAA8E;AAC9E,0CAA0C;AAC1C,8EAA8E;AAE9E;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,OAAe;IAC3C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,QAAQ,GAAG,CAAC,wBAAwB,EAAE,uBAAuB,CAAC,CAAC;IAErE,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;QAC1B,IAAI,KAA6B,CAAC;QAClC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"wiring-integrity.test.js","sourceRoot":"","sources":["../../src/__tests__/wiring-integrity.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,iBAAiB,GAClB,MAAM,iCAAiC,CAAC;AAEzC;;;;;;GAMG;AAEH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACjD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC3C,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACzD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACvC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAEnD,8EAA8E;AAC9E,0CAA0C;AAC1C,8EAA8E;AAE9E;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,OAAe;IAC3C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,QAAQ,GAAG,CAAC,wBAAwB,EAAE,uBAAuB,CAAC,CAAC;IAErE,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;QAC1B,IAAI,KAA6B,CAAC;QAClC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,UAAU,CAAC,GAA0C;IAC5D,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACnC,CAAC;AAED,QAAQ,CAAC,yCAAyC,EAAE,GAAG,EAAE;IACvD,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAS,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;IAC9D,MAAM,cAAc,GAAG,IAAI,GAAG,CAAS;QACrC,GAAG,aAAa;QAChB,GAAG,UAAU,CAAC,eAAe,CAAC;QAC9B,GAAG,UAAU,CAAC,iBAAiB,CAAC;QAChC,GAAG,sBAAsB;KAC1B,CAAC,CAAC;IAEH,KAAK,MAAM,SAAS,IAAI,iBAAiB,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAE/D,EAAE,CAAC,GAAG,SAAS,mBAAmB,EAAE,GAAG,EAAE;YACvC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,kBAAkB,SAAS,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,SAAS;QAExC,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAEjD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,EAAE,CAAC,GAAG,SAAS,+BAA+B,IAAI,iBAAiB,EAAE,GAAG,EAAE;gBACxE,MAAM,CACJ,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EACxB,UAAU,SAAS,2BAA2B,IAAI,gCAAgC;oBAChF,gFAAgF;oBAChF,aAAa,IAAI,gEAAgE,CACpF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,uCAAuC;AACvC,8EAA8E;AAE9E,SAAS,sBAAsB;IAC7B,OAAO,EAAE;SACN,WAAW,CAAC,gBAAgB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;SACtD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAC/D,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,yBAAyB,CAAC,UAAkB;IACnD,MAAM,YAAY,GAAG,sBAAsB,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IACpF,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAChC,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QAC5E,OAAO,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,UAAkB,EAAE,KAAe;IAC9D,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;AACnF,CAAC;AAED,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,MAAM,WAAW,GAAG,sBAAsB,EAAE,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACrD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,MAAM,YAAY,GAAG;QACnB,GAAG,QAAQ,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC9D,GAAG,QAAQ,CAAC,mBAAmB,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KACtE,CAAC;IAEF,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,EAAE,CAAC,GAAG,UAAU,gEAAgE,EAAE,GAAG,EAAE;YACrF,MAAM,UAAU,GACd,mBAAmB,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;gBAC7D,yBAAyB,CAAC,UAAU,CAAC;gBACrC,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC;gBACzC,mBAAmB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAEhD,MAAM,CACJ,UAAU,EACV,iBAAiB,UAAU,2DAA2D;gBACpF,oFAAoF;gBACpF,kDAAkD,CACrD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,iCAAiC;AACjC,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;AAEtE;;;;GAIG;AACH,MAAM,aAAa,GAA0B,EAAE,CAAC;AAEhD,SAAS,qBAAqB;IAC5B,OAAO,QAAQ,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,SAAS,sBAAsB,CAAC,SAAiB,EAAE,GAAW;IAC5D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,MAAM,SAAS,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACrG,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAiB;IAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CACxE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAC3D,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,MAAM,SAAS,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACrG,CAAC;AAED,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,MAAM,UAAU,GAAG,qBAAqB,EAAE,CAAC;IAE3C,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,EAAE,CAAC,GAAG,SAAS,gFAAgF,EAAE,GAAG,EAAE;YACpG,IAAI,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAAE,OAAO;YAE9C,MAAM,UAAU,GACd,sBAAsB,CAAC,SAAS,EAAE,UAAU,CAAC;gBAC7C,sBAAsB,CAAC,SAAS,EAAE,SAAS,CAAC;gBAC5C,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAE/B,MAAM,CACJ,UAAU,EACV,UAAU,SAAS,yDAAyD;gBAC1E,0EAA0E;gBAC1E,wFAAwF,CAC3F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-release-notes.d.ts","sourceRoot":"","sources":["../../src/cli/generate-release-notes.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { execFileSync } from 'node:child_process';
|
|
3
|
+
import { readFileSync, writeFileSync } from 'node:fs';
|
|
4
|
+
import { createReleaseNotes, selectPreviousSemanticTag, } from '../tools/release/releaseNotes.js';
|
|
5
|
+
const FIELD_SEPARATOR = '\u001f';
|
|
6
|
+
const RECORD_SEPARATOR = '\u001e';
|
|
7
|
+
function git(args) {
|
|
8
|
+
return execFileSync('git', args, { encoding: 'utf8' }).trim();
|
|
9
|
+
}
|
|
10
|
+
function parseCommits(raw) {
|
|
11
|
+
return raw.split(RECORD_SEPARATOR)
|
|
12
|
+
.map((record) => record.trim())
|
|
13
|
+
.filter((record) => Boolean(record))
|
|
14
|
+
.map((record) => {
|
|
15
|
+
const [subject = '', body = ''] = record.split(FIELD_SEPARATOR);
|
|
16
|
+
return { subject: subject.trim(), body: body.trim() };
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
function loadSpecs(range, currentTag) {
|
|
20
|
+
const paths = git(['diff', '--name-only', '--diff-filter=AMR', range, '--', '.vibe/specs'])
|
|
21
|
+
.split('\n')
|
|
22
|
+
.map((path) => path.trim())
|
|
23
|
+
.filter((path) => path.endsWith('.md'));
|
|
24
|
+
return paths.map((path) => ({ path, content: git(['show', `${currentTag}:${path}`]) }));
|
|
25
|
+
}
|
|
26
|
+
function validatePackageVersion(currentTag) {
|
|
27
|
+
const packageJson = JSON.parse(readFileSync('package.json', 'utf8'));
|
|
28
|
+
if (packageJson.version !== currentTag.slice(1)) {
|
|
29
|
+
throw new Error(`Tag ${currentTag} does not match package version ${String(packageJson.version)}`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
function loadReleaseInput(currentTag) {
|
|
33
|
+
validatePackageVersion(currentTag);
|
|
34
|
+
const tags = git(['tag', '--merged', currentTag]).split('\n').filter((tag) => Boolean(tag));
|
|
35
|
+
const previousTag = selectPreviousSemanticTag(tags, currentTag);
|
|
36
|
+
const range = `${previousTag}..${currentTag}`;
|
|
37
|
+
const rawCommits = git(['log', range, `--format=%s${FIELD_SEPARATOR}%b${RECORD_SEPARATOR}`]);
|
|
38
|
+
return { currentTag, previousTag, specs: loadSpecs(range, currentTag), commits: parseCommits(rawCommits) };
|
|
39
|
+
}
|
|
40
|
+
function main(args) {
|
|
41
|
+
const [currentTag, outputPath] = args;
|
|
42
|
+
if (!currentTag || !outputPath)
|
|
43
|
+
throw new Error('Usage: generate-release-notes <tag> <output-file>');
|
|
44
|
+
writeFileSync(outputPath, createReleaseNotes(loadReleaseInput(currentTag)), 'utf8');
|
|
45
|
+
}
|
|
46
|
+
main(process.argv.slice(2));
|
|
47
|
+
//# sourceMappingURL=generate-release-notes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-release-notes.js","sourceRoot":"","sources":["../../src/cli/generate-release-notes.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEtD,OAAO,EACL,kBAAkB,EAIlB,yBAAyB,GAC1B,MAAM,kCAAkC,CAAC;AAE1C,MAAM,eAAe,GAAG,QAAQ,CAAC;AACjC,MAAM,gBAAgB,GAAG,QAAQ,CAAC;AAElC,SAAS,GAAG,CAAC,IAAc;IACzB,OAAO,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAChE,CAAC;AAED,SAAS,YAAY,CAAC,GAAW;IAC/B,OAAO,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC;SAC/B,GAAG,CAAC,CAAC,MAAM,EAAU,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;SACtC,MAAM,CAAC,CAAC,MAAM,EAAW,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SAC5C,GAAG,CAAC,CAAC,MAAM,EAAiB,EAAE;QAC/B,MAAM,CAAC,OAAO,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAChE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,UAAkB;IAClD,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,mBAAmB,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;SACxF,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAU,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAClC,MAAM,CAAC,CAAC,IAAI,EAAW,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACnD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAe,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,UAAU,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACvG,CAAC;AAED,SAAS,sBAAsB,CAAC,UAAkB;IAChD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAA0B,CAAC;IAC9F,IAAI,WAAW,CAAC,OAAO,KAAK,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,OAAO,UAAU,mCAAmC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrG,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAkB;IAC1C,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAW,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACrG,MAAM,WAAW,GAAG,yBAAyB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,GAAG,WAAW,KAAK,UAAU,EAAE,CAAC;IAC9C,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,eAAe,KAAK,gBAAgB,EAAE,CAAC,CAAC,CAAC;IAC7F,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;AAC7G,CAAC;AAED,SAAS,IAAI,CAAC,IAAc;IAC1B,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC;IACtC,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACrG,aAAa,CAAC,UAAU,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACtF,CAAC;AAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -2,18 +2,14 @@
|
|
|
2
2
|
* 상수 데이터
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
|
-
* 전역 설치 스킬 (postinstall → ~/.claude/skills/) —
|
|
6
|
-
*
|
|
7
|
-
* core: 실제 버그/실수를 방지하는 안전망 — 항상 활성
|
|
8
|
-
* standard: 워크플로우 지원 — 프로젝트 설정 시 선택 활성
|
|
9
|
-
* optional: 참고/래퍼 — 명시적 호출 시에만 로드 (전역 설치에서 제외)
|
|
5
|
+
* 전역 설치 스킬 (postinstall → ~/.claude/skills/) — 공개 분류
|
|
6
|
+
* 내부 core 동작은 관련 공개 스킬 본문에 통합하며 별도 discovery 항목으로 설치하지 않는다.
|
|
10
7
|
*/
|
|
11
8
|
/**
|
|
12
9
|
* 도트 진입점 스킬 (예: vibe.spec)
|
|
13
10
|
* Claude Code에서는 slash-style 진입점으로, Codex에서는 `/skills` 또는 `$vibe.spec`로 호출된다.
|
|
14
11
|
*/
|
|
15
12
|
export declare const GLOBAL_SKILLS_ENTRY: ReadonlyArray<string>;
|
|
16
|
-
export declare const GLOBAL_SKILLS_CORE: ReadonlyArray<string>;
|
|
17
13
|
export declare const GLOBAL_SKILLS_STANDARD: ReadonlyArray<string>;
|
|
18
14
|
/** 전역 설치에서 제외된 스킬 (명시적 /skill-name 호출 시에만 활성)
|
|
19
15
|
* 사유: 표준 도구 래퍼이거나 구체성 부족 — 직접 프롬프트가 더 효과적 */
|
|
@@ -71,6 +67,10 @@ export declare const LANGUAGE_GLOBS: Record<string, string>;
|
|
|
71
67
|
export declare const CURSOR_MODEL_MAPPING: Record<string, string>;
|
|
72
68
|
export declare const LANGUAGE_RULE_PREFIXES: string[];
|
|
73
69
|
export declare const LEGACY_RULE_FILES: string[];
|
|
70
|
+
/** v3.2 namespace 통합 — 설치된 bare 스킬을 배송본과 일치할 때만 제거한다. */
|
|
71
|
+
export declare const LEGACY_SKILL_RENAMES: Readonly<Record<string, string>>;
|
|
72
|
+
/** v3.2에서 배송했던 bare SKILL.md의 SHA-256. 정확히 일치하는 설치본만 정리한다. */
|
|
73
|
+
export declare const LEGACY_SKILL_HASHES: Readonly<Record<string, string>>;
|
|
74
74
|
/** 이전 네이밍에서 변경된 스킬 — postinstall 시 구 디렉토리 삭제 */
|
|
75
75
|
export declare const LEGACY_SKILL_DIRS: ReadonlyArray<string>;
|
|
76
76
|
export declare const CLAUDE_MODEL_MAPPING: Record<string, string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/cli/postinstall/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/cli/postinstall/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,11 +3,8 @@
|
|
|
3
3
|
*/
|
|
4
4
|
// ─── 스킬 설치 범위 분류 ───
|
|
5
5
|
/**
|
|
6
|
-
* 전역 설치 스킬 (postinstall → ~/.claude/skills/) —
|
|
7
|
-
*
|
|
8
|
-
* core: 실제 버그/실수를 방지하는 안전망 — 항상 활성
|
|
9
|
-
* standard: 워크플로우 지원 — 프로젝트 설정 시 선택 활성
|
|
10
|
-
* optional: 참고/래퍼 — 명시적 호출 시에만 로드 (전역 설치에서 제외)
|
|
6
|
+
* 전역 설치 스킬 (postinstall → ~/.claude/skills/) — 공개 분류
|
|
7
|
+
* 내부 core 동작은 관련 공개 스킬 본문에 통합하며 별도 discovery 항목으로 설치하지 않는다.
|
|
11
8
|
*/
|
|
12
9
|
/**
|
|
13
10
|
* 도트 진입점 스킬 (예: vibe.spec)
|
|
@@ -37,65 +34,53 @@ export const GLOBAL_SKILLS_ENTRY = [
|
|
|
37
34
|
'vibe.trace',
|
|
38
35
|
'vibe.verify',
|
|
39
36
|
];
|
|
40
|
-
export const GLOBAL_SKILLS_CORE = [
|
|
41
|
-
'spec',
|
|
42
|
-
'test',
|
|
43
|
-
'arch-guard',
|
|
44
|
-
'exec-plan',
|
|
45
|
-
'restraint',
|
|
46
|
-
'contract',
|
|
47
|
-
'regress',
|
|
48
|
-
];
|
|
49
37
|
export const GLOBAL_SKILLS_STANDARD = [
|
|
50
|
-
'parallel-research',
|
|
51
|
-
'
|
|
52
|
-
'
|
|
53
|
-
'
|
|
54
|
-
'
|
|
55
|
-
'
|
|
56
|
-
'
|
|
57
|
-
'clone',
|
|
58
|
-
'docs',
|
|
38
|
+
'vibe.parallel-research',
|
|
39
|
+
'vibe.educational-content',
|
|
40
|
+
'vibe.handoff',
|
|
41
|
+
'vibe.priority-todos',
|
|
42
|
+
'vibe.agents-md',
|
|
43
|
+
'vibe.capability-loop',
|
|
44
|
+
'vibe.design-teach',
|
|
59
45
|
];
|
|
60
46
|
/** 전역 설치에서 제외된 스킬 (명시적 /skill-name 호출 시에만 활성)
|
|
61
47
|
* 사유: 표준 도구 래퍼이거나 구체성 부족 — 직접 프롬프트가 더 효과적 */
|
|
62
48
|
export const GLOBAL_SKILLS_OPTIONAL = [
|
|
63
|
-
'commit-push-pr',
|
|
64
|
-
'git-worktree',
|
|
65
|
-
'tool-fallback',
|
|
66
|
-
'context7-usage',
|
|
67
|
-
'chub-usage',
|
|
68
|
-
'presentation',
|
|
49
|
+
'vibe.commit-push-pr',
|
|
50
|
+
'vibe.git-worktree',
|
|
51
|
+
'vibe.tool-fallback',
|
|
52
|
+
'vibe.context7-usage',
|
|
53
|
+
'vibe.chub-usage',
|
|
54
|
+
'vibe.presentation',
|
|
69
55
|
];
|
|
70
56
|
/** 전역 설치 스킬 전체 (하위 호환용) */
|
|
71
57
|
export const GLOBAL_SKILLS = [
|
|
72
58
|
...GLOBAL_SKILLS_ENTRY,
|
|
73
|
-
...GLOBAL_SKILLS_CORE,
|
|
74
59
|
...GLOBAL_SKILLS_STANDARD,
|
|
75
60
|
];
|
|
76
61
|
/** 스택 → 로컬 스킬 매핑 (vibe init/update → .claude/skills/) */
|
|
77
62
|
export const STACK_TO_SKILLS = {
|
|
78
63
|
// Web frontend → UI/UX + SEO + Design steering + React best practices
|
|
79
|
-
'typescript-react': ['ui-ux-pro-max', 'brand-assets', 'seo-checklist', '
|
|
80
|
-
'typescript-nextjs': ['ui-ux-pro-max', 'brand-assets', 'seo-checklist', '
|
|
81
|
-
'typescript-vue': ['ui-ux-pro-max', 'brand-assets', 'seo-checklist', 'design-review', 'design-refine', 'vibe.design'],
|
|
82
|
-
'typescript-nuxt': ['ui-ux-pro-max', 'brand-assets', 'seo-checklist', 'design-review', 'design-refine', 'vibe.design'],
|
|
83
|
-
'typescript-svelte': ['ui-ux-pro-max', 'brand-assets', 'seo-checklist', 'design-review', 'design-refine', 'vibe.design'],
|
|
84
|
-
'typescript-angular': ['ui-ux-pro-max', 'brand-assets', 'seo-checklist', 'design-review', 'design-refine', 'vibe.design'],
|
|
85
|
-
'typescript-astro': ['ui-ux-pro-max', 'brand-assets', 'seo-checklist', 'design-review', 'design-refine', 'vibe.design'],
|
|
64
|
+
'typescript-react': ['vibe.ui-ux-pro-max', 'vibe.brand-assets', 'vibe.seo-checklist', 'vibe.react-best-practices', 'vibe.design-review', 'vibe.design-refine', 'vibe.design'],
|
|
65
|
+
'typescript-nextjs': ['vibe.ui-ux-pro-max', 'vibe.brand-assets', 'vibe.seo-checklist', 'vibe.react-best-practices', 'vibe.design-review', 'vibe.design-refine', 'vibe.design'],
|
|
66
|
+
'typescript-vue': ['vibe.ui-ux-pro-max', 'vibe.brand-assets', 'vibe.seo-checklist', 'vibe.design-review', 'vibe.design-refine', 'vibe.design'],
|
|
67
|
+
'typescript-nuxt': ['vibe.ui-ux-pro-max', 'vibe.brand-assets', 'vibe.seo-checklist', 'vibe.design-review', 'vibe.design-refine', 'vibe.design'],
|
|
68
|
+
'typescript-svelte': ['vibe.ui-ux-pro-max', 'vibe.brand-assets', 'vibe.seo-checklist', 'vibe.design-review', 'vibe.design-refine', 'vibe.design'],
|
|
69
|
+
'typescript-angular': ['vibe.ui-ux-pro-max', 'vibe.brand-assets', 'vibe.seo-checklist', 'vibe.design-review', 'vibe.design-refine', 'vibe.design'],
|
|
70
|
+
'typescript-astro': ['vibe.ui-ux-pro-max', 'vibe.brand-assets', 'vibe.seo-checklist', 'vibe.design-review', 'vibe.design-refine', 'vibe.design'],
|
|
86
71
|
// Mobile → UI + design-review only (refine 파이프라인은 CSS 기반)
|
|
87
|
-
'typescript-react-native': ['ui-ux-pro-max', 'design-review', 'vibe.design'],
|
|
88
|
-
'dart-flutter': ['ui-ux-pro-max', 'design-review', 'vibe.design'],
|
|
89
|
-
'swift-ios': ['ui-ux-pro-max', 'design-review', 'vibe.design'],
|
|
90
|
-
'kotlin-android': ['ui-ux-pro-max', 'design-review', 'vibe.design'],
|
|
72
|
+
'typescript-react-native': ['vibe.ui-ux-pro-max', 'vibe.design-review', 'vibe.design'],
|
|
73
|
+
'dart-flutter': ['vibe.ui-ux-pro-max', 'vibe.design-review', 'vibe.design'],
|
|
74
|
+
'swift-ios': ['vibe.ui-ux-pro-max', 'vibe.design-review', 'vibe.design'],
|
|
75
|
+
'kotlin-android': ['vibe.ui-ux-pro-max', 'vibe.design-review', 'vibe.design'],
|
|
91
76
|
};
|
|
92
77
|
/** Capability → 로컬 스킬 매핑 (의존성 감지 기반 자동 설치) */
|
|
93
78
|
export const CAPABILITY_SKILLS = {
|
|
94
|
-
'commerce': ['commerce-patterns', 'e2e-commerce'],
|
|
95
|
-
'video': ['video-production'],
|
|
96
|
-
'event-automation': ['event-planning', 'event-comms', 'event-ops'],
|
|
97
|
-
'pm': ['create-prd', 'prioritization
|
|
98
|
-
'devlog': ['devlog'],
|
|
79
|
+
'commerce': ['vibe.commerce-patterns', 'vibe.e2e-commerce'],
|
|
80
|
+
'video': ['vibe.video-production'],
|
|
81
|
+
'event-automation': ['vibe.event-planning', 'vibe.event-comms', 'vibe.event-ops'],
|
|
82
|
+
'pm': ['vibe.create-prd', 'vibe.prioritization', 'vibe.user-personas'],
|
|
83
|
+
'devlog': ['vibe.devlog'],
|
|
99
84
|
};
|
|
100
85
|
/** 스택 → 외부 스킬(skills.sh) 매핑 (vibe init/update → npx skills add) */
|
|
101
86
|
export const STACK_TO_EXTERNAL_SKILLS = {
|
|
@@ -278,6 +263,89 @@ export const LANGUAGE_RULE_PREFIXES = [
|
|
|
278
263
|
export const LEGACY_RULE_FILES = [
|
|
279
264
|
'react-patterns.mdc', 'typescript-standards.mdc', 'python-standards.mdc'
|
|
280
265
|
];
|
|
266
|
+
/** v3.2 namespace 통합 — 설치된 bare 스킬을 배송본과 일치할 때만 제거한다. */
|
|
267
|
+
export const LEGACY_SKILL_RENAMES = {
|
|
268
|
+
'spec': 'vibe.spec',
|
|
269
|
+
'test': 'vibe.test',
|
|
270
|
+
'contract': 'vibe.contract',
|
|
271
|
+
'regress': 'vibe.regress',
|
|
272
|
+
'figma': 'vibe.figma',
|
|
273
|
+
'clone': 'vibe.clone',
|
|
274
|
+
'docs': 'vibe.docs',
|
|
275
|
+
'arch-guard': 'vibe.run',
|
|
276
|
+
'exec-plan': 'vibe.run',
|
|
277
|
+
'restraint': 'vibe.run',
|
|
278
|
+
'agents-md': 'vibe.agents-md',
|
|
279
|
+
'brand-assets': 'vibe.brand-assets',
|
|
280
|
+
'capability-loop': 'vibe.capability-loop',
|
|
281
|
+
'chub-usage': 'vibe.chub-usage',
|
|
282
|
+
'commerce-patterns': 'vibe.commerce-patterns',
|
|
283
|
+
'commit-push-pr': 'vibe.commit-push-pr',
|
|
284
|
+
'context7-usage': 'vibe.context7-usage',
|
|
285
|
+
'create-educational-content': 'vibe.educational-content',
|
|
286
|
+
'create-prd': 'vibe.create-prd',
|
|
287
|
+
'design-refine': 'vibe.design-refine',
|
|
288
|
+
'design-review': 'vibe.design-review',
|
|
289
|
+
'design-teach': 'vibe.design-teach',
|
|
290
|
+
'devlog': 'vibe.devlog',
|
|
291
|
+
'e2e-commerce': 'vibe.e2e-commerce',
|
|
292
|
+
'event-comms': 'vibe.event-comms',
|
|
293
|
+
'event-ops': 'vibe.event-ops',
|
|
294
|
+
'event-planning': 'vibe.event-planning',
|
|
295
|
+
'git-worktree': 'vibe.git-worktree',
|
|
296
|
+
'handoff': 'vibe.handoff',
|
|
297
|
+
'parallel-research': 'vibe.parallel-research',
|
|
298
|
+
'presentation': 'vibe.presentation',
|
|
299
|
+
'prioritization-frameworks': 'vibe.prioritization',
|
|
300
|
+
'priority-todos': 'vibe.priority-todos',
|
|
301
|
+
'seo-checklist': 'vibe.seo-checklist',
|
|
302
|
+
'tool-fallback': 'vibe.tool-fallback',
|
|
303
|
+
'ui-ux-pro-max': 'vibe.ui-ux-pro-max',
|
|
304
|
+
'user-personas': 'vibe.user-personas',
|
|
305
|
+
'vercel-react-best-practices': 'vibe.react-best-practices',
|
|
306
|
+
'video-production': 'vibe.video-production',
|
|
307
|
+
};
|
|
308
|
+
/** v3.2에서 배송했던 bare SKILL.md의 SHA-256. 정확히 일치하는 설치본만 정리한다. */
|
|
309
|
+
export const LEGACY_SKILL_HASHES = {
|
|
310
|
+
'spec': 'bb4669226994567ae65606baf5b03f18a8f7474d98147e325461f696e868a90b',
|
|
311
|
+
'test': 'f92283dccedfd2cc0907711edb2b7a36c8804d8fe1d0d29233a74d16ff5127',
|
|
312
|
+
'contract': '0e29f293748b6b0be66587cabef59db316495278eb33fa1bff6b97c77bc4b798',
|
|
313
|
+
'regress': '3217c64a8f144c6d06bd24a17ccbe47bb8d3a1d9f80cc6ca3459e9f801a34589',
|
|
314
|
+
'figma': 'e4c7a5b3dc6a918799f8dc4f3496e67b008613d6e2cb0ccc22dd5190e494ad7c',
|
|
315
|
+
'clone': '37a4ee0830fae51521c2b0be9884a67db8a3b682a53ed6d062e15179363da1af',
|
|
316
|
+
'docs': 'f18fa3ad586354c314b08925f15ca3d9630f33be6619fb4f87659ab2c19e54bb',
|
|
317
|
+
'arch-guard': '2bfd781664a625f5afdfadbb5697b73a3062fa21c5d43057a5796eda79d70642',
|
|
318
|
+
'exec-plan': '5394fcfd8fb0c7ce9923168a6b78d56c880159c10feb5667efa696f36a2ca12d',
|
|
319
|
+
'restraint': '6ac370ddd11a4cb56f51297bb582644402e15f77214fb32669510f156d6f9296',
|
|
320
|
+
'agents-md': 'f1a4ddf97755a02608058bf8c8668afe6953b47d628409bfa1ffc572a11c543a',
|
|
321
|
+
'brand-assets': 'af30b27f472706ebc372d8f9916c1816ae8bc50e157e6659cb2197a94f84d7b8',
|
|
322
|
+
'capability-loop': 'fb624b8d9f4c09b2e7d2bb7be0d77ff2eb06151a1ffb1ac720d103f8a4af38ce',
|
|
323
|
+
'chub-usage': '89d282979cac295bb3a7f9c9cce7d38ae769776e133f47d06695ccf6c5882487',
|
|
324
|
+
'commerce-patterns': 'ca5ce5d85e6bbae7f1147b3601a9afd4b7fc8ef4e97b5fb6eb5cf4e387a8a448',
|
|
325
|
+
'commit-push-pr': '232274ec0320a6408267013b44922756804180483dd2fca87411a9f1d44164fb',
|
|
326
|
+
'context7-usage': '82efa24624d3955b6cbdac3ccd46d1b9b1b7e36f7b7273717d77fd57b68fd053',
|
|
327
|
+
'create-prd': '407a9063929171805f34fec9caf0a42b9ae2a0902f74d8c6c6fbac6aa7592e19',
|
|
328
|
+
'design-refine': '67ef3f2be393b4c00c2a2a50264787207cd7ba77ad246b1bf763b17eea1a75a1',
|
|
329
|
+
'design-review': 'd5fb61d315b8fd81c7aa069c1802490ad7976859fcc7f99dfd53c290fedaca04',
|
|
330
|
+
'design-teach': 'af230a0fea9d1b2f9a057ab8733162fe9309c72f435e4d6ca6ede0d5725cc44f',
|
|
331
|
+
'devlog': '2a4c76e664247ae430a2780f3e875a2a201439996a755ea4a8c0cb523509c6a3',
|
|
332
|
+
'e2e-commerce': '27f7c2d2341d48eaa5288c2cc4a052632d3578bd49065ed1493c84f026c9db97',
|
|
333
|
+
'event-comms': 'ce0069bb41c68074944b8127a7e6164dd7247804ff2aceb3bf72995d30ae5af6',
|
|
334
|
+
'event-ops': '8d736102135e7e2aeda6fd5c6e73d4ab87bccbf65c3beb82016faca190b108d3',
|
|
335
|
+
'event-planning': '7c60fabe6d5b93709634fb2a1036159de8bb7a9c23e139e6d6b542f49ad12ba6',
|
|
336
|
+
'git-worktree': '9f85907052c305a32f4ab2c1632a7aa4f30b1e86733de739198d96e33077fdb0',
|
|
337
|
+
'handoff': '42b723f5d53e00c093f8f68347afd4242d026258df3f5d6e9831efeef5fde217',
|
|
338
|
+
'parallel-research': '8d7562ebaf4fe642122f88165a7bbea4c3280a954599dcf7c4d827c465ed0ffb',
|
|
339
|
+
'presentation': '38f6a09bbb1c6739f5cf93d74f9136a0537a42271bc4bcdf974203ebf34d6b09',
|
|
340
|
+
'prioritization-frameworks': 'fe7a09c3493e5c5badd4d82a079088a33bfaed9fea63c17bef30bdeba20ccf38',
|
|
341
|
+
'priority-todos': '482e9f19cf15e4b052b5c4abdfed1bf976940cd2a4acbe1ba74fc41d4f034a56',
|
|
342
|
+
'seo-checklist': '3b87d583df9243b98ac5fbe84d4427a7fc9b161219c746142940c15811a0ea1e',
|
|
343
|
+
'tool-fallback': 'd135cb53ace2db8eeaf359a57fd77c687397e6bc6e94b1773eae4ab2d9ae1d57',
|
|
344
|
+
'ui-ux-pro-max': '58234b04bf3c4080331423641de65b7e965e7f8098bb35af394a2bfa43bac21f',
|
|
345
|
+
'user-personas': 'cefea1faf1b8ad53a7e97c47f7c4c249e5b2ee58b8f14f00a90edcfc35e901b4',
|
|
346
|
+
'vercel-react-best-practices': 'c880fd8288ffeb029f99cd7cc65dbd129009873e7eef62f396f30817404525f8',
|
|
347
|
+
'video-production': 'f25449e655b207216557ef2b1787d268fe659e6a1a45c9f717c35a170991af5b',
|
|
348
|
+
};
|
|
281
349
|
/** 이전 네이밍에서 변경된 스킬 — postinstall 시 구 디렉토리 삭제 */
|
|
282
350
|
export const LEGACY_SKILL_DIRS = [
|
|
283
351
|
// 도트 네이밍 (v1)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/cli/postinstall/constants.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/cli/postinstall/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,6 +68,7 @@ export interface OptionalSkillResult {
|
|
|
68
68
|
* @param dryRun - true이면 실제 삭제 없이 결과만 반환
|
|
69
69
|
*/
|
|
70
70
|
export declare function cleanupOptionalSkills(globalSkillsDir: string, optionalSkills: ReadonlyArray<string>, shippedSkillsDir: string, dryRun?: boolean): OptionalSkillResult[];
|
|
71
|
+
export declare function cleanupRenamedSkills(globalSkillsDir: string, renames: Readonly<Record<string, string>>, legacyHashes: Readonly<Record<string, string>>): OptionalSkillResult[];
|
|
71
72
|
/**
|
|
72
73
|
* Codex는 Vibe의 `user-invocable: false` 메타데이터를 직접 해석하지 않는다.
|
|
73
74
|
* 내부 체인 전용 스킬은 공식 Codex skill policy로 implicit invocation을 막는다.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs-utils.d.ts","sourceRoot":"","sources":["../../../src/cli/postinstall/fs-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"fs-utils.d.ts","sourceRoot":"","sources":["../../../src/cli/postinstall/fs-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,gBAAgB,2BAAqB,CAAC;AAEnD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAkB3D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAI3C;AAKD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAahE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAIpD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAYnE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,GAChC,IAAI,CAON;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAOjE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,GACnC,IAAI,CAUN;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,uBAAuB,GAAG,kBAAkB,GAAG,QAAQ,CAAC;AAEtG,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB;AA0CD;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,eAAe,EAAE,MAAM,EACvB,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,EACrC,gBAAgB,EAAE,MAAM,EACxB,MAAM,UAAQ,GACb,mBAAmB,EAAE,CA2BvB;AAED,wBAAgB,oBAAoB,CAClC,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACzC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC7C,mBAAmB,EAAE,CAsBvB;AAqCD;;;GAGG;AACH,wBAAgB,iCAAiC,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAWzE"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import path from 'path';
|
|
5
5
|
import fs from 'fs';
|
|
6
|
+
import { createHash } from 'node:crypto';
|
|
6
7
|
import { getGlobalConfigDir } from '../../infra/lib/llm/auth/ConfigManager.js';
|
|
7
8
|
/**
|
|
8
9
|
* 전역 vibe 설정 디렉토리 경로 (getCoreConfigDir = getGlobalConfigDir alias)
|
|
@@ -202,6 +203,30 @@ export function cleanupOptionalSkills(globalSkillsDir, optionalSkills, shippedSk
|
|
|
202
203
|
}
|
|
203
204
|
return results;
|
|
204
205
|
}
|
|
206
|
+
export function cleanupRenamedSkills(globalSkillsDir, renames, legacyHashes) {
|
|
207
|
+
const results = [];
|
|
208
|
+
for (const [legacyName, currentName] of Object.entries(renames)) {
|
|
209
|
+
const legacyDir = path.join(globalSkillsDir, legacyName);
|
|
210
|
+
if (!fs.existsSync(legacyDir))
|
|
211
|
+
continue;
|
|
212
|
+
const installedPath = path.join(legacyDir, 'SKILL.md');
|
|
213
|
+
const installed = fs.existsSync(installedPath) ? fs.readFileSync(installedPath, 'utf8') : '';
|
|
214
|
+
const name = installed.match(/^name:\s*(.+?)\s*$/m)?.[1];
|
|
215
|
+
const expectedHash = legacyHashes[legacyName];
|
|
216
|
+
if (name !== legacyName || !expectedHash) {
|
|
217
|
+
results.push({ name: legacyName, action: 'skipped-not-vibe', reason: 'ownership could not be verified' });
|
|
218
|
+
continue;
|
|
219
|
+
}
|
|
220
|
+
const installedHash = createHash('sha256').update(installed).digest('hex');
|
|
221
|
+
if (installedHash !== expectedHash) {
|
|
222
|
+
results.push({ name: legacyName, action: 'skipped-user-modified', reason: 'legacy content differs, preserved' });
|
|
223
|
+
continue;
|
|
224
|
+
}
|
|
225
|
+
fs.rmSync(legacyDir, { recursive: true, force: true });
|
|
226
|
+
results.push({ name: legacyName, action: 'removed', reason: `renamed to ${currentName}` });
|
|
227
|
+
}
|
|
228
|
+
return results;
|
|
229
|
+
}
|
|
205
230
|
const CODEX_POLICY_MARKER = '# VIBE managed Codex skill policy';
|
|
206
231
|
const CODEX_POLICY_CONTENT = `${CODEX_POLICY_MARKER}
|
|
207
232
|
policy:
|