reviewing-devtools-prs

Workflow de revue de PR spécifique au dépôt DevTools, appliquant les directives de style DevTools et les modèles de revue courants. À utiliser lors de la revue de pull requests dans le…

npx skills add https://github.com/flutter/devtools --skill reviewing-devtools-prs

Reviewing DevTools Pull Requests

Extends reviewing-prs for pull requests in flutter/devtools. Follow reviewing-prs for GitHub CLI data retrieval and the strict user approval workflow.

References & Style Guidelines

Read and enforce:

  • Style Guide: styleguide.md (severity tags [MUST-FIX], [CONCERN], [NIT], zero-formatting policy, copyright headers, DRY rules, magic values)
  • Repository Constraints: AGENTS.md
  • Code Style: STYLE.md

Common Review Patterns

  1. Listener & Resource Disposals:

    • Ensure controller and notifier listeners use addAutoDisposeListener(...).
  2. Helper Widgets over Helper Methods:

    • Prefer small composable Widget classes over helper methods returning Widget (_buildFoo()).
  3. Reuse Shared Components & Test Helpers:

    • Use standard shared widgets (e.g. CenteredMessage) and test mocks (e.g. mockConnectedApp) instead of re-creating them inline.
  4. TODO Formatting:

    • Link TODOs to a GitHub issue or LDAP: // TODO(https://github.com/flutter/devtools/issues/<issue_number>): <description>.
  5. Async & Unawaited Futures:

    • Audit unawaited futures and suggest unawaited(...) or safeUnawaited(...) where appropriate.
  6. Feature Flags:

    • Default feature flags to false with explicit test expectations in feature_flags_test.dart.
  7. Test File Structure & PR Scope:

    • Place test fakes/helpers below main().
    • Ask authors to revert unrelated file changes or commented-out test code.
  8. Constant Scoping:

    • Keep single-use constants local to the component, but extract user-facing UI strings into shared constants when used across multiple places.
  9. Release Notes Scope (NEXT_RELEASE_NOTES.md):

    • Release notes are strictly for end-user facing changes (e.g. Inspector, Memory UI/UX). Internal tools (dt / devtools_tool), CI, and refactors are NOT user-facing.
    • Request removing release notes added for developer tools like dt, or suggest a * <Description>. [#<PR_NUMBER>](https://github.com/flutter/devtools/pull/<PR_NUMBER>) entry via adding-release-notes if a user-facing PR lacks one.

Plus de skills de flutter

dart-modern-features
flutter
Pour trouver des candidats à la modernisation :
flutter-fix-layout-issues
flutter
Corrige les erreurs de mise en page Flutter (débordements, contraintes illimitées) à l'aide des outils Dart et Flutter MCP. À utiliser pour résoudre les messages « RenderFlex overflowed », « Vertical…
adding-release-notes
flutter
Ajoute des descriptions de changements destinés aux utilisateurs dans les notes de version de DevTools. À utiliser pour documenter les améliorations, correctifs ou nouvelles fonctionnalités dans le fichier NEXT_RELEASE_NOTES.md.
dart-use-primary-constructors
flutter
Aider les utilisateurs à écrire des constructeurs principaux syntaxiquement et sémantiquement corrects en Dart, et migrer/utiliser la nouvelle syntaxe de constructeur, la syntaxe de point-virgule à corps vide,…
code-documentation
flutter
Guide pour rédiger une documentation de code efficace, incluant les docstrings, JSDoc, dartdoc et les commentaires d'implémentation. Utilisez cette compétence lors de l'écriture de nouveau code, de l'ajout…
api-review
flutter
Examine le code spécifié par rapport aux directives canoniques de conception d'API. Utilisez cette compétence lorsque l'utilisateur demande une revue d'API ou souhaite vérifier que le code respecte la conception d'API…
flutter-accessibility
flutter
Implémente les normes d'accessibilité WCAG 2 et EN 301 549 ainsi que les mises en page adaptatives dans les applications Flutter. Applique les annotations sémantiques, les tailles de cible tactile (48x48 dp minimum) et les ratios de contraste de texte (4,5:1 pour le petit texte, 3:1 pour le grand texte) sur les plateformes mobiles, web et de bureau. Fournit une logique décisionnelle pour l'initialisation de la sémantique web, l'encapsulation de widgets interactifs, le changement de mise en page basé sur la taille d'écran et la gestion des entrées clavier/souris. Inclut la gestion du parcours de focus via FocusTraversalGroup et...
flutter-accessibility-audit
flutter
Déclenche un scan d'accessibilité via le widget_inspector et ajoute automatiquement des widgets Semantics ou des étiquettes manquantes au code source.