Skip to content

docs: add frontend ui stability guidelines - #173

Merged
nunomaduro merged 1 commit into
dev-null-sh:productionfrom
xHeaven:docs/ui-stability-guidelines
Oct 16, 2026
Merged

nunomaduro merged 1 commit into
dev-null-sh:productionfrom
xHeaven:docs/ui-stability-guidelines

Conversation

@xHeaven

@xHeaven xHeaven commented Oct 16, 2026

Copy link
Copy Markdown
Member

Problem

Agents keep shipping UI that flashes, jumps or clips. #156 fixed a long list of these across the app, and the same kinds of problems came straight back in new feature PRs:

Nothing in the agent guidelines told anyone to watch for this, or how to check for it.

What changes

  • New guideline: .ai/guidelines/resources.js.blade.php adds a short "Frontend UI stability" section, written from what fix: remove layout jumps, flashes and clipped ui across the app #156 and the follow-up polish actually fixed:
    • Loading: skeletons are the same size as the loaded content and delayed by about 300ms. Persistent shared props use Inertia::defer(...)->once(), and polling uses partial reloads.
    • Changing content: counts and countdowns use tabular-nums, buttons whose label changes get a min-w, and conditional UI reserves its space. Removed rows collapse instead of jumping, and the control under the cursor doesn't flip to a destructive state right after an action.
    • Overflow: dialogs are capped to the viewport and scroll inside, with scrollbar-gutter: stable. Long text truncates, textareas are overflow-x-hidden, and inputs use at least 16px on mobile. Toasts sit above the bottom nav.
    • Verification: check three viewports in light and dark, measure layout shift for first load, navigation, polling and every new action (target 0), and compare against production using the same demo data.
  • AGENTS.md / CLAUDE.md: regenerated with php artisan boost:update --no-discover --ignore-skills, not edited by hand.
  • DESIGN.md: one "Do" line pointing to the new rules.

Regenerating also picked up the Laravel Octane core rules, which were missing because the guidelines hadn't been regenerated since Octane was added in 8ffa0b3. They're Boost's own output, so I left them in. Those rules mention an octane-development skill that isn't installed here; installing it is a separate change.

Validation

  • php artisan boost:update regenerated AGENTS.md and CLAUDE.md. Both contain the new section and are identical to each other.
  • Docs only, with no code or UI changes, so there are no tests or media.

@nunomaduro
nunomaduro merged commit 8951b1e into dev-null-sh:production Oct 16, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants