reviewing-devtools-prs
bởi flutter
Quy trình rà soát pull request riêng cho kho lưu trữ DevTools, áp dụng các nguyên tắc về phong cách và mẫu rà soát phổ biến của DevTools. Sử dụng khi rà soát pull request trong…
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 (