@su-record/vibe 2.9.25 → 2.9.33

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 (93) hide show
  1. package/CLAUDE.md +7 -4
  2. package/commands/vibe.figma.md +16 -0
  3. package/commands/vibe.run.md +6 -0
  4. package/commands/vibe.verify.md +22 -0
  5. package/dist/cli/auth.d.ts +7 -1
  6. package/dist/cli/auth.d.ts.map +1 -1
  7. package/dist/cli/auth.js +51 -11
  8. package/dist/cli/auth.js.map +1 -1
  9. package/dist/cli/collaborator.d.ts +5 -1
  10. package/dist/cli/collaborator.d.ts.map +1 -1
  11. package/dist/cli/collaborator.js +10 -5
  12. package/dist/cli/collaborator.js.map +1 -1
  13. package/dist/cli/commands/info.d.ts.map +1 -1
  14. package/dist/cli/commands/info.js +5 -21
  15. package/dist/cli/commands/info.js.map +1 -1
  16. package/dist/cli/commands/init.d.ts +13 -5
  17. package/dist/cli/commands/init.d.ts.map +1 -1
  18. package/dist/cli/commands/init.js +73 -32
  19. package/dist/cli/commands/init.js.map +1 -1
  20. package/dist/cli/commands/remove.d.ts.map +1 -1
  21. package/dist/cli/commands/remove.js +21 -8
  22. package/dist/cli/commands/remove.js.map +1 -1
  23. package/dist/cli/commands/update.d.ts.map +1 -1
  24. package/dist/cli/commands/update.js +14 -8
  25. package/dist/cli/commands/update.js.map +1 -1
  26. package/dist/cli/index.js +4 -2
  27. package/dist/cli/index.js.map +1 -1
  28. package/dist/cli/postinstall/global-config.d.ts.map +1 -1
  29. package/dist/cli/postinstall/global-config.js +8 -4
  30. package/dist/cli/postinstall/global-config.js.map +1 -1
  31. package/dist/cli/postinstall/main.d.ts.map +1 -1
  32. package/dist/cli/postinstall/main.js +11 -0
  33. package/dist/cli/postinstall/main.js.map +1 -1
  34. package/dist/cli/setup/LegacyMigration.d.ts +14 -0
  35. package/dist/cli/setup/LegacyMigration.d.ts.map +1 -1
  36. package/dist/cli/setup/LegacyMigration.js +61 -0
  37. package/dist/cli/setup/LegacyMigration.js.map +1 -1
  38. package/dist/cli/setup/ProjectSetup.d.ts +18 -7
  39. package/dist/cli/setup/ProjectSetup.d.ts.map +1 -1
  40. package/dist/cli/setup/ProjectSetup.js +144 -104
  41. package/dist/cli/setup/ProjectSetup.js.map +1 -1
  42. package/dist/cli/setup/Provisioner.js +2 -2
  43. package/dist/cli/setup/Provisioner.js.map +1 -1
  44. package/dist/cli/setup.d.ts +2 -2
  45. package/dist/cli/setup.d.ts.map +1 -1
  46. package/dist/cli/setup.js +2 -2
  47. package/dist/cli/setup.js.map +1 -1
  48. package/dist/cli/utils/cli-detector.d.ts +9 -6
  49. package/dist/cli/utils/cli-detector.d.ts.map +1 -1
  50. package/dist/cli/utils/cli-detector.js +127 -8
  51. package/dist/cli/utils/cli-detector.js.map +1 -1
  52. package/dist/infra/lib/browser/compare.d.ts +27 -0
  53. package/dist/infra/lib/browser/compare.d.ts.map +1 -1
  54. package/dist/infra/lib/browser/compare.js +55 -0
  55. package/dist/infra/lib/browser/compare.js.map +1 -1
  56. package/dist/infra/lib/browser/index.d.ts +2 -1
  57. package/dist/infra/lib/browser/index.d.ts.map +1 -1
  58. package/dist/infra/lib/browser/index.js +1 -1
  59. package/dist/infra/lib/browser/index.js.map +1 -1
  60. package/dist/infra/lib/figma/audit.d.ts +37 -0
  61. package/dist/infra/lib/figma/audit.d.ts.map +1 -0
  62. package/dist/infra/lib/figma/audit.js +130 -0
  63. package/dist/infra/lib/figma/audit.js.map +1 -0
  64. package/dist/infra/lib/figma/extract.d.ts +21 -1
  65. package/dist/infra/lib/figma/extract.d.ts.map +1 -1
  66. package/dist/infra/lib/figma/extract.js +84 -12
  67. package/dist/infra/lib/figma/extract.js.map +1 -1
  68. package/dist/infra/lib/figma/index.d.ts +4 -2
  69. package/dist/infra/lib/figma/index.d.ts.map +1 -1
  70. package/dist/infra/lib/figma/index.js +2 -1
  71. package/dist/infra/lib/figma/index.js.map +1 -1
  72. package/dist/infra/lib/figma/types.d.ts +31 -0
  73. package/dist/infra/lib/figma/types.d.ts.map +1 -1
  74. package/dist/infra/lib/memory/MemoryStorage.d.ts +5 -0
  75. package/dist/infra/lib/memory/MemoryStorage.d.ts.map +1 -1
  76. package/dist/infra/lib/memory/MemoryStorage.js +21 -2
  77. package/dist/infra/lib/memory/MemoryStorage.js.map +1 -1
  78. package/hooks/hooks.json +8 -0
  79. package/hooks/scripts/command-log.js +3 -3
  80. package/hooks/scripts/context-save.js +3 -3
  81. package/hooks/scripts/evolution-engine.js +2 -2
  82. package/hooks/scripts/figma-extract.js +134 -1
  83. package/hooks/scripts/lib/dispatcher.js +9 -5
  84. package/hooks/scripts/lib/scope-from-spec.js +20 -5
  85. package/hooks/scripts/prompt-dispatcher.js +5 -3
  86. package/hooks/scripts/scope-guard.js +3 -3
  87. package/hooks/scripts/session-start.js +3 -3
  88. package/hooks/scripts/step-counter.js +45 -0
  89. package/hooks/scripts/stop-notify.js +2 -2
  90. package/hooks/scripts/utils.js +62 -4
  91. package/package.json +1 -1
  92. package/skills/vibe-figma-extract/SKILL.md +22 -0
  93. package/vibe/templates/claudemd-template.md +1 -1
