@su-record/vibe 2.12.3 → 2.12.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.
- package/CLAUDE.md +13 -12
- package/README.md +2 -0
- package/dist/cli/collaborator.d.ts.map +1 -1
- package/dist/cli/collaborator.js +23 -6
- package/dist/cli/collaborator.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +3 -1
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/postinstall/claude-agents.d.ts.map +1 -1
- package/dist/cli/postinstall/claude-agents.js +15 -12
- package/dist/cli/postinstall/claude-agents.js.map +1 -1
- package/dist/cli/postinstall/constants.d.ts +2 -2
- package/dist/cli/postinstall/constants.js +2 -2
- package/dist/cli/postinstall/fs-utils.d.ts +5 -0
- package/dist/cli/postinstall/fs-utils.d.ts.map +1 -1
- package/dist/cli/postinstall/fs-utils.js +55 -0
- package/dist/cli/postinstall/fs-utils.js.map +1 -1
- package/dist/cli/postinstall/fs-utils.test.d.ts +2 -0
- package/dist/cli/postinstall/fs-utils.test.d.ts.map +1 -0
- package/dist/cli/postinstall/fs-utils.test.js +31 -0
- package/dist/cli/postinstall/fs-utils.test.js.map +1 -0
- package/dist/cli/postinstall/index.d.ts +1 -1
- package/dist/cli/postinstall/index.d.ts.map +1 -1
- package/dist/cli/postinstall/index.js +1 -1
- package/dist/cli/postinstall/index.js.map +1 -1
- package/dist/cli/postinstall/main.d.ts.map +1 -1
- package/dist/cli/postinstall/main.js +5 -3
- package/dist/cli/postinstall/main.js.map +1 -1
- package/dist/cli/postinstall.d.ts +1 -1
- package/dist/cli/postinstall.d.ts.map +1 -1
- package/dist/cli/postinstall.js +1 -1
- package/dist/cli/postinstall.js.map +1 -1
- package/dist/cli/setup/ProjectSetup.d.ts.map +1 -1
- package/dist/cli/setup/ProjectSetup.js +13 -1
- package/dist/cli/setup/ProjectSetup.js.map +1 -1
- package/dist/infra/lib/CostAccumulator.d.ts +19 -2
- package/dist/infra/lib/CostAccumulator.d.ts.map +1 -1
- package/dist/infra/lib/CostAccumulator.js +60 -2
- package/dist/infra/lib/CostAccumulator.js.map +1 -1
- package/dist/infra/lib/antigravity/chat.d.ts.map +1 -1
- package/dist/infra/lib/antigravity/chat.js +6 -0
- package/dist/infra/lib/antigravity/chat.js.map +1 -1
- package/dist/infra/lib/antigravity/orchestration.d.ts.map +1 -1
- package/dist/infra/lib/antigravity/orchestration.js +13 -1
- package/dist/infra/lib/antigravity/orchestration.js.map +1 -1
- package/dist/infra/lib/antigravity/types.d.ts +8 -0
- package/dist/infra/lib/antigravity/types.d.ts.map +1 -1
- package/dist/infra/lib/gpt/auth.d.ts.map +1 -1
- package/dist/infra/lib/gpt/auth.js +13 -1
- package/dist/infra/lib/gpt/auth.js.map +1 -1
- package/dist/infra/lib/gpt/chat.d.ts.map +1 -1
- package/dist/infra/lib/gpt/chat.js +52 -31
- package/dist/infra/lib/gpt/chat.js.map +1 -1
- package/dist/infra/lib/gpt/embedding.d.ts.map +1 -1
- package/dist/infra/lib/gpt/embedding.js +6 -5
- package/dist/infra/lib/gpt/embedding.js.map +1 -1
- package/dist/infra/lib/gpt/orchestration.d.ts.map +1 -1
- package/dist/infra/lib/gpt/orchestration.js +13 -1
- package/dist/infra/lib/gpt/orchestration.js.map +1 -1
- package/dist/infra/lib/gpt/types.d.ts +8 -0
- package/dist/infra/lib/gpt/types.d.ts.map +1 -1
- package/dist/infra/lib/llm/timeout.d.ts +34 -0
- package/dist/infra/lib/llm/timeout.d.ts.map +1 -0
- package/dist/infra/lib/llm/timeout.js +45 -0
- package/dist/infra/lib/llm/timeout.js.map +1 -0
- package/dist/infra/lib/llm/timeout.test.d.ts +2 -0
- package/dist/infra/lib/llm/timeout.test.d.ts.map +1 -0
- package/dist/infra/lib/llm/timeout.test.js +50 -0
- package/dist/infra/lib/llm/timeout.test.js.map +1 -0
- package/dist/infra/orchestrator/AgentExecutor.d.ts.map +1 -1
- package/dist/infra/orchestrator/AgentExecutor.js +3 -1
- package/dist/infra/orchestrator/AgentExecutor.js.map +1 -1
- package/dist/infra/orchestrator/LLMCluster.d.ts.map +1 -1
- package/dist/infra/orchestrator/LLMCluster.js +10 -1
- package/dist/infra/orchestrator/LLMCluster.js.map +1 -1
- package/dist/infra/orchestrator/MultiLlmResearch.d.ts +5 -0
- package/dist/infra/orchestrator/MultiLlmResearch.d.ts.map +1 -1
- package/dist/infra/orchestrator/MultiLlmResearch.js +7 -0
- package/dist/infra/orchestrator/MultiLlmResearch.js.map +1 -1
- package/dist/infra/orchestrator/PhasePipeline.d.ts +5 -5
- package/dist/infra/orchestrator/PhasePipeline.d.ts.map +1 -1
- package/dist/infra/orchestrator/PhasePipeline.js +19 -15
- package/dist/infra/orchestrator/PhasePipeline.js.map +1 -1
- package/dist/infra/orchestrator/SmartRouter.d.ts +10 -0
- package/dist/infra/orchestrator/SmartRouter.d.ts.map +1 -1
- package/dist/infra/orchestrator/SmartRouter.js +23 -6
- package/dist/infra/orchestrator/SmartRouter.js.map +1 -1
- package/dist/infra/orchestrator/SmartRouter.test.js +46 -19
- package/dist/infra/orchestrator/SmartRouter.test.js.map +1 -1
- package/dist/infra/orchestrator/parallelResearch.d.ts.map +1 -1
- package/dist/infra/orchestrator/parallelResearch.js +41 -9
- package/dist/infra/orchestrator/parallelResearch.js.map +1 -1
- package/hooks/scripts/__tests__/keyword-detector.test.js +51 -16
- package/hooks/scripts/auto-commit.js +14 -7
- package/hooks/scripts/codex-hook-adapter.js +5 -1
- package/hooks/scripts/keyword-detector.js +14 -2
- package/hooks/scripts/llm-orchestrate.js +13 -2
- package/hooks/scripts/prompt-dispatcher.js +32 -9
- package/package.json +1 -1
- package/skills/design-audit/SKILL.md +1 -0
- package/skills/design-normalize/SKILL.md +1 -0
- package/skills/design-teach/SKILL.md +1 -1
- package/skills/test/SKILL.md +9 -9
- package/skills/ui-ux-pro-max/SKILL.md +1 -0
- package/skills/vibe.run/SKILL.md +3 -3
- package/skills/vibe.test/SKILL.md +1 -1
- package/skills/vibe.verify/SKILL.md +1 -1
- package/vibe/rules/standards/complexity-metrics.md +2 -2
package/skills/test/SKILL.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: test
|
|
3
|
-
description: vibe 자가검진 본체 — 대상 harness(~/.claude/~/.codex)의 모든
|
|
4
|
-
when_to_use:
|
|
3
|
+
description: vibe 자가검진 본체 — 대상 harness(~/.claude/~/.codex)의 모든 entry skill/skill/hook/agent 프로빙 → pass/fail 리포트 → ~/.vibe/test-reports/.
|
|
4
|
+
when_to_use: vibe.test 진입점에서 체인 호출. 직접 호출 금지.
|
|
5
5
|
user-invocable: false
|
|
6
6
|
tier: core
|
|
7
7
|
---
|
|
@@ -12,7 +12,7 @@ Probe every shipped vibe surface in one install dir and emit a pass/fail report.
|
|
|
12
12
|
|
|
13
13
|
## Why this exists
|
|
14
14
|
|
|
15
|
-
When vibe ships new
|
|
15
|
+
When vibe ships new entry skills, skills, hooks, or agents, one side (CC or Codex) can end up out of sync with the other, frontmatter can drift, and hook tests can silently break. `vibe.test` is the single mechanical check: does every surface in the target install actually load and pass its own tests?
|
|
16
16
|
|
|
17
17
|
## Target harness
|
|
18
18
|
|
|
@@ -37,8 +37,8 @@ All probes are **structural or test-based** — no interactive command is ever a
|
|
|
37
37
|
|
|
38
38
|
| Category | Source | Check |
|
|
39
39
|
|---|---|---|
|
|
40
|
-
|
|
|
41
|
-
| skills | `<install>/skills/*/SKILL.md` | frontmatter parses · required fields (`name`, `description
|
|
40
|
+
| entry skills | `<install>/skills/vibe*/SKILL.md` | file readable · frontmatter parses · `name`, `description`, `user-invocable: true` present |
|
|
41
|
+
| skills | `<install>/skills/*/SKILL.md` | frontmatter parses · required fields (`name`, `description`) · body non-empty |
|
|
42
42
|
| hooks | repo `hooks/scripts/*.js` | for each script with a matching `__tests__/<name>.test.js`, run `npx vitest run <test> --reporter=json` and parse pass/fail counts |
|
|
43
43
|
| agents | `<install>/agents/*.md` | file readable · frontmatter parses · required fields (`name`, `description`) |
|
|
44
44
|
|
|
@@ -62,7 +62,7 @@ Written to `~/.vibe/test-reports/<YYYYMMDD-HHmm>-<harness>.{json,md}`. Exact sch
|
|
|
62
62
|
"failed": 2
|
|
63
63
|
},
|
|
64
64
|
"probes": {
|
|
65
|
-
"
|
|
65
|
+
"entrySkills": [
|
|
66
66
|
{ "name": "vibe.spec", "status": "pass" },
|
|
67
67
|
{ "name": "vibe.test", "status": "pass" }
|
|
68
68
|
],
|
|
@@ -102,7 +102,7 @@ Written to `~/.vibe/test-reports/<YYYYMMDD-HHmm>-<harness>.{json,md}`. Exact sch
|
|
|
102
102
|
|
|
103
103
|
| Category | Pass | Fail |
|
|
104
104
|
|---|---:|---:|
|
|
105
|
-
|
|
|
105
|
+
| entry skills | 15 | 0 |
|
|
106
106
|
| skills | 17 | 1 |
|
|
107
107
|
| hooks | 6 | 0 |
|
|
108
108
|
| agents | 3 | 1 |
|
|
@@ -136,5 +136,5 @@ If `failed` is empty, replace the Failures section with `_All probes passed._`.
|
|
|
136
136
|
- [ ] JSON report matches the template above exactly (fields, types, naming)
|
|
137
137
|
- [ ] Markdown summary printed to console after the run
|
|
138
138
|
- [ ] Reports land in `~/.vibe/test-reports/`, never in project-local `.vibe/`
|
|
139
|
-
- [ ] `failed.length > 0` → auto-invokes
|
|
140
|
-
- [ ]
|
|
139
|
+
- [ ] `failed.length > 0` → auto-invokes `vibe.regress register --from-test`
|
|
140
|
+
- [ ] Entry skills are verified as user-invocable skill surfaces, not deprecated command files
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ui-ux-pro-max
|
|
3
|
+
user-invocable: true
|
|
3
4
|
invocation: [command]
|
|
4
5
|
tier: standard
|
|
5
6
|
description: "UI/UX design intelligence with bold aesthetic direction. Searchable database: 50+ styles, 97 color palettes, 57 font pairings, 99 UX guidelines, 25 chart types across 9 stacks (React, Vue, Svelte, Angular, Astro, Next.js, Flutter, Swift, Kotlin). Use when building any UI component, choosing color schemes, selecting typography, applying design patterns, or reviewing UX compliance. Must use this skill when user builds frontend — pages, components, dashboards, or landing pages — to ensure design quality beyond generic AI output."
|
package/skills/vibe.run/SKILL.md
CHANGED
|
@@ -606,7 +606,7 @@ At automation levels L3 and L4, checkpoints that do not require confirmation are
|
|
|
606
606
|
|
|
607
607
|
- `core/development-philosophy.md` - Surgical precision, modify only requested scope
|
|
608
608
|
- `core/quick-start.md` - Korean, DRY, SRP, YAGNI
|
|
609
|
-
- `standards/complexity-metrics.md` - Functions ≤
|
|
609
|
+
- `standards/complexity-metrics.md` - Functions ≤50 lines, nesting ≤3 levels
|
|
610
610
|
- `quality/checklist.md` - Code quality checklist
|
|
611
611
|
|
|
612
612
|
**Language guide:** `~/.claude/vibe/languages/{stack}.md` (global reference)
|
|
@@ -1617,7 +1617,7 @@ After all scenarios complete + Antigravity review, **quality report is auto-gene
|
|
|
1617
1617
|
│ │ Build │ ✅ │ npm run build succeeded │ │
|
|
1618
1618
|
│ │ Tests │ ✅ │ 12/12 passed │ │
|
|
1619
1619
|
│ │ Type check │ ✅ │ 0 errors │ │
|
|
1620
|
-
│ │ Complexity │ ✅ │ All functions ≤
|
|
1620
|
+
│ │ Complexity │ ✅ │ All functions ≤50 lines │ │
|
|
1621
1621
|
│ │ Security │ ✅ │ 0 vulnerabilities │ │
|
|
1622
1622
|
│ │ Race review │ ✅ │ 3 improvements applied │ │
|
|
1623
1623
|
│ └─────────────────────────────────────────────────────────┘ │
|
|
@@ -1857,7 +1857,7 @@ Before marking any scenario as complete, ALL items must pass:
|
|
|
1857
1857
|
| **Functionality** | All Given/When/Then conditions verified | 20% |
|
|
1858
1858
|
| **Functionality** | Edge cases handled per scenario | 10% |
|
|
1859
1859
|
| **Code Quality** | No `any` types in TypeScript | 10% |
|
|
1860
|
-
| **Code Quality** | Functions ≤
|
|
1860
|
+
| **Code Quality** | Functions ≤50 lines, nesting ≤3 levels | 10% |
|
|
1861
1861
|
| **Code Quality** | No hardcoded values (use constants) | 5% |
|
|
1862
1862
|
| **Security** | Input validation implemented | 10% |
|
|
1863
1863
|
| **Security** | Authentication/authorization checked | 5% |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: vibe.test
|
|
3
|
-
description: Self-test vibe — probe every
|
|
3
|
+
description: Self-test vibe — probe every entry skill/skill/hook/agent in the target harness install dir and write a pass/fail report
|
|
4
4
|
argument-hint: "[cc|codex] (empty = current harness)"
|
|
5
5
|
user-invocable: true
|
|
6
6
|
---
|
|
@@ -257,7 +257,7 @@ Record the value as `{step_count}` and include it in the report below.
|
|
|
257
257
|
│ │ Build │ ✅ │ Success │ │
|
|
258
258
|
│ │ Tests │ ✅ │ 12/12 passed │ │
|
|
259
259
|
│ │ Type Check │ ✅ │ 0 errors │ │
|
|
260
|
-
│ │ Complexity │ ✅ │ All functions ≤
|
|
260
|
+
│ │ Complexity │ ✅ │ All functions ≤50 lines │ │
|
|
261
261
|
│ │ Code Coverage │ ⚠️ │ 78% (target: 80%) │ │
|
|
262
262
|
│ └─────────────────────────────────────────────────────────┘ │
|
|
263
263
|
│ │
|
|
@@ -283,7 +283,7 @@ npm install eslint-plugin-complexity
|
|
|
283
283
|
"rules": {
|
|
284
284
|
"complexity": ["error", 10],
|
|
285
285
|
"max-depth": ["error", 3],
|
|
286
|
-
"max-lines-per-function": ["error",
|
|
286
|
+
"max-lines-per-function": ["error", 50]
|
|
287
287
|
}
|
|
288
288
|
}
|
|
289
289
|
```
|
|
@@ -307,7 +307,7 @@ radon mi app/
|
|
|
307
307
|
|--------|--------|-------------|
|
|
308
308
|
| Cyclomatic Complexity | ≤ 10 | Independent execution paths |
|
|
309
309
|
| Cognitive Complexity | ≤ 15 | Easy to understand |
|
|
310
|
-
| Function Length | ≤
|
|
310
|
+
| Function Length | ≤ 50 lines | Short, focused functions |
|
|
311
311
|
| Nesting Depth | ≤ 3 levels | Flat structure |
|
|
312
312
|
| Parameters | ≤ 5 | Function parameter limit |
|
|
313
313
|
| Dependencies | ≤ 7 | Module dependency limit |
|