# Below is a list of Flutter team members' GitHub handles who are
# suggested reviewers for contributions to this repository.
#
# These names are just suggestions. It is fine to have your changes
# reviewed by someone else.
#
# Use git ls-files '<pattern>' without a / prefix to see the list of matching files.

/CODEOWNERS @jmagman
/dev/ci/ @christopherfujino
/dev/prod_builders.json @caseyhillers @christopherfujino
/dev/try_builders.json @caseyhillers @christopherfujino
/packages/flutter_goldens @Piinks
/packages/flutter_goldens_client @Piinks
/packages/flutter_test/lib/src/_goldens_io.dart @Piinks
/packages/flutter_test/lib/src/_goldens_web.dart @Piinks
/packages/flutter_test/lib/src/goldens.dart @Piinks
/packages/flutter_tools/templates/module/ios/ @jmagman
/packages/flutter_tools/templates/**/Podfile* @jmagman