@@ -35,12 +35,34 @@ Returns (FigmaNode JSON):
35
35
  layoutSizingV: "FILL",
36
36
  fills: [...] (only when 2 or more),
37
37
  isMask: true (mask nodes only),
38
+ raw: { itemSpacing, paddingTop/..., cornerRadius, strokeWeight, strokeAlign,
39
+ blendMode, opacity, fontSize, lineHeightPx, letterSpacing, fontWeight,
40
+ leadingTrim, textBoxTrim }, ← numeric Figma values for Phase 6 raw-vs-computed reconciliation
41
+ warnings: [ { property, value, severity: "P1"|"P2", reason } ], ← translation-loss only
38
42
  children: [...]
39
43
  }
40
44
 
45
+ Root node also carries:
46
+ auditSummary: { total, p1, p2, items: [{ nodeId, name, property, value, severity, reason }] }
47
+
41
48
  → Save to /tmp/{feature}/tree.json
42
49
  ```
43
50
 
51
+ ### Translation-loss Audit (Figma → CSS Incompatibilities)
52
+
53
+ The extractor flags properties Figma's native renderer supports but CSS cannot reproduce cleanly. These appear in each node's `warnings[]` and are rolled up at the root as `auditSummary`.
54
+
55
+ **P1 (block Phase 3 until resolved or waived):**
56
+ - `strokeAlign` ≠ `CENTER` — CSS border only renders centered strokes; INSIDE/OUTSIDE cannot match without box-sizing trade-offs.
57
+ - `blendMode` ∈ { `LINEAR_BURN`, `LINEAR_DODGE`, `PLUS_DARKER`, `PLUS_LIGHTER` } — no CSS equivalent for `mix-blend-mode` / `background-blend-mode`.
58
+
59
+ **P2 (record + proceed):**
60
+ - `leadingTrim` / `textBoxTrim` ≠ `NONE` — `text-box-trim` has limited browser support (Firefox lacks it).
61
+ - `constraints.horizontal|vertical` ∈ { `SCALE`, `CENTER` } — no direct CSS layout mapping; responsive behavior diverges.
62
+ - `individualStrokeWeights` with `strokeAlign` ≠ `CENTER` — per-side border widths only align cleanly when stroke is centered.
63
+
64
+ **Phase 2 gate rule:** if `auditSummary.p1 > 0`, resolve each item (replace layer in Figma, accept approximation with user sign-off, or mark as known deviation) before Phase 3. P2 items should be logged into the feature notes for Phase 6 reviewer attention.
65
+
44
66
  ### Figma Property → CSS Direct Mapping Table
45
67
 
46
68
  Properties automatically converted by the tree extraction tool. **These values map directly to SCSS:**
@@ -6,7 +6,7 @@
6
6
 
7
7
  - **Modify only requested scope** — Don't touch unrelated code
8
8
  - **Preserve existing style** — Follow project conventions
9
- - **Edit existing files, never create new ones** — Fix problems at source
9
+ - **Prefer editing existing files** — Fix problems at source. Create new files when the task explicitly requires them (user-requested feature, new module, scaffolding). An explicit user request overrides this default.
10
10
 
11
11
  ### Complexity Limits
12
12