add 'has quick-fix' checkboxes to the package's readme (dart-lang/lints#131)

diff --git a/pkgs/lints/CHANGELOG.md b/pkgs/lints/CHANGELOG.md
index b1c323a..9d8d3ee 100644
--- a/pkgs/lints/CHANGELOG.md
+++ b/pkgs/lints/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 2.1.2-wip
+
+- Add 'has quick-fix' checkboxes to the package's readme.
+
 ## 2.1.1
 
 - Added the `analysis` and `lints` topics to the pubspec file.
diff --git a/pkgs/lints/README.md b/pkgs/lints/README.md
index d661b92..0edf5cd 100644
--- a/pkgs/lints/README.md
+++ b/pkgs/lints/README.md
@@ -100,36 +100,36 @@
 `include: package:lints/core.yaml`.
 
 <!-- core -->
-| Lint Rules | Description |
-| :--------- | :---------- |
-| [`avoid_empty_else`](https://dart.dev/lints/avoid_empty_else) | Avoid empty else statements. |
-| [`avoid_relative_lib_imports`](https://dart.dev/lints/avoid_relative_lib_imports) | Avoid relative imports for files in `lib/`. |
-| [`avoid_shadowing_type_parameters`](https://dart.dev/lints/avoid_shadowing_type_parameters) | Avoid shadowing type parameters. |
-| [`avoid_types_as_parameter_names`](https://dart.dev/lints/avoid_types_as_parameter_names) | Avoid types as parameter names. |
-| [`await_only_futures`](https://dart.dev/lints/await_only_futures) | Await only futures. |
-| [`camel_case_extensions`](https://dart.dev/lints/camel_case_extensions) | Name extensions using UpperCamelCase. |
-| [`camel_case_types`](https://dart.dev/lints/camel_case_types) | Name types using UpperCamelCase. |
-| [`curly_braces_in_flow_control_structures`](https://dart.dev/lints/curly_braces_in_flow_control_structures) | DO use curly braces for all flow control structures. |
-| [`depend_on_referenced_packages`](https://dart.dev/lints/depend_on_referenced_packages) | Depend on referenced packages. |
-| [`empty_catches`](https://dart.dev/lints/empty_catches) | Avoid empty catch blocks. |
-| [`file_names`](https://dart.dev/lints/file_names) | Name source files using `lowercase_with_underscores`. |
-| [`hash_and_equals`](https://dart.dev/lints/hash_and_equals) | Always override `hashCode` if overriding `==`. |
-| [`iterable_contains_unrelated_type`](https://dart.dev/lints/iterable_contains_unrelated_type) | Invocation of Iterable<E>.contains with references of unrelated types. |
-| [`list_remove_unrelated_type`](https://dart.dev/lints/list_remove_unrelated_type) | Invocation of `remove` with references of unrelated types. |
-| [`no_duplicate_case_values`](https://dart.dev/lints/no_duplicate_case_values) | Don't use more than one case with same value. |
-| [`non_constant_identifier_names`](https://dart.dev/lints/non_constant_identifier_names) | Name non-constant identifiers using lowerCamelCase. |
-| [`null_check_on_nullable_type_parameter`](https://dart.dev/lints/null_check_on_nullable_type_parameter) | Don't use null check on a potentially nullable type parameter. |
-| [`package_prefixed_library_names`](https://dart.dev/lints/package_prefixed_library_names) | Prefix library names with the package name and a dot-separated path. |
-| [`prefer_generic_function_type_aliases`](https://dart.dev/lints/prefer_generic_function_type_aliases) | Prefer generic function type aliases. |
-| [`prefer_is_empty`](https://dart.dev/lints/prefer_is_empty) | Use `isEmpty` for Iterables and Maps. |
-| [`prefer_is_not_empty`](https://dart.dev/lints/prefer_is_not_empty) | Use `isNotEmpty` for Iterables and Maps. |
-| [`prefer_iterable_whereType`](https://dart.dev/lints/prefer_iterable_whereType) | Prefer to use whereType on iterable. |
-| [`prefer_typing_uninitialized_variables`](https://dart.dev/lints/prefer_typing_uninitialized_variables) | Prefer typing uninitialized variables and fields. |
-| [`provide_deprecation_message`](https://dart.dev/lints/provide_deprecation_message) | Provide a deprecation message, via @Deprecated("message"). |
-| [`unnecessary_overrides`](https://dart.dev/lints/unnecessary_overrides) | Don't override a method to do a super method invocation with the same parameters. |
-| [`unrelated_type_equality_checks`](https://dart.dev/lints/unrelated_type_equality_checks) | Equality operator `==` invocation with references of unrelated types. |
-| [`valid_regexps`](https://dart.dev/lints/valid_regexps) | Use valid regular expression syntax. |
-| [`void_checks`](https://dart.dev/lints/void_checks) | Don't assign to void. |
+| Lint Rules | Description | Fix |
+| :--------- | :---------- | --- |
+| [`avoid_empty_else`](https://dart.dev/lints/avoid_empty_else) | Avoid empty else statements. | ✅ |
+| [`avoid_relative_lib_imports`](https://dart.dev/lints/avoid_relative_lib_imports) | Avoid relative imports for files in `lib/`. | ✅ |
+| [`avoid_shadowing_type_parameters`](https://dart.dev/lints/avoid_shadowing_type_parameters) | Avoid shadowing type parameters. |  |
+| [`avoid_types_as_parameter_names`](https://dart.dev/lints/avoid_types_as_parameter_names) | Avoid types as parameter names. | ✅ |
+| [`await_only_futures`](https://dart.dev/lints/await_only_futures) | Await only futures. | ✅ |
+| [`camel_case_extensions`](https://dart.dev/lints/camel_case_extensions) | Name extensions using UpperCamelCase. |  |
+| [`camel_case_types`](https://dart.dev/lints/camel_case_types) | Name types using UpperCamelCase. |  |
+| [`curly_braces_in_flow_control_structures`](https://dart.dev/lints/curly_braces_in_flow_control_structures) | DO use curly braces for all flow control structures. | ✅ |
+| [`depend_on_referenced_packages`](https://dart.dev/lints/depend_on_referenced_packages) | Depend on referenced packages. |  |
+| [`empty_catches`](https://dart.dev/lints/empty_catches) | Avoid empty catch blocks. | ✅ |
+| [`file_names`](https://dart.dev/lints/file_names) | Name source files using `lowercase_with_underscores`. |  |
+| [`hash_and_equals`](https://dart.dev/lints/hash_and_equals) | Always override `hashCode` if overriding `==`. | ✅ |
+| [`iterable_contains_unrelated_type`](https://dart.dev/lints/iterable_contains_unrelated_type) | Invocation of Iterable<E>.contains with references of unrelated types. |  |
+| [`list_remove_unrelated_type`](https://dart.dev/lints/list_remove_unrelated_type) | Invocation of `remove` with references of unrelated types. |  |
+| [`no_duplicate_case_values`](https://dart.dev/lints/no_duplicate_case_values) | Don't use more than one case with same value. | ✅ |
+| [`non_constant_identifier_names`](https://dart.dev/lints/non_constant_identifier_names) | Name non-constant identifiers using lowerCamelCase. | ✅ |
+| [`null_check_on_nullable_type_parameter`](https://dart.dev/lints/null_check_on_nullable_type_parameter) | Don't use null check on a potentially nullable type parameter. | ✅ |
+| [`package_prefixed_library_names`](https://dart.dev/lints/package_prefixed_library_names) | Prefix library names with the package name and a dot-separated path. |  |
+| [`prefer_generic_function_type_aliases`](https://dart.dev/lints/prefer_generic_function_type_aliases) | Prefer generic function type aliases. | ✅ |
+| [`prefer_is_empty`](https://dart.dev/lints/prefer_is_empty) | Use `isEmpty` for Iterables and Maps. | ✅ |
+| [`prefer_is_not_empty`](https://dart.dev/lints/prefer_is_not_empty) | Use `isNotEmpty` for Iterables and Maps. | ✅ |
+| [`prefer_iterable_whereType`](https://dart.dev/lints/prefer_iterable_whereType) | Prefer to use whereType on iterable. | ✅ |
+| [`prefer_typing_uninitialized_variables`](https://dart.dev/lints/prefer_typing_uninitialized_variables) | Prefer typing uninitialized variables and fields. | ✅ |
+| [`provide_deprecation_message`](https://dart.dev/lints/provide_deprecation_message) | Provide a deprecation message, via @Deprecated("message"). |  |
+| [`unnecessary_overrides`](https://dart.dev/lints/unnecessary_overrides) | Don't override a method to do a super method invocation with the same parameters. | ✅ |
+| [`unrelated_type_equality_checks`](https://dart.dev/lints/unrelated_type_equality_checks) | Equality operator `==` invocation with references of unrelated types. |  |
+| [`valid_regexps`](https://dart.dev/lints/valid_regexps) | Use valid regular expression syntax. |  |
+| [`void_checks`](https://dart.dev/lints/void_checks) | Don't assign to void. |  |
 <!-- core -->
 
 ### Recommended lints
@@ -138,63 +138,63 @@
 `include: package:lints/recommended.yaml`.
 
 <!-- recommended -->
-| Lint Rules | Description |
-| :--------- | :---------- |
-| [`annotate_overrides`](https://dart.dev/lints/annotate_overrides) | Annotate overridden members. |
-| [`avoid_function_literals_in_foreach_calls`](https://dart.dev/lints/avoid_function_literals_in_foreach_calls) | Avoid using `forEach` with a function literal. |
-| [`avoid_init_to_null`](https://dart.dev/lints/avoid_init_to_null) | Don't explicitly initialize variables to null. |
-| [`avoid_null_checks_in_equality_operators`](https://dart.dev/lints/avoid_null_checks_in_equality_operators) | Don't check for null in custom == operators. |
-| [`avoid_renaming_method_parameters`](https://dart.dev/lints/avoid_renaming_method_parameters) | Don't rename parameters of overridden methods. |
-| [`avoid_return_types_on_setters`](https://dart.dev/lints/avoid_return_types_on_setters) | Avoid return types on setters. |
-| [`avoid_returning_null_for_void`](https://dart.dev/lints/avoid_returning_null_for_void) | Avoid returning null for void. |
-| [`avoid_single_cascade_in_expression_statements`](https://dart.dev/lints/avoid_single_cascade_in_expression_statements) | Avoid single cascade in expression statements. |
-| [`constant_identifier_names`](https://dart.dev/lints/constant_identifier_names) | Prefer using lowerCamelCase for constant names. |
-| [`control_flow_in_finally`](https://dart.dev/lints/control_flow_in_finally) | Avoid control flow in finally blocks. |
-| [`empty_constructor_bodies`](https://dart.dev/lints/empty_constructor_bodies) | Use `;` instead of `{}` for empty constructor bodies. |
-| [`empty_statements`](https://dart.dev/lints/empty_statements) | Avoid empty statements. |
-| [`exhaustive_cases`](https://dart.dev/lints/exhaustive_cases) | Define case clauses for all constants in enum-like classes. |
-| [`implementation_imports`](https://dart.dev/lints/implementation_imports) | Don't import implementation files from another package. |
-| [`library_names`](https://dart.dev/lints/library_names) | Name libraries using `lowercase_with_underscores`. |
-| [`library_prefixes`](https://dart.dev/lints/library_prefixes) | Use `lowercase_with_underscores` when specifying a library prefix. |
-| [`library_private_types_in_public_api`](https://dart.dev/lints/library_private_types_in_public_api) | Avoid using private types in public APIs. |
-| [`no_leading_underscores_for_library_prefixes`](https://dart.dev/lints/no_leading_underscores_for_library_prefixes) | Avoid leading underscores for library prefixes. |
-| [`no_leading_underscores_for_local_identifiers`](https://dart.dev/lints/no_leading_underscores_for_local_identifiers) | Avoid leading underscores for local identifiers. |
-| [`null_closures`](https://dart.dev/lints/null_closures) | Do not pass `null` as an argument where a closure is expected. |
-| [`overridden_fields`](https://dart.dev/lints/overridden_fields) | Don't override fields. |
-| [`package_names`](https://dart.dev/lints/package_names) | Use `lowercase_with_underscores` for package names. |
-| [`prefer_adjacent_string_concatenation`](https://dart.dev/lints/prefer_adjacent_string_concatenation) | Use adjacent strings to concatenate string literals. |
-| [`prefer_collection_literals`](https://dart.dev/lints/prefer_collection_literals) | Use collection literals when possible. |
-| [`prefer_conditional_assignment`](https://dart.dev/lints/prefer_conditional_assignment) | Prefer using `??=` over testing for null. |
-| [`prefer_contains`](https://dart.dev/lints/prefer_contains) | Use contains for `List` and `String` instances. |
-| [`prefer_equal_for_default_values`](https://dart.dev/lints/prefer_equal_for_default_values) | Use `=` to separate a named parameter from its default value. |
-| [`prefer_final_fields`](https://dart.dev/lints/prefer_final_fields) | Private field could be final. |
-| [`prefer_for_elements_to_map_fromIterable`](https://dart.dev/lints/prefer_for_elements_to_map_fromIterable) | Prefer 'for' elements when building maps from iterables. |
-| [`prefer_function_declarations_over_variables`](https://dart.dev/lints/prefer_function_declarations_over_variables) | Use a function declaration to bind a function to a name. |
-| [`prefer_if_null_operators`](https://dart.dev/lints/prefer_if_null_operators) | Prefer using if null operators. |
-| [`prefer_initializing_formals`](https://dart.dev/lints/prefer_initializing_formals) | Use initializing formals when possible. |
-| [`prefer_inlined_adds`](https://dart.dev/lints/prefer_inlined_adds) | Inline list item declarations where possible. |
-| [`prefer_interpolation_to_compose_strings`](https://dart.dev/lints/prefer_interpolation_to_compose_strings) | Use interpolation to compose strings and values. |
-| [`prefer_is_not_operator`](https://dart.dev/lints/prefer_is_not_operator) | Prefer is! operator. |
-| [`prefer_null_aware_operators`](https://dart.dev/lints/prefer_null_aware_operators) | Prefer using null aware operators. |
-| [`prefer_spread_collections`](https://dart.dev/lints/prefer_spread_collections) | Use spread collections when possible. |
-| [`prefer_void_to_null`](https://dart.dev/lints/prefer_void_to_null) | Don't use the Null type, unless you are positive that you don't want void. |
-| [`recursive_getters`](https://dart.dev/lints/recursive_getters) | Property getter recursively returns itself. |
-| [`slash_for_doc_comments`](https://dart.dev/lints/slash_for_doc_comments) | Prefer using /// for doc comments. |
-| [`type_init_formals`](https://dart.dev/lints/type_init_formals) | Don't type annotate initializing formals. |
-| [`unnecessary_brace_in_string_interps`](https://dart.dev/lints/unnecessary_brace_in_string_interps) | Avoid using braces in interpolation when not needed. |
-| [`unnecessary_const`](https://dart.dev/lints/unnecessary_const) | Avoid const keyword. |
-| [`unnecessary_constructor_name`](https://dart.dev/lints/unnecessary_constructor_name) | Unnecessary `.new` constructor name. |
-| [`unnecessary_getters_setters`](https://dart.dev/lints/unnecessary_getters_setters) | Avoid wrapping fields in getters and setters just to be "safe". |
-| [`unnecessary_late`](https://dart.dev/lints/unnecessary_late) | Don't specify the `late` modifier when it is not needed. |
-| [`unnecessary_new`](https://dart.dev/lints/unnecessary_new) | Unnecessary new keyword. |
-| [`unnecessary_null_aware_assignments`](https://dart.dev/lints/unnecessary_null_aware_assignments) | Avoid null in null-aware assignment. |
-| [`unnecessary_null_in_if_null_operators`](https://dart.dev/lints/unnecessary_null_in_if_null_operators) | Avoid using `null` in `if null` operators. |
-| [`unnecessary_nullable_for_final_variable_declarations`](https://dart.dev/lints/unnecessary_nullable_for_final_variable_declarations) | Use a non-nullable type for a final variable initialized with a non-nullable value. |
-| [`unnecessary_string_escapes`](https://dart.dev/lints/unnecessary_string_escapes) | Remove unnecessary backslashes in strings. |
-| [`unnecessary_string_interpolations`](https://dart.dev/lints/unnecessary_string_interpolations) | Unnecessary string interpolation. |
-| [`unnecessary_this`](https://dart.dev/lints/unnecessary_this) | Don't access members with `this` unless avoiding shadowing. |
-| [`use_function_type_syntax_for_parameters`](https://dart.dev/lints/use_function_type_syntax_for_parameters) | Use generic function type syntax for parameters. |
-| [`use_rethrow_when_possible`](https://dart.dev/lints/use_rethrow_when_possible) | Use rethrow to rethrow a caught exception. |
+| Lint Rules | Description | Fix |
+| :--------- | :---------- | --- |
+| [`annotate_overrides`](https://dart.dev/lints/annotate_overrides) | Annotate overridden members. | ✅ |
+| [`avoid_function_literals_in_foreach_calls`](https://dart.dev/lints/avoid_function_literals_in_foreach_calls) | Avoid using `forEach` with a function literal. | ✅ |
+| [`avoid_init_to_null`](https://dart.dev/lints/avoid_init_to_null) | Don't explicitly initialize variables to null. | ✅ |
+| [`avoid_null_checks_in_equality_operators`](https://dart.dev/lints/avoid_null_checks_in_equality_operators) | Don't check for null in custom == operators. | ✅ |
+| [`avoid_renaming_method_parameters`](https://dart.dev/lints/avoid_renaming_method_parameters) | Don't rename parameters of overridden methods. | ✅ |
+| [`avoid_return_types_on_setters`](https://dart.dev/lints/avoid_return_types_on_setters) | Avoid return types on setters. | ✅ |
+| [`avoid_returning_null_for_void`](https://dart.dev/lints/avoid_returning_null_for_void) | Avoid returning null for void. | ✅ |
+| [`avoid_single_cascade_in_expression_statements`](https://dart.dev/lints/avoid_single_cascade_in_expression_statements) | Avoid single cascade in expression statements. | ✅ |
+| [`constant_identifier_names`](https://dart.dev/lints/constant_identifier_names) | Prefer using lowerCamelCase for constant names. | ✅ |
+| [`control_flow_in_finally`](https://dart.dev/lints/control_flow_in_finally) | Avoid control flow in finally blocks. |  |
+| [`empty_constructor_bodies`](https://dart.dev/lints/empty_constructor_bodies) | Use `;` instead of `{}` for empty constructor bodies. | ✅ |
+| [`empty_statements`](https://dart.dev/lints/empty_statements) | Avoid empty statements. | ✅ |
+| [`exhaustive_cases`](https://dart.dev/lints/exhaustive_cases) | Define case clauses for all constants in enum-like classes. | ✅ |
+| [`implementation_imports`](https://dart.dev/lints/implementation_imports) | Don't import implementation files from another package. |  |
+| [`library_names`](https://dart.dev/lints/library_names) | Name libraries using `lowercase_with_underscores`. |  |
+| [`library_prefixes`](https://dart.dev/lints/library_prefixes) | Use `lowercase_with_underscores` when specifying a library prefix. |  |
+| [`library_private_types_in_public_api`](https://dart.dev/lints/library_private_types_in_public_api) | Avoid using private types in public APIs. |  |
+| [`no_leading_underscores_for_library_prefixes`](https://dart.dev/lints/no_leading_underscores_for_library_prefixes) | Avoid leading underscores for library prefixes. | ✅ |
+| [`no_leading_underscores_for_local_identifiers`](https://dart.dev/lints/no_leading_underscores_for_local_identifiers) | Avoid leading underscores for local identifiers. | ✅ |
+| [`null_closures`](https://dart.dev/lints/null_closures) | Do not pass `null` as an argument where a closure is expected. | ✅ |
+| [`overridden_fields`](https://dart.dev/lints/overridden_fields) | Don't override fields. |  |
+| [`package_names`](https://dart.dev/lints/package_names) | Use `lowercase_with_underscores` for package names. |  |
+| [`prefer_adjacent_string_concatenation`](https://dart.dev/lints/prefer_adjacent_string_concatenation) | Use adjacent strings to concatenate string literals. | ✅ |
+| [`prefer_collection_literals`](https://dart.dev/lints/prefer_collection_literals) | Use collection literals when possible. | ✅ |
+| [`prefer_conditional_assignment`](https://dart.dev/lints/prefer_conditional_assignment) | Prefer using `??=` over testing for null. | ✅ |
+| [`prefer_contains`](https://dart.dev/lints/prefer_contains) | Use contains for `List` and `String` instances. | ✅ |
+| [`prefer_equal_for_default_values`](https://dart.dev/lints/prefer_equal_for_default_values) | Use `=` to separate a named parameter from its default value. |  |
+| [`prefer_final_fields`](https://dart.dev/lints/prefer_final_fields) | Private field could be final. | ✅ |
+| [`prefer_for_elements_to_map_fromIterable`](https://dart.dev/lints/prefer_for_elements_to_map_fromIterable) | Prefer 'for' elements when building maps from iterables. | ✅ |
+| [`prefer_function_declarations_over_variables`](https://dart.dev/lints/prefer_function_declarations_over_variables) | Use a function declaration to bind a function to a name. | ✅ |
+| [`prefer_if_null_operators`](https://dart.dev/lints/prefer_if_null_operators) | Prefer using if null operators. | ✅ |
+| [`prefer_initializing_formals`](https://dart.dev/lints/prefer_initializing_formals) | Use initializing formals when possible. | ✅ |
+| [`prefer_inlined_adds`](https://dart.dev/lints/prefer_inlined_adds) | Inline list item declarations where possible. | ✅ |
+| [`prefer_interpolation_to_compose_strings`](https://dart.dev/lints/prefer_interpolation_to_compose_strings) | Use interpolation to compose strings and values. | ✅ |
+| [`prefer_is_not_operator`](https://dart.dev/lints/prefer_is_not_operator) | Prefer is! operator. | ✅ |
+| [`prefer_null_aware_operators`](https://dart.dev/lints/prefer_null_aware_operators) | Prefer using null aware operators. | ✅ |
+| [`prefer_spread_collections`](https://dart.dev/lints/prefer_spread_collections) | Use spread collections when possible. | ✅ |
+| [`prefer_void_to_null`](https://dart.dev/lints/prefer_void_to_null) | Don't use the Null type, unless you are positive that you don't want void. | ✅ |
+| [`recursive_getters`](https://dart.dev/lints/recursive_getters) | Property getter recursively returns itself. |  |
+| [`slash_for_doc_comments`](https://dart.dev/lints/slash_for_doc_comments) | Prefer using /// for doc comments. | ✅ |
+| [`type_init_formals`](https://dart.dev/lints/type_init_formals) | Don't type annotate initializing formals. | ✅ |
+| [`unnecessary_brace_in_string_interps`](https://dart.dev/lints/unnecessary_brace_in_string_interps) | Avoid using braces in interpolation when not needed. | ✅ |
+| [`unnecessary_const`](https://dart.dev/lints/unnecessary_const) | Avoid const keyword. | ✅ |
+| [`unnecessary_constructor_name`](https://dart.dev/lints/unnecessary_constructor_name) | Unnecessary `.new` constructor name. | ✅ |
+| [`unnecessary_getters_setters`](https://dart.dev/lints/unnecessary_getters_setters) | Avoid wrapping fields in getters and setters just to be "safe". | ✅ |
+| [`unnecessary_late`](https://dart.dev/lints/unnecessary_late) | Don't specify the `late` modifier when it is not needed. | ✅ |
+| [`unnecessary_new`](https://dart.dev/lints/unnecessary_new) | Unnecessary new keyword. | ✅ |
+| [`unnecessary_null_aware_assignments`](https://dart.dev/lints/unnecessary_null_aware_assignments) | Avoid null in null-aware assignment. | ✅ |
+| [`unnecessary_null_in_if_null_operators`](https://dart.dev/lints/unnecessary_null_in_if_null_operators) | Avoid using `null` in `if null` operators. | ✅ |
+| [`unnecessary_nullable_for_final_variable_declarations`](https://dart.dev/lints/unnecessary_nullable_for_final_variable_declarations) | Use a non-nullable type for a final variable initialized with a non-nullable value. | ✅ |
+| [`unnecessary_string_escapes`](https://dart.dev/lints/unnecessary_string_escapes) | Remove unnecessary backslashes in strings. | ✅ |
+| [`unnecessary_string_interpolations`](https://dart.dev/lints/unnecessary_string_interpolations) | Unnecessary string interpolation. | ✅ |
+| [`unnecessary_this`](https://dart.dev/lints/unnecessary_this) | Don't access members with `this` unless avoiding shadowing. | ✅ |
+| [`use_function_type_syntax_for_parameters`](https://dart.dev/lints/use_function_type_syntax_for_parameters) | Use generic function type syntax for parameters. | ✅ |
+| [`use_rethrow_when_possible`](https://dart.dev/lints/use_rethrow_when_possible) | Use rethrow to rethrow a caught exception. | ✅ |
 <!-- recommended -->
 
 [dart create]: https://dart.dev/tools/dart-tool
diff --git a/pkgs/lints/pubspec.yaml b/pkgs/lints/pubspec.yaml
index 1f79b0f..121dbd6 100644
--- a/pkgs/lints/pubspec.yaml
+++ b/pkgs/lints/pubspec.yaml
@@ -1,5 +1,5 @@
 name: lints
-version: 2.1.1
+version: 2.1.2-wip
 description: >
   Official Dart lint rules. Defines the 'core' and 'recommended' set of lints
   suggested by the Dart team.
diff --git a/pkgs/lints/tool/gen_docs.dart b/pkgs/lints/tool/gen_docs.dart
index 2a554c8..5d25efc 100644
--- a/pkgs/lints/tool/gen_docs.dart
+++ b/pkgs/lints/tool/gen_docs.dart
@@ -61,7 +61,7 @@
     }
   } else {
     // Re-save rules.json.
-    const retainKeys = {'name', 'description'};
+    const retainKeys = {'name', 'description', 'fixStatus'};
     for (var rule in rulesJson) {
       rule.removeWhere((key, value) => !retainKeys.contains(key));
     }
@@ -84,23 +84,23 @@
   rules.sort();
 
   final lines = [
-    '| Lint Rules | Description |',
-    '| :--------- | :---------- |',
+    '| Lint Rules | Description | Fix |',
+    '| :--------- | :---------- | --- |',
     ...rules.map((rule) {
       final ruleMeta =
           lintMeta.firstWhereOrNull((meta) => meta['name'] == rule);
 
       if (ruleMeta == null) {
         print('rules.json data for rule \'$rule\' not found.');
-        print(
-          'Update lib/rules.json from '
-          'https://github.com/dart-lang/linter/blob/gh-pages/lints/machine/rules.json.',
-        );
+        print('Update lib/rules.json from '
+            'https://dart-lang.github.io/linter/lints/machine/rules.json.');
         exit(1);
       }
       final description = ruleMeta['description'] as String?;
+      final hasFix = ruleMeta['fixStatus'] == 'hasFix';
+      final fixDesc = hasFix ? '✅' : '';
 
-      return '| [`$rule`](https://dart.dev/lints/$rule) | $description |';
+      return '| [`$rule`](https://dart.dev/lints/$rule) | $description | $fixDesc |';
     }),
   ];
 
diff --git a/pkgs/lints/tool/rules.json b/pkgs/lints/tool/rules.json
index b70a735..c96bd46 100644
--- a/pkgs/lints/tool/rules.json
+++ b/pkgs/lints/tool/rules.json
@@ -1,910 +1,1137 @@
 [
   {
     "name": "always_use_package_imports",
-    "description": "Avoid relative imports for files in `lib/`."
+    "description": "Avoid relative imports for files in `lib/`.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "avoid_dynamic_calls",
-    "description": "Avoid method calls or property accesses on a \"dynamic\" target."
+    "description": "Avoid method calls or property accesses on a \"dynamic\" target.",
+    "fixStatus": "noFix"
   },
   {
     "name": "avoid_empty_else",
-    "description": "Avoid empty else statements."
+    "description": "Avoid empty else statements.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "avoid_print",
-    "description": "Avoid `print` calls in production code."
+    "description": "Avoid `print` calls in production code.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "avoid_relative_lib_imports",
-    "description": "Avoid relative imports for files in `lib/`."
+    "description": "Avoid relative imports for files in `lib/`.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "avoid_returning_null_for_future",
-    "description": "Avoid returning null for Future."
+    "description": "Avoid returning null for Future.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "avoid_slow_async_io",
-    "description": "Avoid slow async `dart:io` methods."
+    "description": "Avoid slow async `dart:io` methods.",
+    "fixStatus": "needsFix"
   },
   {
     "name": "avoid_type_to_string",
-    "description": "Avoid <Type>.toString() in production code since results may be minified."
+    "description": "Avoid <Type>.toString() in production code since results may be minified.",
+    "fixStatus": "noFix"
   },
   {
     "name": "avoid_types_as_parameter_names",
-    "description": "Avoid types as parameter names."
+    "description": "Avoid types as parameter names.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "avoid_web_libraries_in_flutter",
-    "description": "Avoid using web-only libraries outside Flutter web plugin packages."
+    "description": "Avoid using web-only libraries outside Flutter web plugin packages.",
+    "fixStatus": "noFix"
   },
   {
     "name": "cancel_subscriptions",
-    "description": "Cancel instances of dart.async.StreamSubscription."
+    "description": "Cancel instances of dart.async.StreamSubscription.",
+    "fixStatus": "noFix"
   },
   {
     "name": "close_sinks",
-    "description": "Close instances of `dart.core.Sink`."
+    "description": "Close instances of `dart.core.Sink`.",
+    "fixStatus": "noFix"
   },
   {
     "name": "collection_methods_unrelated_type",
-    "description": "Invocation of various collection methods with arguments of unrelated types."
+    "description": "Invocation of various collection methods with arguments of unrelated types.",
+    "fixStatus": "noFix"
   },
   {
     "name": "comment_references",
-    "description": "Only reference in scope identifiers in doc comments."
+    "description": "Only reference in scope identifiers in doc comments.",
+    "fixStatus": "noFix"
   },
   {
     "name": "control_flow_in_finally",
-    "description": "Avoid control flow in finally blocks."
+    "description": "Avoid control flow in finally blocks.",
+    "fixStatus": "noFix"
   },
   {
     "name": "deprecated_member_use_from_same_package",
-    "description": "Avoid using deprecated elements from within the package in which they are declared."
+    "description": "Avoid using deprecated elements from within the package in which they are declared.",
+    "fixStatus": "needsFix"
   },
   {
     "name": "diagnostic_describe_all_properties",
-    "description": "DO reference all public properties in debug methods."
+    "description": "DO reference all public properties in debug methods.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "discarded_futures",
-    "description": "Don't invoke asynchronous functions in non-async blocks."
+    "description": "Don't invoke asynchronous functions in non-async blocks.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "empty_statements",
-    "description": "Avoid empty statements."
+    "description": "Avoid empty statements.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "hash_and_equals",
-    "description": "Always override `hashCode` if overriding `==`."
+    "description": "Always override `hashCode` if overriding `==`.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "implicit_reopen",
-    "description": "Don't implicitly reopen classes."
+    "description": "Don't implicitly reopen classes.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "invalid_case_patterns",
-    "description": "Use case expressions that are valid in Dart 3.0."
+    "description": "Use case expressions that are valid in Dart 3.0.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "invariant_booleans",
-    "description": "Conditions should not unconditionally evaluate to `true` or to `false`."
+    "description": "Conditions should not unconditionally evaluate to `true` or to `false`.",
+    "fixStatus": "noFix"
   },
   {
     "name": "iterable_contains_unrelated_type",
-    "description": "Invocation of Iterable<E>.contains with references of unrelated types."
+    "description": "Invocation of Iterable<E>.contains with references of unrelated types.",
+    "fixStatus": "noFix"
   },
   {
     "name": "list_remove_unrelated_type",
-    "description": "Invocation of `remove` with references of unrelated types."
+    "description": "Invocation of `remove` with references of unrelated types.",
+    "fixStatus": "noFix"
   },
   {
     "name": "literal_only_boolean_expressions",
-    "description": "Boolean expression composed only with literals."
+    "description": "Boolean expression composed only with literals.",
+    "fixStatus": "noFix"
   },
   {
     "name": "no_adjacent_strings_in_list",
-    "description": "Don't use adjacent strings in list."
+    "description": "Don't use adjacent strings in list.",
+    "fixStatus": "needsFix"
   },
   {
     "name": "no_duplicate_case_values",
-    "description": "Don't use more than one case with same value."
+    "description": "Don't use more than one case with same value.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "no_logic_in_create_state",
-    "description": "Don't put any logic in createState."
+    "description": "Don't put any logic in createState.",
+    "fixStatus": "noFix"
   },
   {
     "name": "no_self_assignments",
-    "description": "Don't assign a variable to itself."
+    "description": "Don't assign a variable to itself.",
+    "fixStatus": "needsEvaluation"
   },
   {
     "name": "no_wildcard_variable_uses",
-    "description": "Don't use wildcard parameters or variables."
+    "description": "Don't use wildcard parameters or variables.",
+    "fixStatus": "unregistered"
   },
   {
     "name": "prefer_relative_imports",
-    "description": "Prefer relative imports for files in `lib/`."
+    "description": "Prefer relative imports for files in `lib/`.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "prefer_void_to_null",
-    "description": "Don't use the Null type, unless you are positive that you don't want void."
+    "description": "Don't use the Null type, unless you are positive that you don't want void.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "test_types_in_equals",
-    "description": "Test type arguments in operator ==(Object other)."
+    "description": "Test type arguments in operator ==(Object other).",
+    "fixStatus": "noFix"
   },
   {
     "name": "throw_in_finally",
-    "description": "Avoid `throw` in finally block."
+    "description": "Avoid `throw` in finally block.",
+    "fixStatus": "noFix"
   },
   {
     "name": "unnecessary_statements",
-    "description": "Avoid using unnecessary statements."
+    "description": "Avoid using unnecessary statements.",
+    "fixStatus": "noFix"
   },
   {
     "name": "unrelated_type_equality_checks",
-    "description": "Equality operator `==` invocation with references of unrelated types."
+    "description": "Equality operator `==` invocation with references of unrelated types.",
+    "fixStatus": "noFix"
   },
   {
     "name": "unsafe_html",
-    "description": "Avoid unsafe HTML APIs."
+    "description": "Avoid unsafe HTML APIs.",
+    "fixStatus": "unregistered"
   },
   {
     "name": "use_build_context_synchronously",
-    "description": "Do not use BuildContexts across async gaps."
+    "description": "Do not use BuildContexts across async gaps.",
+    "fixStatus": "noFix"
   },
   {
     "name": "use_key_in_widget_constructors",
-    "description": "Use key in widget constructors."
+    "description": "Use key in widget constructors.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "valid_regexps",
-    "description": "Use valid regular expression syntax."
+    "description": "Use valid regular expression syntax.",
+    "fixStatus": "noFix"
   },
   {
     "name": "depend_on_referenced_packages",
-    "description": "Depend on referenced packages."
+    "description": "Depend on referenced packages.",
+    "fixStatus": "needsFix"
   },
   {
     "name": "package_names",
-    "description": "Use `lowercase_with_underscores` for package names."
+    "description": "Use `lowercase_with_underscores` for package names.",
+    "fixStatus": "noFix"
   },
   {
     "name": "secure_pubspec_urls",
-    "description": "Use secure urls in `pubspec.yaml`."
+    "description": "Use secure urls in `pubspec.yaml`.",
+    "fixStatus": "noFix"
   },
   {
     "name": "sort_pub_dependencies",
-    "description": "Sort pub dependencies alphabetically."
+    "description": "Sort pub dependencies alphabetically.",
+    "fixStatus": "needsFix"
   },
   {
     "name": "always_declare_return_types",
-    "description": "Declare method return types."
+    "description": "Declare method return types.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "always_put_control_body_on_new_line",
-    "description": "Separate the control structure expression from its statement."
+    "description": "Separate the control structure expression from its statement.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "always_put_required_named_parameters_first",
-    "description": "Put required named parameters first."
+    "description": "Put required named parameters first.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "always_require_non_null_named_parameters",
-    "description": "Specify `@required` on named parameters without defaults."
+    "description": "Specify `@required` on named parameters without defaults.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "always_specify_types",
-    "description": "Specify type annotations."
+    "description": "Specify type annotations.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "annotate_overrides",
-    "description": "Annotate overridden members."
+    "description": "Annotate overridden members.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "avoid_annotating_with_dynamic",
-    "description": "Avoid annotating with dynamic when not required."
+    "description": "Avoid annotating with dynamic when not required.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "avoid_as",
-    "description": "Avoid using `as`."
+    "description": "Avoid using `as`.",
+    "fixStatus": "noFix"
   },
   {
     "name": "avoid_bool_literals_in_conditional_expressions",
-    "description": "Avoid bool literals in conditional expressions."
+    "description": "Avoid bool literals in conditional expressions.",
+    "fixStatus": "needsFix"
   },
   {
     "name": "avoid_catches_without_on_clauses",
-    "description": "Avoid catches without on clauses."
+    "description": "Avoid catches without on clauses.",
+    "fixStatus": "noFix"
   },
   {
     "name": "avoid_catching_errors",
-    "description": "Don't explicitly catch Error or types that implement it."
+    "description": "Don't explicitly catch Error or types that implement it.",
+    "fixStatus": "unregistered"
   },
   {
     "name": "avoid_classes_with_only_static_members",
-    "description": "Avoid defining a class that contains only static members."
+    "description": "Avoid defining a class that contains only static members.",
+    "fixStatus": "noFix"
   },
   {
     "name": "avoid_double_and_int_checks",
-    "description": "Avoid double and int checks."
+    "description": "Avoid double and int checks.",
+    "fixStatus": "needsFix"
   },
   {
     "name": "avoid_equals_and_hash_code_on_mutable_classes",
-    "description": "Avoid overloading operator == and hashCode on classes not marked `@immutable`."
+    "description": "Avoid overloading operator == and hashCode on classes not marked `@immutable`.",
+    "fixStatus": "noFix"
   },
   {
     "name": "avoid_escaping_inner_quotes",
-    "description": "Avoid escaping inner quotes by converting surrounding quotes."
+    "description": "Avoid escaping inner quotes by converting surrounding quotes.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "avoid_field_initializers_in_const_classes",
-    "description": "Avoid field initializers in const classes."
+    "description": "Avoid field initializers in const classes.",
+    "fixStatus": "noFix"
   },
   {
     "name": "avoid_final_parameters",
-    "description": "Avoid final for parameter declarations."
+    "description": "Avoid final for parameter declarations.",
+    "fixStatus": "needsFix"
   },
   {
     "name": "avoid_function_literals_in_foreach_calls",
-    "description": "Avoid using `forEach` with a function literal."
+    "description": "Avoid using `forEach` with a function literal.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "avoid_implementing_value_types",
-    "description": "Don't implement classes that override `==`."
+    "description": "Don't implement classes that override `==`.",
+    "fixStatus": "noFix"
   },
   {
     "name": "avoid_init_to_null",
-    "description": "Don't explicitly initialize variables to null."
+    "description": "Don't explicitly initialize variables to null.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "avoid_js_rounded_ints",
-    "description": "Avoid JavaScript rounded ints."
+    "description": "Avoid JavaScript rounded ints.",
+    "fixStatus": "noFix"
   },
   {
     "name": "avoid_multiple_declarations_per_line",
-    "description": "Don't declare multiple variables on a single line."
+    "description": "Don't declare multiple variables on a single line.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "avoid_null_checks_in_equality_operators",
-    "description": "Don't check for null in custom == operators."
+    "description": "Don't check for null in custom == operators.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "avoid_positional_boolean_parameters",
-    "description": "Avoid positional boolean parameters."
+    "description": "Avoid positional boolean parameters.",
+    "fixStatus": "noFix"
   },
   {
     "name": "avoid_private_typedef_functions",
-    "description": "Avoid private typedef functions."
+    "description": "Avoid private typedef functions.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "avoid_redundant_argument_values",
-    "description": "Avoid redundant argument values."
+    "description": "Avoid redundant argument values.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "avoid_renaming_method_parameters",
-    "description": "Don't rename parameters of overridden methods."
+    "description": "Don't rename parameters of overridden methods.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "avoid_return_types_on_setters",
-    "description": "Avoid return types on setters."
+    "description": "Avoid return types on setters.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "avoid_returning_null",
-    "description": "Avoid returning null from members whose return type is bool, double, int, or num."
+    "description": "Avoid returning null from members whose return type is bool, double, int, or num.",
+    "fixStatus": "noFix"
   },
   {
     "name": "avoid_returning_null_for_void",
-    "description": "Avoid returning null for void."
+    "description": "Avoid returning null for void.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "avoid_returning_this",
-    "description": "Avoid returning this from methods just to enable a fluent interface."
+    "description": "Avoid returning this from methods just to enable a fluent interface.",
+    "fixStatus": "noFix"
   },
   {
     "name": "avoid_setters_without_getters",
-    "description": "Avoid setters without getters."
+    "description": "Avoid setters without getters.",
+    "fixStatus": "needsFix"
   },
   {
     "name": "avoid_shadowing_type_parameters",
-    "description": "Avoid shadowing type parameters."
+    "description": "Avoid shadowing type parameters.",
+    "fixStatus": "noFix"
   },
   {
     "name": "avoid_single_cascade_in_expression_statements",
-    "description": "Avoid single cascade in expression statements."
+    "description": "Avoid single cascade in expression statements.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "avoid_types_on_closure_parameters",
-    "description": "Avoid annotating types for function expression parameters."
+    "description": "Avoid annotating types for function expression parameters.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "avoid_unnecessary_containers",
-    "description": "Avoid unnecessary containers."
+    "description": "Avoid unnecessary containers.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "avoid_unused_constructor_parameters",
-    "description": "Avoid defining unused parameters in constructors."
+    "description": "Avoid defining unused parameters in constructors.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "avoid_void_async",
-    "description": "Avoid async functions that return void."
+    "description": "Avoid async functions that return void.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "await_only_futures",
-    "description": "Await only futures."
+    "description": "Await only futures.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "camel_case_extensions",
-    "description": "Name extensions using UpperCamelCase."
+    "description": "Name extensions using UpperCamelCase.",
+    "fixStatus": "noFix"
   },
   {
     "name": "camel_case_types",
-    "description": "Name types using UpperCamelCase."
+    "description": "Name types using UpperCamelCase.",
+    "fixStatus": "noFix"
   },
   {
     "name": "cascade_invocations",
-    "description": "Cascade consecutive method invocations on the same reference."
+    "description": "Cascade consecutive method invocations on the same reference.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "cast_nullable_to_non_nullable",
-    "description": "Don't cast a nullable value to a non nullable type."
+    "description": "Don't cast a nullable value to a non nullable type.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "combinators_ordering",
-    "description": "Sort combinator names alphabetically."
+    "description": "Sort combinator names alphabetically.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "conditional_uri_does_not_exist",
-    "description": "Missing conditional import."
+    "description": "Missing conditional import.",
+    "fixStatus": "noFix"
   },
   {
     "name": "constant_identifier_names",
-    "description": "Prefer using lowerCamelCase for constant names."
+    "description": "Prefer using lowerCamelCase for constant names.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "curly_braces_in_flow_control_structures",
-    "description": "DO use curly braces for all flow control structures."
+    "description": "DO use curly braces for all flow control structures.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "dangling_library_doc_comments",
-    "description": "Attach library doc comments to library directives."
+    "description": "Attach library doc comments to library directives.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "deprecated_consistency",
-    "description": "Missing deprecated annotation."
+    "description": "Missing deprecated annotation.",
+    "fixStatus": "needsFix"
   },
   {
     "name": "directives_ordering",
-    "description": "Adhere to Effective Dart Guide directives sorting conventions."
+    "description": "Adhere to Effective Dart Guide directives sorting conventions.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "do_not_use_environment",
-    "description": "Do not use environment declared variables."
+    "description": "Do not use environment declared variables.",
+    "fixStatus": "noFix"
   },
   {
     "name": "empty_catches",
-    "description": "Avoid empty catch blocks."
+    "description": "Avoid empty catch blocks.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "empty_constructor_bodies",
-    "description": "Use `;` instead of `{}` for empty constructor bodies."
+    "description": "Use `;` instead of `{}` for empty constructor bodies.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "enable_null_safety",
-    "description": "Do use sound null safety."
+    "description": "Do use sound null safety.",
+    "fixStatus": "noFix"
   },
   {
     "name": "eol_at_end_of_file",
-    "description": "Put a single newline at end of file."
+    "description": "Put a single newline at end of file.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "exhaustive_cases",
-    "description": "Define case clauses for all constants in enum-like classes."
+    "description": "Define case clauses for all constants in enum-like classes.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "file_names",
-    "description": "Name source files using `lowercase_with_underscores`."
+    "description": "Name source files using `lowercase_with_underscores`.",
+    "fixStatus": "noFix"
   },
   {
     "name": "flutter_style_todos",
-    "description": "Use Flutter TODO format: // TODO(username): message, https://URL-to-issue."
+    "description": "Use Flutter TODO format: // TODO(username): message, https://URL-to-issue.",
+    "fixStatus": "noFix"
   },
   {
     "name": "implementation_imports",
-    "description": "Don't import implementation files from another package."
+    "description": "Don't import implementation files from another package.",
+    "fixStatus": "noFix"
   },
   {
     "name": "implicit_call_tearoffs",
-    "description": "Explicitly tear-off `call` methods when using an object as a Function."
+    "description": "Explicitly tear-off `call` methods when using an object as a Function.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "join_return_with_assignment",
-    "description": "Join return statement with assignment when possible."
+    "description": "Join return statement with assignment when possible.",
+    "fixStatus": "needsFix"
   },
   {
     "name": "leading_newlines_in_multiline_strings",
-    "description": "Start multiline strings with a newline."
+    "description": "Start multiline strings with a newline.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "library_annotations",
-    "description": "Attach library annotations to library directives."
+    "description": "Attach library annotations to library directives.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "library_names",
-    "description": "Name libraries using `lowercase_with_underscores`."
+    "description": "Name libraries using `lowercase_with_underscores`.",
+    "fixStatus": "noFix"
   },
   {
     "name": "library_prefixes",
-    "description": "Use `lowercase_with_underscores` when specifying a library prefix."
+    "description": "Use `lowercase_with_underscores` when specifying a library prefix.",
+    "fixStatus": "noFix"
   },
   {
     "name": "library_private_types_in_public_api",
-    "description": "Avoid using private types in public APIs."
+    "description": "Avoid using private types in public APIs.",
+    "fixStatus": "noFix"
   },
   {
     "name": "lines_longer_than_80_chars",
-    "description": "Avoid lines longer than 80 characters."
+    "description": "Avoid lines longer than 80 characters.",
+    "fixStatus": "noFix"
   },
   {
     "name": "matching_super_parameters",
-    "description": "Use matching super parameter names."
+    "description": "Use matching super parameter names.",
+    "fixStatus": "needsFix"
   },
   {
     "name": "missing_whitespace_between_adjacent_strings",
-    "description": "Missing whitespace between adjacent strings."
+    "description": "Missing whitespace between adjacent strings.",
+    "fixStatus": "needsFix"
   },
   {
     "name": "no_default_cases",
-    "description": "No default cases."
+    "description": "No default cases.",
+    "fixStatus": "needsFix"
   },
   {
     "name": "no_leading_underscores_for_library_prefixes",
-    "description": "Avoid leading underscores for library prefixes."
+    "description": "Avoid leading underscores for library prefixes.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "no_leading_underscores_for_local_identifiers",
-    "description": "Avoid leading underscores for local identifiers."
+    "description": "Avoid leading underscores for local identifiers.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "no_literal_bool_comparisons",
-    "description": "Don't compare booleans to boolean literals."
+    "description": "Don't compare booleans to boolean literals.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "no_runtimeType_toString",
-    "description": "Avoid calling toString() on runtimeType."
+    "description": "Avoid calling toString() on runtimeType.",
+    "fixStatus": "noFix"
   },
   {
     "name": "non_constant_identifier_names",
-    "description": "Name non-constant identifiers using lowerCamelCase."
+    "description": "Name non-constant identifiers using lowerCamelCase.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "noop_primitive_operations",
-    "description": "Noop primitive operations."
+    "description": "Noop primitive operations.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "null_check_on_nullable_type_parameter",
-    "description": "Don't use null check on a potentially nullable type parameter."
+    "description": "Don't use null check on a potentially nullable type parameter.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "null_closures",
-    "description": "Do not pass `null` as an argument where a closure is expected."
+    "description": "Do not pass `null` as an argument where a closure is expected.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "omit_local_variable_types",
-    "description": "Omit type annotations for local variables."
+    "description": "Omit type annotations for local variables.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "one_member_abstracts",
-    "description": "Avoid defining a one-member abstract class when a simple function will do."
+    "description": "Avoid defining a one-member abstract class when a simple function will do.",
+    "fixStatus": "noFix"
   },
   {
     "name": "only_throw_errors",
-    "description": "Only throw instances of classes extending either Exception or Error."
+    "description": "Only throw instances of classes extending either Exception or Error.",
+    "fixStatus": "noFix"
   },
   {
     "name": "overridden_fields",
-    "description": "Don't override fields."
+    "description": "Don't override fields.",
+    "fixStatus": "noFix"
   },
   {
     "name": "package_api_docs",
-    "description": "Provide doc comments for all public APIs."
+    "description": "Provide doc comments for all public APIs.",
+    "fixStatus": "noFix"
   },
   {
     "name": "package_prefixed_library_names",
-    "description": "Prefix library names with the package name and a dot-separated path."
+    "description": "Prefix library names with the package name and a dot-separated path.",
+    "fixStatus": "noFix"
   },
   {
     "name": "parameter_assignments",
-    "description": "Don't reassign references to parameters of functions or methods."
+    "description": "Don't reassign references to parameters of functions or methods.",
+    "fixStatus": "noFix"
   },
   {
     "name": "prefer_adjacent_string_concatenation",
-    "description": "Use adjacent strings to concatenate string literals."
+    "description": "Use adjacent strings to concatenate string literals.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "prefer_asserts_in_initializer_lists",
-    "description": "Prefer putting asserts in initializer lists."
+    "description": "Prefer putting asserts in initializer lists.",
+    "fixStatus": "needsFix"
   },
   {
     "name": "prefer_asserts_with_message",
-    "description": "Prefer asserts with message."
+    "description": "Prefer asserts with message.",
+    "fixStatus": "noFix"
   },
   {
     "name": "prefer_bool_in_asserts",
-    "description": "Prefer using a boolean as the assert condition."
+    "description": "Prefer using a boolean as the assert condition.",
+    "fixStatus": "noFix"
   },
   {
     "name": "prefer_collection_literals",
-    "description": "Use collection literals when possible."
+    "description": "Use collection literals when possible.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "prefer_conditional_assignment",
-    "description": "Prefer using `??=` over testing for null."
+    "description": "Prefer using `??=` over testing for null.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "prefer_const_constructors",
-    "description": "Prefer const with constant constructors."
+    "description": "Prefer const with constant constructors.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "prefer_const_constructors_in_immutables",
-    "description": "Prefer declaring const constructors on `@immutable` classes."
+    "description": "Prefer declaring const constructors on `@immutable` classes.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "prefer_const_declarations",
-    "description": "Prefer const over final for declarations."
+    "description": "Prefer const over final for declarations.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "prefer_const_literals_to_create_immutables",
-    "description": "Prefer const literals as parameters of constructors on @immutable classes."
+    "description": "Prefer const literals as parameters of constructors on @immutable classes.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "prefer_constructors_over_static_methods",
-    "description": "Prefer defining constructors instead of static methods to create instances."
+    "description": "Prefer defining constructors instead of static methods to create instances.",
+    "fixStatus": "needsFix"
   },
   {
     "name": "prefer_contains",
-    "description": "Use contains for `List` and `String` instances."
+    "description": "Use contains for `List` and `String` instances.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "prefer_double_quotes",
-    "description": "Prefer double quotes where they won't require escape sequences."
+    "description": "Prefer double quotes where they won't require escape sequences.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "prefer_equal_for_default_values",
-    "description": "Use `=` to separate a named parameter from its default value."
+    "description": "Use `=` to separate a named parameter from its default value.",
+    "fixStatus": "noFix"
   },
   {
     "name": "prefer_expression_function_bodies",
-    "description": "Use => for short members whose body is a single return statement."
+    "description": "Use => for short members whose body is a single return statement.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "prefer_final_fields",
-    "description": "Private field could be final."
+    "description": "Private field could be final.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "prefer_final_in_for_each",
-    "description": "Prefer final in for-each loop variable if reference is not reassigned."
+    "description": "Prefer final in for-each loop variable if reference is not reassigned.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "prefer_final_locals",
-    "description": "Prefer final for variable declarations if they are not reassigned."
+    "description": "Prefer final for variable declarations if they are not reassigned.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "prefer_final_parameters",
-    "description": "Prefer final for parameter declarations if they are not reassigned."
+    "description": "Prefer final for parameter declarations if they are not reassigned.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "prefer_for_elements_to_map_fromIterable",
-    "description": "Prefer 'for' elements when building maps from iterables."
+    "description": "Prefer 'for' elements when building maps from iterables.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "prefer_foreach",
-    "description": "Use `forEach` to only apply a function to all the elements."
+    "description": "Use `forEach` to only apply a function to all the elements.",
+    "fixStatus": "needsFix"
   },
   {
     "name": "prefer_function_declarations_over_variables",
-    "description": "Use a function declaration to bind a function to a name."
+    "description": "Use a function declaration to bind a function to a name.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "prefer_generic_function_type_aliases",
-    "description": "Prefer generic function type aliases."
+    "description": "Prefer generic function type aliases.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "prefer_if_elements_to_conditional_expressions",
-    "description": "Prefer if elements to conditional expressions where possible."
+    "description": "Prefer if elements to conditional expressions where possible.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "prefer_if_null_operators",
-    "description": "Prefer using if null operators."
+    "description": "Prefer using if null operators.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "prefer_initializing_formals",
-    "description": "Use initializing formals when possible."
+    "description": "Use initializing formals when possible.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "prefer_inlined_adds",
-    "description": "Inline list item declarations where possible."
+    "description": "Inline list item declarations where possible.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "prefer_int_literals",
-    "description": "Prefer int literals over double literals."
+    "description": "Prefer int literals over double literals.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "prefer_interpolation_to_compose_strings",
-    "description": "Use interpolation to compose strings and values."
+    "description": "Use interpolation to compose strings and values.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "prefer_is_empty",
-    "description": "Use `isEmpty` for Iterables and Maps."
+    "description": "Use `isEmpty` for Iterables and Maps.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "prefer_is_not_empty",
-    "description": "Use `isNotEmpty` for Iterables and Maps."
+    "description": "Use `isNotEmpty` for Iterables and Maps.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "prefer_is_not_operator",
-    "description": "Prefer is! operator."
+    "description": "Prefer is! operator.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "prefer_iterable_whereType",
-    "description": "Prefer to use whereType on iterable."
+    "description": "Prefer to use whereType on iterable.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "prefer_mixin",
-    "description": "Prefer using mixins."
+    "description": "Prefer using mixins.",
+    "fixStatus": "needsFix"
   },
   {
     "name": "prefer_null_aware_method_calls",
-    "description": "Prefer null aware method calls."
+    "description": "Prefer null aware method calls.",
+    "fixStatus": "needsFix"
   },
   {
     "name": "prefer_null_aware_operators",
-    "description": "Prefer using null aware operators."
+    "description": "Prefer using null aware operators.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "prefer_single_quotes",
-    "description": "Only use double quotes for strings containing single quotes."
+    "description": "Only use double quotes for strings containing single quotes.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "prefer_spread_collections",
-    "description": "Use spread collections when possible."
+    "description": "Use spread collections when possible.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "prefer_typing_uninitialized_variables",
-    "description": "Prefer typing uninitialized variables and fields."
+    "description": "Prefer typing uninitialized variables and fields.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "provide_deprecation_message",
-    "description": "Provide a deprecation message, via @Deprecated(\"message\")."
+    "description": "Provide a deprecation message, via @Deprecated(\"message\").",
+    "fixStatus": "noFix"
   },
   {
     "name": "public_member_api_docs",
-    "description": "Document all public members."
+    "description": "Document all public members.",
+    "fixStatus": "noFix"
   },
   {
     "name": "recursive_getters",
-    "description": "Property getter recursively returns itself."
+    "description": "Property getter recursively returns itself.",
+    "fixStatus": "noFix"
   },
   {
     "name": "require_trailing_commas",
-    "description": "Use trailing commas for all function calls and declarations."
+    "description": "Use trailing commas for all function calls and declarations.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "sized_box_for_whitespace",
-    "description": "SizedBox for whitespace."
+    "description": "SizedBox for whitespace.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "sized_box_shrink_expand",
-    "description": "Use SizedBox shrink and expand named constructors."
+    "description": "Use SizedBox shrink and expand named constructors.",
+    "fixStatus": "needsFix"
   },
   {
     "name": "slash_for_doc_comments",
-    "description": "Prefer using /// for doc comments."
+    "description": "Prefer using /// for doc comments.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "sort_child_properties_last",
-    "description": "Sort child properties last in widget instance creations."
+    "description": "Sort child properties last in widget instance creations.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "sort_constructors_first",
-    "description": "Sort constructor declarations before other members."
+    "description": "Sort constructor declarations before other members.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "sort_unnamed_constructors_first",
-    "description": "Sort unnamed constructor declarations first."
+    "description": "Sort unnamed constructor declarations first.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "super_goes_last",
-    "description": "Place the `super` call last in a constructor initialization list."
+    "description": "Place the `super` call last in a constructor initialization list.",
+    "fixStatus": "noFix"
   },
   {
     "name": "tighten_type_of_initializing_formals",
-    "description": "Tighten type of initializing formal."
+    "description": "Tighten type of initializing formal.",
+    "fixStatus": "needsFix"
   },
   {
     "name": "type_annotate_public_apis",
-    "description": "Type annotate public APIs."
+    "description": "Type annotate public APIs.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "type_init_formals",
-    "description": "Don't type annotate initializing formals."
+    "description": "Don't type annotate initializing formals.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "type_literal_in_constant_pattern",
-    "description": "Don't use constant patterns with type literals."
+    "description": "Don't use constant patterns with type literals.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "unawaited_futures",
-    "description": "`Future` results in `async` function bodies must be `await`ed or marked `unawaited` using `dart:async`."
+    "description": "`Future` results in `async` function bodies must be `await`ed or marked `unawaited` using `dart:async`.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "unnecessary_await_in_return",
-    "description": "Unnecessary await keyword in return."
+    "description": "Unnecessary await keyword in return.",
+    "fixStatus": "needsFix"
   },
   {
     "name": "unnecessary_brace_in_string_interps",
-    "description": "Avoid using braces in interpolation when not needed."
+    "description": "Avoid using braces in interpolation when not needed.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "unnecessary_breaks",
-    "description": "Don't use explicit `break`s when a break is implied."
+    "description": "Don't use explicit `break`s when a break is implied.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "unnecessary_const",
-    "description": "Avoid const keyword."
+    "description": "Avoid const keyword.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "unnecessary_constructor_name",
-    "description": "Unnecessary `.new` constructor name."
+    "description": "Unnecessary `.new` constructor name.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "unnecessary_final",
-    "description": "Don't use `final` for local variables."
+    "description": "Don't use `final` for local variables.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "unnecessary_getters_setters",
-    "description": "Avoid wrapping fields in getters and setters just to be \"safe\"."
+    "description": "Avoid wrapping fields in getters and setters just to be \"safe\".",
+    "fixStatus": "hasFix"
   },
   {
     "name": "unnecessary_lambdas",
-    "description": "Don't create a lambda when a tear-off will do."
+    "description": "Don't create a lambda when a tear-off will do.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "unnecessary_late",
-    "description": "Don't specify the `late` modifier when it is not needed."
+    "description": "Don't specify the `late` modifier when it is not needed.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "unnecessary_library_directive",
-    "description": "Avoid library directives unless they have documentation comments or annotations."
+    "description": "Avoid library directives unless they have documentation comments or annotations.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "unnecessary_new",
-    "description": "Unnecessary new keyword."
+    "description": "Unnecessary new keyword.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "unnecessary_null_aware_assignments",
-    "description": "Avoid null in null-aware assignment."
+    "description": "Avoid null in null-aware assignment.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "unnecessary_null_aware_operator_on_extension_on_nullable",
-    "description": "Unnecessary null aware operator on extension on a nullable type."
+    "description": "Unnecessary null aware operator on extension on a nullable type.",
+    "fixStatus": "needsFix"
   },
   {
     "name": "unnecessary_null_checks",
-    "description": "Unnecessary null checks."
+    "description": "Unnecessary null checks.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "unnecessary_null_in_if_null_operators",
-    "description": "Avoid using `null` in `if null` operators."
+    "description": "Avoid using `null` in `if null` operators.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "unnecessary_nullable_for_final_variable_declarations",
-    "description": "Use a non-nullable type for a final variable initialized with a non-nullable value."
+    "description": "Use a non-nullable type for a final variable initialized with a non-nullable value.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "unnecessary_overrides",
-    "description": "Don't override a method to do a super method invocation with the same parameters."
+    "description": "Don't override a method to do a super method invocation with the same parameters.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "unnecessary_parenthesis",
-    "description": "Unnecessary parentheses can be removed."
+    "description": "Unnecessary parentheses can be removed.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "unnecessary_raw_strings",
-    "description": "Unnecessary raw string."
+    "description": "Unnecessary raw string.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "unnecessary_string_escapes",
-    "description": "Remove unnecessary backslashes in strings."
+    "description": "Remove unnecessary backslashes in strings.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "unnecessary_string_interpolations",
-    "description": "Unnecessary string interpolation."
+    "description": "Unnecessary string interpolation.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "unnecessary_this",
-    "description": "Don't access members with `this` unless avoiding shadowing."
+    "description": "Don't access members with `this` unless avoiding shadowing.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "unnecessary_to_list_in_spreads",
-    "description": "Unnecessary toList() in spreads."
+    "description": "Unnecessary toList() in spreads.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "unreachable_from_main",
-    "description": "Unreachable top-level members in executable libraries."
+    "description": "Unreachable top-level members in executable libraries.",
+    "fixStatus": "noFix"
   },
   {
     "name": "use_colored_box",
-    "description": "Use `ColoredBox`."
+    "description": "Use `ColoredBox`.",
+    "fixStatus": "needsFix"
   },
   {
     "name": "use_decorated_box",
-    "description": "Use `DecoratedBox`."
+    "description": "Use `DecoratedBox`.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "use_enums",
-    "description": "Use enums rather than classes that behave like enums."
+    "description": "Use enums rather than classes that behave like enums.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "use_full_hex_values_for_flutter_colors",
-    "description": "Prefer an 8-digit hexadecimal integer(0xFFFFFFFF) to instantiate Color."
+    "description": "Prefer an 8-digit hexadecimal integer(0xFFFFFFFF) to instantiate Color.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "use_function_type_syntax_for_parameters",
-    "description": "Use generic function type syntax for parameters."
+    "description": "Use generic function type syntax for parameters.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "use_if_null_to_convert_nulls_to_bools",
-    "description": "Use if-null operators to convert nulls to bools."
+    "description": "Use if-null operators to convert nulls to bools.",
+    "fixStatus": "needsFix"
   },
   {
     "name": "use_is_even_rather_than_modulo",
-    "description": "Prefer intValue.isOdd/isEven instead of checking the result of % 2."
+    "description": "Prefer intValue.isOdd/isEven instead of checking the result of % 2.",
+    "fixStatus": "needsFix"
   },
   {
     "name": "use_late_for_private_fields_and_variables",
-    "description": "Use late for private members with a non-nullable type."
+    "description": "Use late for private members with a non-nullable type.",
+    "fixStatus": "needsFix"
   },
   {
     "name": "use_named_constants",
-    "description": "Use predefined named constants."
+    "description": "Use predefined named constants.",
+    "fixStatus": "needsFix"
   },
   {
     "name": "use_raw_strings",
-    "description": "Use raw string to avoid escapes."
+    "description": "Use raw string to avoid escapes.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "use_rethrow_when_possible",
-    "description": "Use rethrow to rethrow a caught exception."
+    "description": "Use rethrow to rethrow a caught exception.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "use_setters_to_change_properties",
-    "description": "Use a setter for operations that conceptually change a property."
+    "description": "Use a setter for operations that conceptually change a property.",
+    "fixStatus": "noFix"
   },
   {
     "name": "use_string_buffers",
-    "description": "Use string buffers to compose strings."
+    "description": "Use string buffers to compose strings.",
+    "fixStatus": "needsFix"
   },
   {
     "name": "use_string_in_part_of_directives",
-    "description": "Use string in part of directives."
+    "description": "Use string in part of directives.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "use_super_parameters",
-    "description": "Use super-initializer parameters where possible."
+    "description": "Use super-initializer parameters where possible.",
+    "fixStatus": "hasFix"
   },
   {
     "name": "use_test_throws_matchers",
-    "description": "Use throwsA matcher instead of fail()."
+    "description": "Use throwsA matcher instead of fail().",
+    "fixStatus": "needsFix"
   },
   {
     "name": "use_to_and_as_if_applicable",
-    "description": "Start the name of the method with to/_to or as/_as if applicable."
+    "description": "Start the name of the method with to/_to or as/_as if applicable.",
+    "fixStatus": "noFix"
   },
   {
     "name": "void_checks",
-    "description": "Don't assign to void."
+    "description": "Don't assign to void.",
+    "fixStatus": "noFix"
   }
 ]
\ No newline at end of file