diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+1.0.1
+
+- Small improvements to package description
+
 1.0.0
 
 - Initial release
diff --git a/README.md b/README.md
new file mode 100644
--- /dev/null
+++ b/README.md
@@ -0,0 +1,68 @@
+# `hlint-plugin`
+
+This is a revival of the [`splint` project](https://github.com/tfausak/splint)
+to create an `hlint` plugin for GHC.
+
+The main advantages of doing this are:
+
+- Better integration with GHC tooling
+
+  Now `hlint` errors will appear directly in your tools (e.g. `cabal build`
+  `ghcid`, `haskell-language-server`) instead of you having to run `hlint`
+  out of band.
+
+- You only have to lint modules that you rebuild
+
+- You don't have to parse the module twice
+
+In order to build this plugin, you will need to:
+
+- build the `hlint` package with the `-f-ghc-lib` cabal configure option
+- build the `ghc-lib-parser-ex` package with the `-fno-ghc-lib` cabal configure
+  option
+
+To use this plugin, add this package as a build dependency and then enable the
+following GHC options (typically in the `ghc-options:` field of your `.cabal`
+file):
+
+```bash
+-fplugin HLint.Plugin
+```
+
+You can pass command-line options to `hlint` using `-fplugin-opt`, like this:
+
+```bash
+-fplugin HLint.Plugin -fplugin-opt='HLint.Plugin:--ignore=Redundant guard'
+```
+
+## Development
+
+This repository uses Nix for development.  You can build this package entirely
+using Nix for a specific version of `ghc` by running:
+
+```ShellSession
+$ nix develop .#ghc${MAJOR}${MINOR}
+```
+
+… replacing `${MAJOR}` and `${MINOR}` with the major and minor version of the
+`ghc` that you're using.  For example, if you're using GHC 9.4, then you'd run:
+
+```ShellSession
+$ nix build .#ghc94
+```
+
+If you want to develop interactively using Cabal inside of a Nix shell, run:
+
+```ShellSession
+$ nix develop .#ghc${MAJOR}${MINOR}
+```
+
+Once you are inside that Nix shell, then you can use `cabal` commands, like
+`cabal build` or `cabal repl`.  You can also use `ghcid` or launch your favorite
+IDE from inside this shell.
+
+To check that this plugin works for all supported GHC versions, run:
+
+```ShellSession
+$ nix flake check
+```
diff --git a/hlint-plugin.cabal b/hlint-plugin.cabal
--- a/hlint-plugin.cabal
+++ b/hlint-plugin.cabal
@@ -1,13 +1,16 @@
 cabal-version:      3.0
 name:               hlint-plugin
-version:            1.0.0
+version:            1.0.1
 synopsis:           GHC plugin for hlint
-description:        This package provides an GHC plugin that runs `hlint` on the
-                    compiled module.  The main advantages of doing this are:
-                    .
-                    * Better integration with GHC tooling
-                    * You only have to lint modules that you rebuild
-                    * You don't have to parse the module twice
+description:
+    This package provides an GHC plugin that runs `hlint` on the compiled
+    module.  The main advantages of doing this are: (A) better integration with
+    GHC tooling, (B) only linting modules that change, and (C) only parsing the
+    module once.
+    .
+    Note that this package will only build if you build the @hlint@ dependency
+    with @-f-ghc-lib@ and build the @ghc-lib-parser-ex@ dependency with
+    @-fno-ghc-lib@
 license:            BSD-3-Clause
 license-file:       LICENSE
 author:             Mercury Technologies
@@ -15,6 +18,7 @@
 copyright:          2023 Mercury Technologies
 build-type:         Simple
 extra-doc-files:    CHANGELOG.md
+extra-source-files: README.md
 
 library
     hs-source-dirs:   src
