reviewing-devtools-prs
作成者: flutter
DevTools repository-specific PR review workflow enforcing DevTools style guidelines and common review patterns. Use when reviewing pull requests in the…
npx skills add https://github.com/flutter/devtools --skill reviewing-devtools-prsReviewing 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
-
Listener & Resource Disposals:
- Ensure controller and notifier listeners use
addAutoDisposeListener(...).
- Ensure controller and notifier listeners use
-
Helper Widgets over Helper Methods:
- Prefer small composable
Widgetclasses over helper methods returningWidget(_buildFoo()).
- Prefer small composable
-
Reuse Shared Components & Test Helpers:
- Use standard shared widgets (e.g.
CenteredMessage) and test mocks (e.g.mockConnectedApp) instead of re-creating them inline.
- Use standard shared widgets (e.g.
-
TODO Formatting:
- Link TODOs to a GitHub issue or LDAP:
// TODO(https://github.com/flutter/devtools/issues/<issue_number>): <description>.
- Link TODOs to a GitHub issue or LDAP:
-
Async & Unawaited Futures:
- Audit unawaited futures and suggest
unawaited(...)orsafeUnawaited(...)where appropriate.
- Audit unawaited futures and suggest
-
Feature Flags:
- Default feature flags to
falsewith explicit test expectations infeature_flags_test.dart.
- Default feature flags to
-
Test File Structure & PR Scope:
- Place test fakes/helpers below
main(). - Ask authors to revert unrelated file changes or commented-out test code.
- Place test fakes/helpers below
-
Constant Scoping:
- Keep single-use constants local to the component, but extract user-facing UI strings into shared constants when used across multiple places.
-
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.
- Release notes are strictly for end-user facing changes (e.g. Inspector, Memory UI/UX). Internal tools (