Skip to content

docs(bulma-ui): reconcile compound docs headings and story names with the codified standard - #351

Merged
allxsmith merged 1 commit into
mainfrom
docs/339-compound-reconcile
Jul 22, 2026
Merged

allxsmith merged 1 commit into
mainfrom
docs/339-compound-reconcile

Conversation

@allxsmith

Copy link
Copy Markdown
Owner

Closes #339

What

Reconciles the five compound families that predate the standard codified in bulma-ui/CLAUDE.md (PR #336), taking the issue's preferred Option 1 (reconcile) — and mechanizes the standard so it can't drift again.

Story renames (primary compound story → CompoundUsage)

File Renamed Kept as-is (extras beyond the minimum)
Card.stories.tsx CompoundComponents CompoundComponentsMinimal, MixedApproach
Message.stories.tsx CompoundComponents CompoundMinimal, CompoundHeaderOnly, MixedApproach
Modal.stories.tsx CompoundModalCard CompoundModalContent
Avatars.stories.tsx CompoundStatic —
Steps.stories.tsx CompoundComponents —

No test or docs page references these export names (identity tests key on Parent.Sub), so the renames are behavior-neutral. Stories aren't shipped in the package → non-release docs commit type.

Docs restructuring (no content dropped — the standard is a minimum, not a ceiling)

  • card.md / message.md — the standalone ## Compound Components H2 is dissolved: per-static prop docs move under ## Props as ### Compound component props (demoted to H4), and the examples become ### Compound (dot-notation) usage at the end of ## Usage, keeping all richer examples as H4 sub-examples.
  • modal.md — retitles only: the Props-side statics table becomes ### Compound component props; ### Compound Components API (already last in Usage) becomes ### Compound (dot-notation) usage.
  • avatars.md — ### Compound Static renamed to the standard heading and moved to the end of ## Usage.
  • steps.md — already conformed; story rename only.

URLs/slugs are unchanged (headings only), so the published LLM index is unaffected beyond anchor text.

New conformance sub-check: compound-family

scripts/check-conformance.mjs gains a source-driven check: every module calling withSubComponents( must ship an export const CompoundUsage story and a ### Compound (dot-notation) usage subsection as the last H3 of its API page's ## Usage section. All 27 compound families pass with zero exemptions; before the reconcile it correctly flagged exactly the 9 drifted artifacts. Run it alone with node scripts/check-conformance.mjs --only=compound-family.

Verification

  • pnpm all green (build, typecheck, tests + coverage, lint, format:check, storybook build).
  • pnpm check:conformance green, including the new sub-check.
  • Browser-verified: all four docs pages render the new sections with live examples executing (13 previews on card.md, 4 under the new compound section), and Storybook indexes compound-usage for all 27 families with the renamed stories rendering correctly.

🤖 Generated with Claude Code

@coderabbitai

coderabbitai Bot commented Jul 22, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

@allxsmith, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 55 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: b57678cc-b4a3-4a61-826f-72b3236e7ca7

📥 Commits

Reviewing files that changed from the base of the PR and between 913a1ba and fd90ba6.

📒 Files selected for processing (10)
  • bulma-ui/src/components/Avatars.stories.tsx
  • bulma-ui/src/components/Card.stories.tsx
  • bulma-ui/src/components/Message.stories.tsx
  • bulma-ui/src/components/Modal.stories.tsx
  • bulma-ui/src/components/Steps.stories.tsx
  • docs/docs/api/components/avatars.md
  • docs/docs/api/components/card.md
  • docs/docs/api/components/message.md
  • docs/docs/api/components/modal.md
  • scripts/check-conformance.mjs
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/339-compound-reconcile

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

Preview Deployment

Preview URL: https://f65b6d1a.bestax.pages.dev

@allxsmith

Copy link
Copy Markdown
Owner Author

CI note: the Build and Test failure is the pnpm audit step tripping on 8 freshly published advisories in transitive deps (svgo GHSA-2p49-hgcm-8545, fast-uri GHSA-v2hh-gcrm-f6hx, sharp GHSA-f88m-g3jw-g9cj, + moderates) — it fails identically on main's latest run (#345's merge commit). Pre-existing and unrelated to this PR; needs the usual pnpm-overrides treatment (cf. b9c1dc7) in a separate chore PR. All checks that exercise this PR's changes are green (React 18/19 matrix, docs preview deployment, CodeQL).

… the codified standard

Card/Modal/Message/Avatars/Steps predate the compound-family convention
codified in bulma-ui/CLAUDE.md (PR #336). Rename their primary compound
stories to CompoundUsage and retitle/relocate the docs sections to
"### Compound (dot-notation) usage" at the end of each page's Usage
section; per-static prop docs move under Props as "Compound component
props". No content dropped — the standard is a minimum, not a ceiling.

Adds a compound-family conformance sub-check (withSubComponents call
sites → CompoundUsage story + docs subsection, position-checked) so the
standard is mechanically enforced from now on; all 27 families pass with
zero exemptions.

Closes #339

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@allxsmith
allxsmith force-pushed the docs/339-compound-reconcile branch from 660bfb9 to fd90ba6 Compare July 22, 2026 01:54
@github-actions

Copy link
Copy Markdown
Contributor

Preview Deployment

Preview URL: https://7040cb0c.bestax.pages.dev

@allxsmith

Copy link
Copy Markdown
Owner Author

CI is fully green after rebasing onto main with the audit fix (#353) — the earlier Build and Test failure is resolved.

@allxsmith
allxsmith merged commit f711982 into main Jul 22, 2026
10 checks passed
@allxsmith
allxsmith deleted the docs/339-compound-reconcile branch July 22, 2026 10:51
@github-actions

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 3.6.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@bestax-release-bot

Copy link
Copy Markdown

🎉 This PR is included in version 2.0.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@bestax-release-bot

Copy link
Copy Markdown

🎉 This PR is included in version 5.8.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

@bestax-release-bot

Copy link
Copy Markdown

🎉 This PR is included in version 1.0.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Reconcile Card/Modal/Message/Avatars compound docs headings and story names with the codified standard

1 participant