Update README.md
diff --git a/README.md b/README.md
index 1e2d507..a337416 100644
--- a/README.md
+++ b/README.md
@@ -1,296 +1,17 @@
 [![Pub](https://img.shields.io/pub/v/pedantic.svg)](https://pub.dev/packages/pedantic)
 
-This package serves three purposes:
+This package is deprecated.
 
- - It documents how Dart static analysis is used internally at Google,
-   including best practices for the code we write. The documentation is
-   this `README.md`.
- - It contains a corresponding sample `analysis_options.yaml`.
- - It contains occasional small snippets of Dart code that are used in
-   implementing those best practices.
+Before it was deprecated, it was the way to get analysis options
+matching those used internally at Google. This was useful because
+it was a good starting point for which lints to enable.
 
-Most of the recommended lints directly implement the guidelines set out in
-[Effective Dart](https://dart.dev/guides/language/effective-dart).
-In a few cases the lints are stricter than the style guide for the sake of
-consistency. Details [below](#stricter-than-effective-dart).
+Instead, please see [package:lints](https://pub.dev/packages/lints) which
+is the lint recommendation from the Dart team, or
+[package:flutter_lints](https://pub.dev/packages/flutter_lints) which
+extends that for Flutter. These are better than the Google lint set
+because they take into account the needs of all Dart users, not just
+Google engineers.
 
-See
-[this Medium article](https://medium.com/dartlang/pedantic-dart-1c7d365510de)
-for more background.
-
-
-## Using Static Analysis
-
-Here is how static analysis is used internally at Google:
-
- - By default we disallow checking in code with any errors, warnings, or hints.
-   - The `TODO` hint is a permanent exception.
-   - Deprecation hints are a permanent exception. Deprecations are handled
-     separately on a case by case basis.
-   - `unused_element`, `unused_field` and `unused_local_variable` are allowed.
-   - When a new SDK version adds new errors, warnings or hints, we either clean
-     up everything before switching SDK version or maintain a list of allowed
-     violations so it can be gradually cleaned up.
- - Lints are considered and enabled on a case by case basis. When enabling a
-   lint we first clean up all pre-existing violations. After it's enabled, any
-   attempt to check in a further violation will be blocked.
-
-## Enabled Lints
-
-The currently enabled lints can be found in
-[analysis_options.1.11.0.yaml](https://github.com/dart-lang/pedantic/blob/master/lib/analysis_options.1.11.0.yaml).
-
-## Stricter than Effective Dart
-
-Here are the important places where `pedantic` is stricter than Effective Dart:
-
-`annotate_overrides` is stricter; Effective Dart says nothing about
-`@override`.
-
-`omit_local_variable_types` is stricter; Effective Dart only says to
-[avoid](https://dart.dev/guides/language/effective-dart/design#avoid-type-annotating-initialized-local-variables)
-type annotating initialized local variables.
-
-`prefer_single_quotes` is stricter; Effective Dart says nothing about
-single vs double quotes.
-
-`use_function_type_syntax` is stricter; Effective Dart only says to
-[consider](https://dart.dev/guides/language/effective-dart/design#consider-using-function-type-syntax-for-parameters)
-using the new syntax.
-
-## Using the Lints
-
-To use the lints add a dependency in your `pubspec.yaml`:
-
-```yaml
-# If you use `package:pedantic/pedantic.dart`, add a normal dependency.
-dependencies:
-  pedantic: ^1.11.0
-
-# Or, if you just want `analysis_options.yaml`, it can be a dev dependency.
-dev_dependencies:
-  pedantic: ^1.11.0
-```
-
-then, add an include in your `analysis_options.yaml`. If you want to always
-use the latest version of the lints, add a dependency on the main
-`analysis_options` file:
-
-
-```yaml
-include: package:pedantic/analysis_options.yaml
-```
-
-If your continuous build and/or presubmit check lints then they will likely
-fail whenever a new version of `package:pedantic` is released. To avoid this,
-specify a specific version of `analysis_options.yaml` instead:
-
-```yaml
-include: package:pedantic/analysis_options.1.11.0.yaml
-```
-
-## Unused Lints
-
-The following lints have been considered and will _not_ be enforced:
-
-`always_put_control_body_on_new_line`
-violates Effective Dart "DO format your code using dartfmt". See note about
-Flutter SDK style below.
-
-`always_put_required_named_parameters_first`
-does not allow for other logical orderings of parameters, such as matching the
-class field order or alphabetical.
-
-`always_specify_types`
-violates Effective Dart "AVOID type annotating initialized local variables"
-and others. See note about Flutter SDK style below.
-
-`avoid_annotating_with_dynamic`
-violates Effective Dart "PREFER annotating with `dynamic` instead of letting
-inference fail".
-
-`avoid_as`
-does not reflect common usage. See note about Flutter SDK style below.
-
-`avoid_catches_without_on_clauses`
-is too strict, catching anything is useful and common even if not always the
-most correct thing to do.
-
-`avoid_catching_errors`
-is too strict, the distinction between `Error` and `Exception` is followed
-closely in the SDK but is impractical to follow everywhere.
-
-`avoid_classes_with_only_static_members`
-is too strict, Effective Dart explicitly calls out some cases (constants,
-enum-like types) where it makes sense to violate this lint.
-
-`avoid_double_and_int_checks`
-only applies to web, but there is currently no mechanism for enabling a lint
-on web code only.
-
-`avoid_empty_else`
-redundant when `curly_braces_in_control_structures` is also enabled.
-
-`avoid_equals_and_hash_code_on_mutable_classes`
-would require the `@immutable` annotation to be consistently and correctly
-used everywhere.
-
-`avoid_field_initializers_in_const_classes`
-does not offer a clear readability benefit.
-
-`avoid_js_rounded_ints`
-only applies to web, but there is currently no mechanism for enabling a lint
-on web code only.
-
-`avoid_print`
-is too strict, it's okay to `print` in some code.
-
-`avoid_returning_null`
-will be obsoleted by sound null safety.
-
-`avoid_returning_this`
-has occasional false positives, and adds little value as the cascade operator
-for fluent interfaces in Dart is already very popular.
-
-`avoid_slow_async_io`
-gives wrong advice if the underlying filesystem has unusual properties, for
-example a network mount.
-
-`avoid_void_async`
-prevents a valid style where an asynchronous method has a `void` return type
-to indicate that nobody should `await` for the result.
-
-`cancel_subscriptions`
-has false positives when you use a utility method or class to call `cancel`.
-
-`cascade_invocations`
-does not reflect common usage.
-
-`close_sinks`
-has false positives when you use a utility method or class to call `close`.
-
-`constant_identifier_names`
-is too strict as it does not support the exceptions allowed in Effective Dart
-for use of ALL_CAPS.
-
-`control_flow_in_finally`
-does not offer enough value: people are unlikely to do this by accident,
-and there are occasional valid uses.
-
-`directives_ordering`
-would enforce a slightly different ordering to that used by IntelliJ and other
-tools using the analyzer.
-
-`diagnose_describe_all_properties`
-requires too much maintenance for most codebases.
-
-`empty_statements`
-is superfluous, enforcing use of `dartfmt` is sufficient to make empty
- statements obvious.
-
-`flutter_style_todos`
-is for Flutter SDK internal use, see note about Flutter SDK style below.
-
-`invariant_booleans`
-is experimental.
-
-`join_return_with_assignment`
-does not reflect common usage.
-
-`literal_only_boolean_expressions`
-does not offer enough value: such expressions are easily spotted and so hard
-to add by accident.
-
-`no_adjacent_strings_in_list`
-does not offer enough value: adjacent strings in lists are easily spotted
-when the code is formatted with `dartfmt`.
-
-`one_member_abstracts`
-is too strict, classes might implement more than one such abstract class and
-there is no equivalent way to do this using functions.
-
-`only_throw_errors`
-does not reflect common usage.
-
-`parameter_assignments`
-does not reflect common usage, and will cause particular problems with null safe
-code.
-
-`prefer_asserts_in_initializer_lists`
-does not reflect common usage.
-
-`prefer_asserts_with_message`
-is too strict; some asserts do not benefit from documentation.
-
-`prefer_bool_in_asserts`
- is obsolete in Dart 2; bool is required in asserts.
-
-`prefer_const_constructors`
-would add a lot of noise to code now that `new` is optional.
-
-`prefer_const_constructors_in_immutables`
-does not often apply as `@immutable` is not widely used.
-
-`prefer_const_literals_to_create_immutables`
-is too strict, requiring `const` everywhere adds noise.
-
-`prefer_constructors_over_static_methods`
-is too strict, in some cases static methods are better.
-
-`prefer_double_quotes`
-does not reflect common usage.
-
-`prefer_expression_function_bodies`
-is too strict, braces look better for long expressions.
-
-`prefer_final_in_for_each`
-does not reflect common usage.
-
-`prefer_final_locals`
-does not reflect common usage.
-
-`prefer_foreach`
-is too strict; `forEach` is not always an improvement.
-
-`prefer_if_elements_to_conditional_expressions`
-users prefer `?:` over `if`/`else`.
-
-`prefer_int_literals`
-does not reflect common usage.
-
-`sort_constructors_first`
-does not reflect common usage.
-
-`sort_unnamed_constructors_first`
-is too strict, people are free to choose the best constructor ordering.
-
-`test_types_in_equals`
-does not offer enough value: there are plenty of other mistakes possible in
-`operator ==` implementations. It's better to use codegen.
-
-`throw_in_finally`
-does not offer enough value: people are unlikely to do this by accident,
-and there are occasional valid uses.
-
-`unnecessary_null_aware_assignments`
-does not offer enough value: this is hard to do by mistake, and harmless.
-
-`use_setters_to_change_properties`
-is too strict: it can't detect when something is conceptually a property.
-
-`use_string_buffers`
-does not improve performance on web.
-
-`use_to_and_as_if_applicable`
-is too strict: it can't detect when the style rule actually applies.
-
-
-Note on Flutter SDK Style: some lints were created specifically to support
-Flutter SDK development. Flutter app developers should instead use standard
-Dart style as described in Effective Dart, and should not use these lints.
-
-## Features and bugs
-
-Please file feature requests and bugs at the [issue tracker][tracker].
-
-[tracker]: https://github.com/dart-lang/pedantic/issues
+To migrate away from `package:pedantic` please see the instructions
+[here](https://github.com/dart-lang/lints#migrating-from-packagepedantic).