lazycodex-ai 5.0.0-beta.87 → 5.0.0-beta.88

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 (59) hide show
  1. package/dist/cli/index.js +90 -73
  2. package/dist/cli-node/index.js +90 -73
  3. package/package.json +1 -1
  4. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  5. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  6. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  7. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  8. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  9. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  10. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  11. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  12. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  13. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +2 -2
  14. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  15. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  16. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  17. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  18. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  19. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  20. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  21. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  22. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  23. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  24. package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +1 -1
  25. package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
  26. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +5 -5
  27. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  28. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  29. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  30. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  31. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  32. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  33. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  34. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  35. package/packages/omo-codex/plugin/hooks/post-tool-use-recording-spawn-admission.json +1 -1
  36. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  37. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  38. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  39. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  40. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  41. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  42. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  43. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
  44. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  45. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  46. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  47. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  48. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  49. package/packages/omo-codex/plugin/package-lock.json +12 -12
  50. package/packages/omo-codex/plugin/package.json +1 -1
  51. package/packages/omo-codex/plugin/skills/browser/runtime/omowright/manifest.json +1 -1
  52. package/packages/omo-codex/plugin/skills/frontend/references/design/ambience-skill.md +2 -1
  53. package/packages/omo-codex/plugin/skills/frontend/references/design/design-system-architecture.md +30 -7
  54. package/packages/omo-codex/plugin/skills/frontend/references/design/interaction-skill.md +17 -5
  55. package/packages/omo-codex/scripts/install-dist/install-local.mjs +2 -2
  56. package/packages/shared-skills/skills/browser/runtime/omowright/manifest.json +1 -1
  57. package/packages/shared-skills/skills/frontend/references/design/ambience-skill.md +2 -1
  58. package/packages/shared-skills/skills/frontend/references/design/design-system-architecture.md +30 -7
  59. package/packages/shared-skills/skills/frontend/references/design/interaction-skill.md +17 -5
@@ -60,8 +60,7 @@ rather than borders, creating layers you feel more than see."
60
60
  | Status/info | --status-info | #2563EB | #3B82F6 | Informational |
61
61
 
62
62
  ### Rules
63
- - Surface hierarchy creates depth without shadows or borders where possible.
64
- - Accent is used ONLY for interactive elements. Never decorative.
63
+ - Accent marks the one or two most likely actions on a screen, on the control's background rather than its glyph or label. Peer choices differ by style, never by size. Nothing decorative carries accent.
65
64
  - Never introduce a color not in this table. Extend the table first.
66
65
 
67
66
  ## 3. Typography
@@ -148,12 +147,22 @@ code; do not invent future components just to fill the section.
148
147
  | Emphasis | 400-600ms | cubic-bezier(0.16, 1, 0.3, 1) | Page transition, hero entry |
149
148
  | Scroll-driven | tied to scroll | linear | Parallax, progress, reveal |
150
149
 
150
+ ### Feedback thresholds
151
+
152
+ | Event | Feedback | Timing |
153
+ |-------|----------|--------|
154
+ | Press, tap, drag start | State change on the element itself | Same frame; a drag image once the pointer has moved a few px |
155
+ | Hover-revealed controls | Controls appear, then leave with the pointer | After hover intent, not on pointer entry |
156
+ | Async action started | Placeholder or disabled control at once; spinner or skeleton only past ~1 s | An indicator never flashes for sub-second work |
157
+ | Long wait | Determinate progress at an even pace; indeterminate only when the total is unknown | Never swap indicator shape mid-task or front-load to 90% |
158
+ | Outcome | Failure reported next to the object; success shown by the changed state itself | Toast only for outcomes not visible in place |
159
+
151
160
  ### Rules
152
- - Only animate `transform` and `opacity`. Never animate layout properties.
153
- - Every interactive element has hover + active + focus states.
154
- - Selected/focused/active state is encoded with ink-alpha washes and a glyph (check) — never a coloured accent border or outline. `focus-visible` rings are the only coloured edge.
161
+ - Only animate `transform`, `opacity`, and `filter`. Never animate layout properties.
162
+ - Every interactive element has hover, active, and focus states. Selected/focused/active is encoded with ink-alpha washes and a glyph (check) — never a coloured accent border or outline. `focus-visible` rings are the only coloured edge.
163
+ - A surface that changes size, position, or content animates from its old geometry to the new one; never unmount and remount it. Nothing reflows under the pointer while the user is typing or dragging.
155
164
  - Scroll-triggered animations use `IntersectionObserver`, not scroll listeners.
