genui-helper

oleh flutter

Keterampilan ini menyediakan alur kerja dan praktik terbaik yang spesifik untuk repositori 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.

Lebih banyak skill dari flutter

dart-modern-features
flutter
Untuk menemukan kandidat untuk modernisasi:
flutter-fix-layout-issues
flutter
Memperbaiki kesalahan tata letak Flutter (overflow, batasan tak terbatas) menggunakan Dart dan alat Flutter MCP. Gunakan saat menangani "RenderFlex overflowed", "Vertical…
adding-release-notes
flutter
Menambahkan deskripsi perubahan yang terlihat oleh pengguna ke catatan rilis DevTools. Gunakan saat mendokumentasikan perbaikan, perbaikan bug, atau fitur baru di file NEXT_RELEASE_NOTES.md.
reviewing-devtools-prs
flutter
Alur kerja peninjauan PR khusus repositori DevTools yang menerapkan pedoman gaya DevTools dan pola peninjauan umum. Gunakan saat meninjau pull request di…
dart-use-primary-constructors
flutter
Bantu pengguna menulis konstruktor utama yang benar secara sintaksis dan semantik dalam Dart, serta migrasi/menggunakan sintaks konstruktor baru, sintaks titik koma badan kosong,…
code-documentation
flutter
Panduan untuk menulis dokumentasi kode yang efektif, termasuk docstrings, JSDoc, dartdoc, dan komentar implementasi. Gunakan keterampilan ini saat menulis kode baru, menambahkan…
api-review
flutter
Meninjau kode yang ditentukan terhadap pedoman API Design kanonik. Gunakan skill ini saat pengguna meminta tinjauan API atau untuk memeriksa kode terhadap desain API…
flutter-accessibility
flutter
Menerapkan standar aksesibilitas WCAG 2 dan EN 301 549 serta tata letak adaptif di aplikasi Flutter. Memberlakukan anotasi semantik, ukuran target ketuk (minimal 48x48 dp), dan rasio kontras teks (4,5:1 untuk teks kecil, 3:1 untuk teks besar) di platform seluler, web, dan desktop. Menyediakan logika keputusan untuk inisialisasi semantik web, pembungkusan widget interaktif, peralihan tata letak berdasarkan ukuran layar, serta penanganan input keyboard/mouse. Mencakup manajemen traversal fokus melalui FocusTraversalGroup dan...