@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.
Files changed (108) hide show
  1. package/CLAUDE.md +13 -12
  2. package/README.md +2 -0
  3. package/dist/cli/collaborator.d.ts.map +1 -1
  4. package/dist/cli/collaborator.js +23 -6
  5. package/dist/cli/collaborator.js.map +1 -1
  6. package/dist/cli/commands/init.d.ts.map +1 -1
  7. package/dist/cli/commands/init.js +3 -1
  8. package/dist/cli/commands/init.js.map +1 -1
  9. package/dist/cli/postinstall/claude-agents.d.ts.map +1 -1
  10. package/dist/cli/postinstall/claude-agents.js +15 -12
  11. package/dist/cli/postinstall/claude-agents.js.map +1 -1
  12. package/dist/cli/postinstall/constants.d.ts +2 -2
  13. package/dist/cli/postinstall/constants.js +2 -2
  14. package/dist/cli/postinstall/fs-utils.d.ts +5 -0
  15. package/dist/cli/postinstall/fs-utils.d.ts.map +1 -1
  16. package/dist/cli/postinstall/fs-utils.js +55 -0
  17. package/dist/cli/postinstall/fs-utils.js.map +1 -1
  18. package/dist/cli/postinstall/fs-utils.test.d.ts +2 -0
  19. package/dist/cli/postinstall/fs-utils.test.d.ts.map +1 -0
  20. package/dist/cli/postinstall/fs-utils.test.js +31 -0
  21. package/dist/cli/postinstall/fs-utils.test.js.map +1 -0
  22. package/dist/cli/postinstall/index.d.ts +1 -1
  23. package/dist/cli/postinstall/index.d.ts.map +1 -1
  24. package/dist/cli/postinstall/index.js +1 -1
  25. package/dist/cli/postinstall/index.js.map +1 -1
  26. package/dist/cli/postinstall/main.d.ts.map +1 -1
  27. package/dist/cli/postinstall/main.js +5 -3
  28. package/dist/cli/postinstall/main.js.map +1 -1
  29. package/dist/cli/postinstall.d.ts +1 -1
  30. package/dist/cli/postinstall.d.ts.map +1 -1
  31. package/dist/cli/postinstall.js +1 -1
  32. package/dist/cli/postinstall.js.map +1 -1
  33. package/dist/cli/setup/ProjectSetup.d.ts.map +1 -1
  34. package/dist/cli/setup/ProjectSetup.js +13 -1
  35. package/dist/cli/setup/ProjectSetup.js.map +1 -1
  36. package/dist/infra/lib/CostAccumulator.d.ts +19 -2
  37. package/dist/infra/lib/CostAccumulator.d.ts.map +1 -1
  38. package/dist/infra/lib/CostAccumulator.js +60 -2
  39. package/dist/infra/lib/CostAccumulator.js.map +1 -1
  40. package/dist/infra/lib/antigravity/chat.d.ts.map +1 -1
  41. package/dist/infra/lib/antigravity/chat.js +6 -0
  42. package/dist/infra/lib/antigravity/chat.js.map +1 -1
  43. package/dist/infra/lib/antigravity/orchestration.d.ts.map +1 -1
  44. package/dist/infra/lib/antigravity/orchestration.js +13 -1
  45. package/dist/infra/lib/antigravity/orchestration.js.map +1 -1
  46. package/dist/infra/lib/antigravity/types.d.ts +8 -0
  47. package/dist/infra/lib/antigravity/types.d.ts.map +1 -1
  48. package/dist/infra/lib/gpt/auth.d.ts.map +1 -1
  49. package/dist/infra/lib/gpt/auth.js +13 -1
  50. package/dist/infra/lib/gpt/auth.js.map +1 -1
  51. package/dist/infra/lib/gpt/chat.d.ts.map +1 -1
  52. package/dist/infra/lib/gpt/chat.js +52 -31
  53. package/dist/infra/lib/gpt/chat.js.map +1 -1
  54. package/dist/infra/lib/gpt/embedding.d.ts.map +1 -1
  55. package/dist/infra/lib/gpt/embedding.js +6 -5
  56. package/dist/infra/lib/gpt/embedding.js.map +1 -1
  57. package/dist/infra/lib/gpt/orchestration.d.ts.map +1 -1
  58. package/dist/infra/lib/gpt/orchestration.js +13 -1
  59. package/dist/infra/lib/gpt/orchestration.js.map +1 -1
  60. package/dist/infra/lib/gpt/types.d.ts +8 -0
  61. package/dist/infra/lib/gpt/types.d.ts.map +1 -1
  62. package/dist/infra/lib/llm/timeout.d.ts +34 -0
  63. package/dist/infra/lib/llm/timeout.d.ts.map +1 -0
  64. package/dist/infra/lib/llm/timeout.js +45 -0
  65. package/dist/infra/lib/llm/timeout.js.map +1 -0
  66. package/dist/infra/lib/llm/timeout.test.d.ts +2 -0
  67. package/dist/infra/lib/llm/timeout.test.d.ts.map +1 -0
  68. package/dist/infra/lib/llm/timeout.test.js +50 -0
  69. package/dist/infra/lib/llm/timeout.test.js.map +1 -0
  70. package/dist/infra/orchestrator/AgentExecutor.d.ts.map +1 -1
  71. package/dist/infra/orchestrator/AgentExecutor.js +3 -1
  72. package/dist/infra/orchestrator/AgentExecutor.js.map +1 -1
  73. package/dist/infra/orchestrator/LLMCluster.d.ts.map +1 -1
  74. package/dist/infra/orchestrator/LLMCluster.js +10 -1
  75. package/dist/infra/orchestrator/LLMCluster.js.map +1 -1
  76. package/dist/infra/orchestrator/MultiLlmResearch.d.ts +5 -0
  77. package/dist/infra/orchestrator/MultiLlmResearch.d.ts.map +1 -1
  78. package/dist/infra/orchestrator/MultiLlmResearch.js +7 -0
  79. package/dist/infra/orchestrator/MultiLlmResearch.js.map +1 -1
  80. package/dist/infra/orchestrator/PhasePipeline.d.ts +5 -5
  81. package/dist/infra/orchestrator/PhasePipeline.d.ts.map +1 -1
  82. package/dist/infra/orchestrator/PhasePipeline.js +19 -15
  83. package/dist/infra/orchestrator/PhasePipeline.js.map +1 -1
  84. package/dist/infra/orchestrator/SmartRouter.d.ts +10 -0
  85. package/dist/infra/orchestrator/SmartRouter.d.ts.map +1 -1
  86. package/dist/infra/orchestrator/SmartRouter.js +23 -6
  87. package/dist/infra/orchestrator/SmartRouter.js.map +1 -1
  88. package/dist/infra/orchestrator/SmartRouter.test.js +46 -19
  89. package/dist/infra/orchestrator/SmartRouter.test.js.map +1 -1
  90. package/dist/infra/orchestrator/parallelResearch.d.ts.map +1 -1
  91. package/dist/infra/orchestrator/parallelResearch.js +41 -9
  92. package/dist/infra/orchestrator/parallelResearch.js.map +1 -1
  93. package/hooks/scripts/__tests__/keyword-detector.test.js +51 -16
  94. package/hooks/scripts/auto-commit.js +14 -7
  95. package/hooks/scripts/codex-hook-adapter.js +5 -1
  96. package/hooks/scripts/keyword-detector.js +14 -2
  97. package/hooks/scripts/llm-orchestrate.js +13 -2
  98. package/hooks/scripts/prompt-dispatcher.js +32 -9
  99. package/package.json +1 -1
  100. package/skills/design-audit/SKILL.md +1 -0
  101. package/skills/design-normalize/SKILL.md +1 -0
  102. package/skills/design-teach/SKILL.md +1 -1
  103. package/skills/test/SKILL.md +9 -9
  104. package/skills/ui-ux-pro-max/SKILL.md +1 -0
  105. package/skills/vibe.run/SKILL.md +3 -3
  106. package/skills/vibe.test/SKILL.md +1 -1
  107. package/skills/vibe.verify/SKILL.md +1 -1
  108. package/vibe/rules/standards/complexity-metrics.md +2 -2
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: test
3
- description: vibe 자가검진 본체 — 대상 harness(~/.claude/~/.codex)의 모든 command/skill/hook/agent 프로빙 → pass/fail 리포트 → ~/.vibe/test-reports/.
4
- when_to_use: /vibe.test 진입점에서 체인 호출. 직접 호출 금지.
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 commands, 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?
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
- | commands | `<install>/commands/*.md` | file readable · frontmatter parses · `description` present · body references a skill (`Load skill \`...\``) if it delegates |
41
- | skills | `<install>/skills/*/SKILL.md` | frontmatter parses · required fields (`name`, `description`, `invocation`) · `invocation` ⊆ `{command, auto, chain}` and non-empty · if `invocation` includes `auto` then `triggers` non-empty · if includes `command` then matching `commands/{vibe.X}.md` or `Load skill <name>` reference exists · if includes `chain` then another skill lists it in `chain-next` · body non-empty |
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
- "commands": [
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
- | commands | 15 | 0 |
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 `/vibe.regress register --from-test`
140
- - [ ] `invocation` field invariants enforced per skill (`command` / `auto` / `chain` validity)
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."
@@ -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 ≤20 lines, nesting ≤3 levels
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 ≤30 lines │ │
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 ≤30 lines, nesting ≤3 levels | 10% |
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 command/skill/hook/agent in the target harness install dir and write a pass/fail report
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 ≤30 lines │ │
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", 20]
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 | ≤ 20 lines | Short, focused functions |
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 |