[Documentation] Record lessons from the Form audit PR
Merged
CI
2d ago+65+65+01234567890123456789-3-3-0123456789
What
Writes down what the Form audit PR (#592) ran into, so the next component PR doesn't hit the same things.
CLAUDE.md: a change undergem/lib/ruby_ui/needs the MCP registry rebuilt (cd mcp && bundle exec exe/ruby-ui-mcp-build). CI's "MCP registry up to date" check failed on #592 until it was. The layout table no longer says the registry is only rebuilt in releases, and PR images now point to thepr-assetsbranch.shadcn-auditskill:- New section "Before/after images for a fix PR": keep the
mainreport before fixing, shoot the same states after, composemain | PR | shadcnimages, publish them to the orphanpr-assetsbranch with git plumbing, and link them by commit SHA. GitHub has no API to attach files to a PR; GitHub's own gh-aw (upload-assets) and Roborazzi also host PR images on orphan branches. - Step 2.6: pick a free port pair when another audit already holds 5179/3179.
- Step 1:
.shadcn-audit/lives in the checkout, so removing the worktree deletes the runs.
- New section "Before/after images for a fix PR": keep the
ruby-ui-stimulusskill: the "no fixed timeouts" rule gets one exception,setTimeout(fn)to treat a burst of browser events as one round (as inform_controller.js), and whyqueueMicrotaskdoesn't work there.
How to test
Docs only. I ran the pr-assets recipe in zsh without pushing: it kept the existing form-shadcn-fidelity/ folder and chained onto the current pr-assets commit.
š¤ Generated with Claude Code
Summary by cubic
Records what the Form audit PR (#592) ran into so the next component PR avoids the same issues.
- Any change under
gem/lib/ruby_ui/, todependencies.yml, or toVERSIONnow requires rebuilding and committingmcp/data/registry.jsonin the same PR; CI's registry check fails otherwise. - Adds a recipe for publishing before/after PR images to the orphan
pr-assetsbranch, linked by commit SHA, since GitHub has no API to attach files to a PR. - The shadcn-audit skill now documents picking free ports when another audit holds the defaults, and that
.shadcn-audit/lives in the checkout and is deleted with the worktree. - The Stimulus skill documents one exception to the no-fixed-timeouts rule:
setTimeout(fn)with no delay to treat a burst of browser events as one round, and whyqueueMicrotaskdoesn't work there.