diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2022 Torsten Schmits
+Copyright (c) 2023 Torsten Schmits
 
 Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
 following conditions are met:
diff --git a/changelog.md b/changelog.md
new file mode 100644
--- /dev/null
+++ b/changelog.md
@@ -0,0 +1,12 @@
+# 0.6.0.0
+
+* Support GHC 9.4 and Polysemy 1.9.
+
+# 0.3.0.0
+
+* Remove module exports for `Prelude` to avoid a Stack bug.
+
+# 0.2.1.0
+
+* Add `Incipit.Full` to allow extending it in multi-package projects that may run programs like `ghcid` that don't
+  consult Cabal files
diff --git a/incipit.cabal b/incipit.cabal
--- a/incipit.cabal
+++ b/incipit.cabal
@@ -5,32 +5,40 @@
 -- see: https://github.com/sol/hpack
 
 name:           incipit
-version:        0.7.0.0
+version:        0.8.0.0
 synopsis:       A Prelude for Polysemy
 description:    See https://hackage.haskell.org/package/incipit/docs/Incipit.html
 category:       Prelude
-homepage:       https://git.tryp.io/tek/incipit
+homepage:       https://github.com/tek/incipit#readme
 bug-reports:    https://github.com/tek/incipit/issues
 author:         Torsten Schmits
 maintainer:     hackage@tryp.io
-copyright:      2022 Torsten Schmits
+copyright:      2023 Torsten Schmits
 license:        BSD-2-Clause-Patent
 license-file:   LICENSE
 build-type:     Simple
+extra-source-files:
+    readme.md
+    changelog.md
 
 source-repository head
   type: git
-  location: https://git.tryp.io/tek/incipit
+  location: https://github.com/tek/incipit
 
 library
   exposed-modules:
       Conc
+      Gate
       Incipit
       Incipit.Full
       Log
       Queue
       Sync
       Time
+  other-modules:
+      Paths_incipit
+  autogen-modules:
+      Paths_incipit
   reexported-modules:
       Control.Concurrent.STM
     , Control.Concurrent.STM.TArray
@@ -70,68 +78,68 @@
   default-extensions:
       AllowAmbiguousTypes
       ApplicativeDo
-      BangPatterns
-      BinaryLiterals
       BlockArguments
-      ConstraintKinds
       DataKinds
       DefaultSignatures
       DeriveAnyClass
-      DeriveDataTypeable
-      DeriveFoldable
-      DeriveFunctor
-      DeriveGeneric
-      DeriveLift
-      DeriveTraversable
       DerivingStrategies
       DerivingVia
       DisambiguateRecordFields
-      DoAndIfThenElse
       DuplicateRecordFields
-      EmptyCase
-      EmptyDataDecls
-      ExistentialQuantification
-      FlexibleContexts
-      FlexibleInstances
       FunctionalDependencies
       GADTs
-      GeneralizedNewtypeDeriving
-      InstanceSigs
-      KindSignatures
       LambdaCase
       LiberalTypeSynonyms
-      MultiParamTypeClasses
       MultiWayIf
-      NamedFieldPuns
       OverloadedLabels
       OverloadedLists
       OverloadedStrings
       PackageImports
       PartialTypeSignatures
-      PatternGuards
       PatternSynonyms
-      PolyKinds
       QuantifiedConstraints
       QuasiQuotes
-      RankNTypes
       RecordWildCards
       RecursiveDo
       RoleAnnotations
-      ScopedTypeVariables
-      StandaloneDeriving
       TemplateHaskell
-      TupleSections
-      TypeApplications
       TypeFamilies
       TypeFamilyDependencies
-      TypeOperators
-      TypeSynonymInstances
       UndecidableInstances
       UnicodeSyntax
       ViewPatterns
-  ghc-options: -Wall -Wredundant-constraints -Wincomplete-uni-patterns -Wmissing-deriving-strategies -Widentities -Wunused-packages
+      BangPatterns
+      BinaryLiterals
+      ConstraintKinds
+      DeriveDataTypeable
+      DeriveFoldable
+      DeriveFunctor
+      DeriveGeneric
+      DeriveLift
+      DeriveTraversable
+      DoAndIfThenElse
+      EmptyCase
+      EmptyDataDecls
+      ExistentialQuantification
+      FlexibleContexts
+      FlexibleInstances
+      GeneralizedNewtypeDeriving
+      InstanceSigs
+      KindSignatures
+      MultiParamTypeClasses
+      NamedFieldPuns
+      PatternGuards
+      PolyKinds
+      RankNTypes
+      ScopedTypeVariables
+      StandaloneDeriving
+      TupleSections
+      TypeApplications
+      TypeOperators
+      TypeSynonymInstances
+  ghc-options: -Wall -Widentities -Wincomplete-uni-patterns -Wmissing-deriving-strategies -Wredundant-constraints -Wunused-type-patterns -Wunused-packages
   build-depends:
-      base >=4.13 && <4.18
+      base >=4.13 && <4.19
     , incipit-core ==0.5.*
     , polysemy-conc ==0.12.*
     , polysemy-log ==0.9.*
diff --git a/lib/Gate.hs b/lib/Gate.hs
new file mode 100644
--- /dev/null
+++ b/lib/Gate.hs
@@ -0,0 +1,4 @@
+-- |Reexport with a shorter module name.
+module Gate (module Polysemy.Conc.Gate) where
+
+import Polysemy.Conc.Gate
diff --git a/readme.md b/readme.md
new file mode 100644
--- /dev/null
+++ b/readme.md
@@ -0,0 +1,67 @@
+# About
+
+This library provides a `Prelude` for [Polysemy] libraries, building upon [incipit-base] and exporting most of
+Polysemy's core modules as well as a number of basic libraries:
+
+* [polysemy-conc](https://hackage.haskell.org/package/polysemy-conc)
+* [polysemy-time](https://hackage.haskell.org/package/polysemy-log)
+* [polysemy-log](https://hackage.haskell.org/package/polysemy-time)
+* [polysemy-resume](https://hackage.haskell.org/package/polysemy-resume)
+
+For a minimal variant that only exports Polysemy, consider [incipit-core].
+
+# Usage
+
+`incipit` exports `Prelude`, so in order to use it you only have to hide `Prelude` from `base`:
+
+For `hpack`:
+```yaml
+dependencies:
+  - name: base
+    version: '>= 4 && < 5'
+    mixin:
+      - hiding (Prelude)
+  - incipit >= 0.1
+```
+
+For `cabal`:
+```cabal
+build-depends:
+    base >=4 && <5, incipit >= 0.1
+mixins:
+    base hiding (Prelude)
+```
+
+# Custom Prelude
+
+In order to extend `incipit` with a local `Prelude`, the module `Incipit` has to be reexported and `incipit`'s
+`Prelude` needs to be hidden:
+
+```yaml
+dependencies:
+  - name: base
+    version: '>= 4 && < 5'
+    mixin:
+      - hiding (Prelude)
+  - name: incipit
+    version: >= 0.1
+    mixin:
+      - hiding (Prelude)
+```
+
+```haskell
+module Prelude (
+  module Prelude,
+  module Incipit,
+) where
+
+import Incipit
+
+projectName :: Text
+projectName =
+  "spaceship"
+```
+
+[incipit-base]: https://hackage.haskell.org/package/incipit-base
+[incipit-core]: https://hackage.haskell.org/package/incipit-core
+[Polysemy]: https://hackage.haskell.org/package/polysemy
