Skip to content

docs: equal-height cards — Grid/Cell in the layout skill, Columns flex recipe - #304

Merged
allxsmith merged 3 commits into
mainfrom
docs/196-equal-height
Jul 14, 2026
Merged

allxsmith merged 3 commits into
mainfrom
docs/196-equal-height

Conversation

@allxsmith

@allxsmith allxsmith commented Jul 14, 2026 •

Copy link
Copy Markdown
Owner

Pull Request

Description

Fixes both documentation gaps from #196 ("a row of equal-height cards" — one of the most common layout needs):

  • bulma-ui (@allxsmith/bestax-bulma)
  • create-bestax (create-bestax) — ships the updated layout skill
  • docs (@allxsmith/bestax-docs) — columns + grid library guides
  • Other: skills/bestax-layout-scaffold

1. Grid/Cell now exist in the layout skill — and are the preferred tool for uniform grids.
layout-components.md gains a full Grid / Cell section (props tables for gap/minCol/isFixed/fixedCols* and colStart/colSpan/rowSpan — source-verified post-#300 — plus auto-fill vs fixed-count explanation and a responsive card-grid snippet). The skill's steering flips from "build grids with Columns/Column" to: uniform grids → Grid/Cell (equal heights free); proportional/per-breakpoint layouts → Columns/Column — in the SKILL.md approach bullet, the checklist item, and the no-Tile note at the top of the reference. The import block gains Grid, Cell.

2. The equal-height recipe for Columns is documented everywhere it's needed.
The exact footgun from the issue (height: 100% on the card resolves against auto height → ragged bottoms) and its fix — <Column display="flex" flexDirection="column"> + <Card flexGrow="1"> — now appear in: the skill reference, the card-grid archetype skeleton, the docs columns guide (new "Equal-Height Cards" live example), and a pointer in the grid guide. Helper-prop facts verified against useFlexboxClasses: flexGrow is an ungated item property (string "1"), display="flex" gates only the container helpers.

3. examples/card-grid.tsx now models the correct result — the skill's canonical card-grid example renders actually-equal-height cards via the flex recipe, with a comment explaining why and pointing at Grid/Cell for the free alternative.

Related Issue(s)

Closes #196

Type of Change

  • Documentation (docs + shipped-skill guidance)

Checklist

  • My code follows the project style guidelines
  • I have performed a self-review of my code
  • I have added/updated documentation as needed
  • All new and existing tests passed (no package code changed; prettier + format:check green; full docs build green)
  • If this PR changes commands, conventions, or package structure, the affected CLAUDE.md files are updated (none affected)

🤖 Generated with Claude Code

https://claude.ai/code/session_01Pohc8xLkdx4gwXkW3xd7up


Generated by Claude Code

Summary by CodeRabbit

  • Documentation
    • Added an “Equal-Height Cards” section to the Column guide, including a live example using flexbox (Column as a vertical flex container, Card growing to match row height).
    • Expanded Grid guidance with clearer “when to use” instructions for uniform equal-height card grids, including auto-fit vs fixed column counts.
    • Updated the card-grid archetype and the layout/scaffold references and examples to consistently reflect the new Grid/Cell vs Columns/Column selection rules.

…x recipe

Fixes both gaps from #196:

- The bestax-layout-scaffold skill never mentioned Grid/Cell and steered
  agents to Columns for all grids. layout-components.md gains a Grid/Cell
  section (props tables, auto-fill vs isFixed, card-grid snippet) that
  positions CSS Grid as preferred for uniform grids (equal heights free);
  SKILL.md's approach/checklist and the no-Tile note now steer Grid for
  uniform grids vs Columns for proportional layouts.
- The equal-height recipe for Columns (Column display="flex"
  flexDirection="column" + Card flexGrow="1"; height:100% resolves
  against auto height and does nothing) is documented in the skill
  reference, the card-grid archetype, and the docs columns guide (live
  example); the grid guide notes the free equal heights. The skill's
  card-grid example now actually renders equal-height cards.

Helper prop names verified against useFlexboxClasses (flexGrow is an
ungated item property; display gates only container helpers).

Closes #196

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Pohc8xLkdx4gwXkW3xd7up
@coderabbitai

coderabbitai Bot commented Jul 14, 2026 •

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: d2474827-5b04-4c28-893a-d27cb229c5cd

📥 Commits

Reviewing files that changed from the base of the PR and between 650262f and 2fe014c.

📒 Files selected for processing (4)
  • docs/docs/guides/library/columns.md
  • docs/docs/guides/library/grid.md
  • skills/bestax-layout-scaffold/SKILL.md
  • skills/bestax-layout-scaffold/references/layout-components.md
🚧 Files skipped from review as they are similar to previous changes (3)
  • docs/docs/guides/library/columns.md
  • docs/docs/guides/library/grid.md
  • skills/bestax-layout-scaffold/references/layout-components.md

Walkthrough

Documentation and layout scaffold guidance distinguish uniform Grid/Cell card grids from proportional Column layouts and document a flexbox recipe for equal-height cards.

Changes

Equal-height layout guidance

Layer / File(s) Summary
Component layout guidance
docs/docs/guides/library/columns.md, docs/docs/guides/library/grid.md
Column and Grid documentation explains equal-height card behavior, flexbox configuration, uniform grids, and auto-fit or fixed column counts.
Scaffold equal-height examples
skills/bestax-layout-scaffold/examples/card-grid.tsx, skills/bestax-layout-scaffold/references/archetypes.md
Card-grid examples configure each Column as a flex column and allow its Card to grow vertically, with Grid/Cell presented as an alternative.
Scaffold component reference
skills/bestax-layout-scaffold/SKILL.md, skills/bestax-layout-scaffold/references/layout-components.md
Scaffold guidance and references define when to use Grid/Cell versus Columns/Column and document equal-height implementation patterns and Grid/Cell props.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related issues

  • allxsmith/bestax issue 196 — Covers documentation and examples for equal-height cards using Grid/Cell and the Column flex recipe.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: equal-height card guidance for Grid/Cell and the Columns flex recipe.
Description check ✅ Passed The description follows the template well, covering summary, affected packages, issue link, change type, checklist, and extra context.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/196-equal-height

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

@github-actions

Copy link
Copy Markdown
Contributor

Preview Deployment

Preview URL: https://8bfba306.bestax.pages.dev

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Deep review — 0 finding(s)

Item Severity Area Finding Location
— — — No blocking defects found. —

Overall: This is a docs- and skills-only change that teaches the equal-height-cards flex recipe (Column display="flex" flexDirection="column" + Card flexGrow="1") and points readers to Grid/Cell for uniform grids. Every API claim checks out against the source: the flex helper props are real and land on both the Column and Card root elements, all the referenced Grid/Cell props (isFixed, fixedCols*, gap, minCol, span/placement) exist, the new tsx live example resolves because the docs CodeBlock scope spreads ...BestaxBulma, and the cross-doc anchor pointing at ./columns.md Column heading is valid. No component code changed, so the skill catalog stays fresh and the skills/docs stay in sync. The riskiest part is only the conceptual simplification that a height: 100% on the card does nothing (browser behavior against flex-stretched parents is nuanced), but the recommended flex-grow approach is correct and is what the guidance steers to — nothing for a human to gate on.

🏄 Pure knowledge-drop, no gnarly code in the water — the flex recipe and the Grid shortcut both hold up when you paddle out and check the props. Ship it, brah.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
docs/docs/guides/library/columns.md (1)

149-151: 🎯 Functional Correctness | 🔵 Trivial | 💤 Low value

Soften the height: 100% wording. flexGrow="1" is the more robust pattern here, but height: 100% isn’t always a no-op; percentage heights can resolve when the flex item has a definite size. docs/docs/guides/library/columns.md:149-151

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/docs/guides/library/columns.md` around lines 149 - 151, Revise the
explanation around the Column/Card sizing guidance to avoid claiming that
height: 100% always does nothing. State that flexGrow="1" is the more robust
pattern, while percentage heights may resolve when the flex item has a definite
size.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@docs/docs/guides/library/columns.md`:
- Around line 149-151: Revise the explanation around the Column/Card sizing
guidance to avoid claiming that height: 100% always does nothing. State that
flexGrow="1" is the more robust pattern, while percentage heights may resolve
when the flex item has a definite size.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 11b004b0-8a69-4257-abc6-e44a991f3769

📥 Commits

Reviewing files that changed from the base of the PR and between 69efa07 and 2a077d6.

📒 Files selected for processing (6)
  • docs/docs/guides/library/columns.md
  • docs/docs/guides/library/grid.md
  • skills/bestax-layout-scaffold/SKILL.md
  • skills/bestax-layout-scaffold/examples/card-grid.tsx
  • skills/bestax-layout-scaffold/references/archetypes.md
  • skills/bestax-layout-scaffold/references/layout-components.md

Percentage heights can resolve when the flex item has a definite size;
the guidance now says it doesn't help here (auto-height column) and
positions flexGrow as the robust pattern.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Pohc8xLkdx4gwXkW3xd7up

Copy link
Copy Markdown
Owner Author

CodeRabbit's nitpick applied in 650262f: the "height: 100% does nothing" phrasing was too absolute (percentage heights do resolve against a definite size). All four guidance spots now say it "doesn't help here — the column's height is auto" and position flexGrow="1" as the robust pattern, which matches the deep review's note on the same nuance.


Generated by Claude Code

@github-actions

Copy link
Copy Markdown
Contributor

Preview Deployment

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
skills/bestax-layout-scaffold/SKILL.md (2)

81-82: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Keep the checklist aligned with the Approach rule.

The Approach section also recommends Columns/Column for per-breakpoint layouts, but the checklist only mentions proportional layouts. Include “or per-breakpoint layouts” so those requests are not incorrectly routed to Grid/Cell.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/bestax-layout-scaffold/SKILL.md` around lines 81 - 82, Update the
checklist item describing when to use Columns/Column to include per-breakpoint
layouts alongside proportional side-by-side layouts, keeping it aligned with the
Approach rule and ensuring such requests are not directed to Grid/Cell.

39-44: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Clarify that Grid equal-height applies per row, not across the whole gallery. CSS Grid makes items in the same row match height, but different rows can still vary. If the intent is fully uniform card heights across multiple rows, call that out explicitly or point to the flex recipe instead.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/bestax-layout-scaffold/SKILL.md` around lines 39 - 44, Update the
Grid/Cell guidance to clarify that equal-height sizing applies only among items
in the same row; different rows may have different heights. Explicitly direct
readers needing uniform card heights across all gallery rows to use the existing
Columns/Column flex recipe instead.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@skills/bestax-layout-scaffold/SKILL.md`:
- Around line 81-82: Update the checklist item describing when to use
Columns/Column to include per-breakpoint layouts alongside proportional
side-by-side layouts, keeping it aligned with the Approach rule and ensuring
such requests are not directed to Grid/Cell.
- Around line 39-44: Update the Grid/Cell guidance to clarify that equal-height
sizing applies only among items in the same row; different rows may have
different heights. Explicitly direct readers needing uniform card heights across
all gallery rows to use the existing Columns/Column flex recipe instead.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 74220b2e-f7d0-4226-b78b-f97855acc8f9

📥 Commits

Reviewing files that changed from the base of the PR and between 2a077d6 and 650262f.

📒 Files selected for processing (4)
  • docs/docs/guides/library/columns.md
  • skills/bestax-layout-scaffold/SKILL.md
  • skills/bestax-layout-scaffold/references/archetypes.md
  • skills/bestax-layout-scaffold/references/layout-components.md
🚧 Files skipped from review as they are similar to previous changes (3)
  • docs/docs/guides/library/columns.md
  • skills/bestax-layout-scaffold/references/archetypes.md
  • skills/bestax-layout-scaffold/references/layout-components.md

CodeRabbit's two follow-ups: (1) checklist now says proportional OR
per-breakpoint, matching the approach rule; (2) the equal-heights-free
claim is scoped per row — each row's cells match its tallest. The
suggested redirect to the flex recipe for cross-row uniformity was
declined: flex lines stretch independently too, so both approaches are
row-level; the docs now say so explicitly.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Pohc8xLkdx4gwXkW3xd7up

Copy link
Copy Markdown
Owner Author

Both follow-up findings handled in 2fe014c:

  1. Checklist ↔ Approach alignment (fixed): the checklist item now reads "proportional or per-breakpoint side-by-side layout," matching the Approach rule.
  2. Per-row scope of equal heights (clarified — with one correction to the suggested remedy): the "equal heights for free" claims are now scoped per row ("each row's cells match its tallest") across the SKILL, reference, and both docs guides. The suggestion to point readers needing cross-row uniformity at the Columns flex recipe was declined as incorrect: flex lines stretch independently just like grid rows, so the flex recipe is also row-level. The docs now state explicitly that both approaches equalize per row — cross-row uniformity requires fixed heights, which the no-inline-style guidance deliberately doesn't encourage.

Generated by Claude Code

@github-actions

Copy link
Copy Markdown
Contributor

Preview Deployment

Preview URL: https://980a73d7.bestax.pages.dev

@allxsmith
allxsmith merged commit f3d3c9e into main Jul 14, 2026
10 checks passed
@allxsmith
allxsmith deleted the docs/196-equal-height branch July 14, 2026 23:26
@github-actions

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 5.6.2 🎉

The release is available on:

Your semantic-release bot 📦🚀

@github-actions

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 3.3.2 🎉

The release is available on:

Your semantic-release bot 📦🚀

@github-actions

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 1.0.0 🎉

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.

[Docs] Document equal-height cards: Grid/Cell exist but no skill mentions them; Columns/Column need flex helpers for equal height

2 participants