156
- - Reduced motion: respect `prefers-reduced-motion` — disable non-essential animation.
165
+ - Reduced motion means reduce, not remove: under `prefers-reduced-motion`, positional, scale, and depth motion becomes a cross-fade; fades, gesture-tracked motion, and progress indicators stay.
157
166
 
158
167
  ## 7. Depth & Surface
159
168
 
@@ -176,6 +185,19 @@ If borders:
176
185
  If tonal-shift:
177
186
  Surfaces use progressively lighter/darker shades. No borders, no shadows.
178
187
 
188
+ ### Radius
189
+
190
+ | Token | Value | Usage |
191
+ |-------|-------|-------|
192
+ | --radius-sm | [e.g. 6px] | Inputs, chips, small controls |
193
+ | --radius-md | [e.g. 12px] | Cards, panels, popovers |
194
+ | --radius-lg | [e.g. 20px] | Sheets, modals, hero containers |
195
+ | --radius-full | 9999px | Pills, avatars |
196
+
197
+ ### Rules
198
+ - Nested corners are concentric: inner radius = outer radius minus the padding between them, never the same value at both depths.
199
+ - Elevation reads only when scale, shadow, and highlight change together; a shadow change alone does not lift a surface.
200
+
179
201
  ## 8. Accessibility Constraints & Accepted Debt
180
202
 
181
203
  ### Constraints
@@ -220,7 +242,8 @@ After every component implementation, check:
220
242
  - [ ] Interactive elements have all required states from Section 5 and Section 6.
221
243
  - [ ] Depth treatment matches the chosen strategy from Section 7.
222
244
  - [ ] Component reused 2+ times? Documented in Section 5.
223
- - [ ] Motion follows the timing table. No arbitrary durations.
245
+ - [ ] Motion follows the timing and feedback-threshold tables, and every animation has its reduced-motion path.
246
+ - [ ] Radii come from the Section 7 scale; nested corners are concentric.
224
247
  - [ ] Component visual QA passed for each primitive and required state before product screens were composed.
225
248
  - [ ] Section 8 accessibility constraints hold for the new component; any new debt is recorded in Section 8, not silently accepted.
226
249
  - [ ] Survives content stress: empty, long label, unbroken string. Reflows to one readable column at 375px with no horizontal scroll of primary content.
@@ -125,11 +125,23 @@ This table is the edge of this catalog. Hero atmospheres, animated or shader bac
125
125
 
126
126
  These sharpen the shared axioms for interaction work; none of them replace the style skill.
127
127
 
