Use when working on accessibility, a11y, WCAG, ARIA, screen readers, keyboard nav, focus order, contrast, alt text, captions, reduced motion, or target sizes; not language/culture/device (see inclusive-design).
日本語の概要は準備中です。原文の説明を表示しています。
Use when building any Flutter screen or component to choose responsive Row, Column, Expanded, Flexible, and Spacer layouts before fixed-size or coordinate-based alternatives.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Build responsive Flutter layouts from the constraint system outward. Prefer simple flex composition and introduce fixed dimensions or overlays only when the design requires them for a concrete purpose.
Column and horizontal groups with Row.build method.Expanded, Flexible, and Spacer to distribute bounded free space.Column for vertical flow and Row for horizontal flow.mainAxisAlignment, crossAxisAlignment, and mainAxisSize.Expanded when a child must fill its allocated share of remaining main-axis space.Flexible when a child may use less than its allocated share.flex only to express proportional allocation. A child with flex: 2 receives twice the free-space share of a sibling with flex: 1.Spacer for flexible separation between siblings. Use SizedBox for deliberate, fixed gaps.Expanded or Flexible inside a Row when it must yield space to siblings.ListView or another scrollable when vertical content can exceed the viewport; Column does not scroll.Wrap when horizontal children should move onto another run instead of shrinking or overflowing.LayoutBuilder, breakpoints, or adaptive widgets when the composition itself must change with available space.SafeArea when content must avoid system intrusions.Avoid these as default layout mechanisms:
Stack with hardcoded Positioned coordinatesContainer, SizedBox, or ConstrainedBox with hardcoded screen-like width or heightUse them when they serve a concrete purpose, such as:
State the purpose in the code structure or a brief comment when it is not obvious.
Expanded and Flexible only under Row, Column, or Flex.Expanded or Flexible, or establish a meaningful finite constraint.Column that needs the outer column's remaining height by wrapping the inner column in Expanded.Padding(
padding: const EdgeInsets.all(16),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
const Header(),
const SizedBox(height: 16),
Expanded(
child: Row(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
const Flexible(flex: 2, child: PrimaryContent()),
const SizedBox(width: 16),
const Flexible(child: SecondaryContent()),
],
),
),
const SizedBox(height: 16),
const Actions(),
],
),
)
Change this composition at a breakpoint if the horizontal content cannot remain usable on a narrow screen; do not merely squeeze it.
Inspect these diagrams when decomposing a mockup into nested flex layouts:
Row containing a vertical content Column and an image.Row and Column widgets.Use the diagrams as structural references, not as fixed pixel templates.
Stack or Positioned usages have a concrete design reason.まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Use when working on accessibility, a11y, WCAG, ARIA, screen readers, keyboard nav, focus order, contrast, alt text, captions, reduced motion, or target sizes; not language/culture/device (see inclusive-design).
日本語の概要は準備中です。原文の説明を表示しています。
Use when creating a feature, designing folder structure, adding repositories/services/view models, wiring dependency injection, or deciding which layer owns logic.
日本語の概要は準備中です。原文の説明を表示しています。
Use when creating a Cubit or Bloc, modeling state with sealed classes or status enums, wiring BlocBuilder/BlocListener/BlocProvider, writing bloc tests, or choosing between Cubit and Bloc.
日本語の概要は準備中です。原文の説明を表示しています。
Use when asked to review a PR, MR, branch, or diff, audit changed files, or check code quality.
日本語の概要は準備中です。原文の説明を表示しています。
Use when writing switch statements, refactoring if-else chains, creating data classes, choosing records vs classes, destructuring values, or modernizing pre-Dart-3 code.
日本語の概要は準備中です。原文の説明を表示しています。
Use when building AI agents in Dart, implementing Genkit flows or tools, integrating LLMs into Dart or Flutter applications, or using Genkit Dart plugins.
日本語の概要は準備中です。原文の説明を表示しています。