genui-helper

от flutter

Этот навык предоставляет рабочие процессы и лучшие практики, специфичные для репозитория genui.

npx skills add https://github.com/flutter/genui --skill genui-helper

GenUI Development Helper

This skill provides workflows and best practices specific to the genui repository.

Workflows

1. Running Tests and Fixes

The repository uses a custom tool to run tests, apply fixes, and format code before committing. It should typically only be run before committing, since it is inefficient and slow to run it on every change.

It will run dart fix --apply, dart format, and flutter test on all packages in the repository.

Command:

dart run tool/test_and_fix/bin/test_and_fix.dart

When to use:

  • Before committing changes, to ensure project health.
  • Instead of running flutter test manually for each project in the repo.

2. Creating a New Component in the genui package

When creating a new UI component in genui:

  1. Location: Place component files in packages/genui/lib/src/components/.
  2. Inheritance: Components must extend UiComponent.
  3. A2UI Compliance: Ensure the component matches the A2UI specification.
  4. Documentation: Follow strict Dart documentation standards.

3. Updating Documentation

  • Documentation source of truth is in docs/.
  • Use mkdocs context if mentioned, but primarily edit the markdown files directly.
  • Ensure strict adherence to "Natural Writing" standards (no AI-isms).

Key Constants & Patterns

  • Current A2UI Version: v0.9
  • State Management: Uses SurfaceController from genui.

References

Code visibility

Make every code element as private as it can be. If tests need access, use the language's test-visibility mechanism instead of making it public. For example, in Dart, keep the _ prefix and annotate with @visibleForTesting.

Больше skills от flutter

dart-modern-features
flutter
Для поиска кандидатов на модернизацию:
flutter-fix-layout-issues
flutter
Исправляет ошибки макета Flutter (переполнения, неограниченные ограничения) с помощью Dart и инструментов Flutter MCP. Используйте при устранении «RenderFlex overflowed», «Vertical…
adding-release-notes
flutter
Добавляет описания изменений, видимых пользователю, в примечания к выпуску DevTools. Используйте при документировании улучшений, исправлений или новых функций в файле NEXT_RELEASE_NOTES.md.
reviewing-devtools-prs
flutter
Специфичный для репозитория DevTools процесс ревью PR, обеспечивающий соблюдение стилевых рекомендаций DevTools и общих паттернов ревью. Используйте при ревью пул-реквестов в…
dart-use-primary-constructors
flutter
Помогите пользователям писать синтаксически и семантически корректные первичные конструкторы в Dart, а также мигрировать и использовать новый синтаксис конструкторов, синтаксис с пустым телом и точкой с запятой,…
code-documentation
flutter
Руководство по написанию эффективной документации кода, включая docstrings, JSDoc, dartdoc и комментарии к реализации. Используйте этот навык при написании нового кода, добавлении…
api-review
flutter
Проверяет указанный код на соответствие каноническим рекомендациям по проектированию API. Используйте этот навык, когда пользователь запрашивает ревью API или проверку кода на соответствие API design…
flutter-accessibility
flutter
We need to translate the given text from English to Russian, preserving the name "flutter-accessibility" if it appears. The text is a description of an agent skill. The instruction says: "Translate only the text inside <text>. Do not include the name unless it appears in the source text." The name "flutter-accessibility" does not appear in the source text provided. So we just translate the text. The text: "Implement WCAG 2 and EN 301 549 accessibility standards and adaptive layouts in Flutter apps. Enforces semantic annotations, tap target sizes (48x48 dp minimum), and text contrast ratios (4.5:1 for small text, 3:1 for large) across mobile, web, and desktop platforms Provides decision logic for web semantics initialization, interactive widget wrapping, screen-size-based layout switching, and keyboard/mouse input handling Includes focus traversal management via FocusTraversalGroup and..." We need to translate accurately, preserving technical terms like WCAG 2, EN 301 549, Flutter, dp, ratios, FocusTraversalGroup,