128
- - **Motion serves meaning.** Every animation maps to a real interaction, state change, or affordance. A hover that changes nothing is slop — beui.dev patterns all animate *state*, never decoration.
129
- - **Reduced motion is part of the component, not an afterthought.** Every beui.dev component ships a reduced-motion path; match that bar. Web: `prefers-reduced-motion: reduce` disables or replaces every transform-based animation (the `loader` pattern's opacity-pulse swap is the model). React Native: respect the system reduce-motion setting.
128
+ - **Motion serves meaning, and each meaning has its motion.** Every animation maps to a real interaction, state change, or affordance; a hover that changes nothing is slop. Pick the motion from the meaning, not from the catalog's most striking demo:
129
+
130
+ | Meaning | Motion | Not |
131
+ |---|---|---|
132
+ | Press acknowledged | Scale or wash on the element, same frame | A ripple that arrives after the action fires |
133
+ | Something is in progress | A moving indicator | A static one, which reads as frozen |
134
+ | Something is live or new | A brief highlight or subtle pulse, once | A permanent loop |
135
+ | Something arrived from elsewhere | Enter from the direction of its origin | A fade-in from nowhere |
136
+ | Something moved | It travels there | Disappear here, appear there |
137
+ | An unfamiliar control exists | A one-time introduction on first appearance | Continuous decoration |
138
+
139
+ - **Transitions keep identity.** A surface that resizes, repositions, or swaps content animates from its old geometry to the new one (`layoutId` shared layout or a measured-height morph); the user must never suspect a replacement. When items move and others appear, move first, then add. Keep one element still as the anchor while the rest animates. Nothing reflows under the pointer while the user is typing or dragging. A panel leaves the way it came: a sheet that rose from the bottom dismisses downward, and the reverse gesture undoes the forward one.
140
+ - **Reduced motion is part of the component, not an afterthought.** Every beui.dev component ships a reduced-motion path; match that bar, and reduce rather than remove: under `prefers-reduced-motion: reduce`, positional, scale, and depth motion becomes a cross-fade (the `loader` pattern's opacity-pulse swap is the model); fades, gesture-tracked motion, and progress indicators stay; blur never animates its start or end. Any state that motion conveys is also announced (`aria-live`, a label change). React Native: respect the system reduce-motion setting.
130
141
  - **GPU-composited properties only** — `transform`, `opacity`, `filter`. Never animate layout properties; morph layout through shared-layout (`layoutId`) or measured height primitives instead.
131
- - **Springs move things; easings tint things.** Spatial movement (position, scale, layout morphs) wants spring physics so it stays interruptible and retargetable. Color, opacity, and blur want short duration + easing. Do not put a fixed-duration tween on a gesture-driven surface.
132
- - **Interruptibility is non-negotiable.** A press, hover-out, or route change mid-animation must retarget smoothly, never queue or block input. This is the practical reason beui.dev uses springs — copy that property, not just the bounce.
142
+ - **Springs move things; easings tint things; continuous input tracks.** Spatial movement (position, scale, layout morphs) wants spring physics so it stays interruptible and retargetable. Color, opacity, and blur want short duration + easing. Discrete input (a tap, a keypress) animates; continuous input (a drag, a wheel, a slider) follows the pointer 1:1 with no interpolation, then settles with a spring on release. Do not put a fixed-duration tween on a gesture-driven surface.
143
+ - **Interruptibility is non-negotiable.** A press, hover-out, or route change mid-animation must retarget smoothly, never queue or block input, and never snap to the end state. This is the practical reason beui.dev uses springs — copy that property, not just the bounce.
144
+ - **One event, one feedback.** Feedback lives on the object that changed. Do not stack a spinner over a control that already shows progress, re-animate a native control, or confirm routine success with a toast: success is assumed and shown by the changed state; failure is always reported, next to the object, with the cause. Prefer undo to a confirmation dialog; a dialog is for uncommon and irreversible loss only, its buttons name the outcome ("Delete", "Keep editing"), and neither Cancel nor the destructive action takes the default (Enter) role. Send the request when the input lands, not when the acknowledging animation ends.
133
145
  - **Motion never regresses input latency or stream rendering.** Measure with the `perfection` ruleset when in doubt; a virtualized list's measurement contract beats a pretty reveal.
134
146
  - **Library choice is a project decision, not a default.** beui.dev assumes Motion (motion.dev) + Tailwind. If the project already has a motion stack, adapt the mechanism to it. If it has none: CSS transitions/WAAPI cover micro-interactions; adding a library is justified by shared-layout or spring-physics needs and gets recorded (with bundle cost) in `DESIGN.md`. Check `package.json` before importing anything.
135
147
 
@@ -143,4 +155,4 @@ These sharpen the shared axioms for interaction work; none of them replace the s
143
155
 
144
156
  ## 6. Verification
145
157
 
146
- Interaction work is verified through `/visual-qa` with motion actually driven and inspected — hover, press, open/close, swipe, and theme transitions exercised on the rendered surface, plus a reduced-motion pass (emulate `prefers-reduced-motion: reduce`) proving the fallback exists. Timing-sensitive changes record a short screen capture, not just stills.
158
+ Interaction work is verified through `/visual-qa` with motion actually driven and inspected — hover, press, open/close, swipe, and theme transitions exercised on the rendered surface, an interruption pass (retarget mid-animation, dismiss mid-open) proving nothing snaps or blocks, and a reduced-motion pass (emulate `prefers-reduced-motion: reduce`) proving the fallback exists. Timing-sensitive changes record a short screen capture, not just stills.