diff --git a/README.md b/README.md
index 20a7ab8..75063ce 100644
--- a/README.md
+++ b/README.md
@@ -4,21 +4,45 @@
 automate interactions with OpenBMC systems.
 
 It's highly likely the scripts don't meet your needs - they could be
-undocumented, dysfunctional, utterly broken, or sometimes casually `rm -rf ~`.
-Don't even think about looking for tests.
+undocumented, dysfunctional or utterly broken. Please help us improve!
 
 ## Repository Rules
 
 * _Always_ inspect what you will be executing
 * Some hacking on your part is to be expected
 
-You have been warned.
-
 ## If you're still with us
 
 Then this repository aims to be the default destination for your otherwise
 un-homed scripts. As such we are setting the bar for submission pretty low,
-and we aim to make the process as easy as possible:
+and we aim to make the process as easy as possible.
+
+## Catalogue of scripts
+
+### Users
+
+* [`openbmc-events`](geissonator/openbmc-events/): Query error events on the target server
+* [`openbmc-sensors`](geissonator/openbmc-events/): Query sensors on the target server
+* [`openbmc-sfw`](geissonator/openbmc-events/): Manage host and BMC firmware images on the target server
+* [`openbmctool`](thalerj/): A general purpose tool for user interactions with OpenBMC
+* [`pretty-journal`](post-process/): Convert journalctl's 'pretty' output to regular output
+* [`upload_and_update`](leiyu/): Upload a tarball to TFTP server and update BMC with it
+
+### Developers
+
+* [`netboot`](amboar/obmc-scripts/netboot/): Painless netboot of BMC kernels
+* [`obmc-gerrit`](amboar/obmc-scripts/maintainers/): Automagically add reviewers to changes pushed to Gerrit
+* [`reboot`](amboar/obmc-scripts/reboot/): Endlessly reboot OpenPOWER hosts
+* [`tracing`](amboar/obmc-scripts/tracing/): Enable and clean up kernel tracepoints remotely
+* [`witherspoon-debug`](amboar/obmc-scripts/witherspoon-debug/): Deploy the debug tools tarball to Witherspoon BMCs
+
+### Maintainers
+
+* [`cla-signers`](emilyshaffer/cla-signers): Check if a contributor has signed the OpenBMC CLA
+
+### Project Administrators
+
+* [`autobump`](infra/): Update commit IDs in bitbake recipes to bring in new changes
 
 ## Sending patches
 
@@ -26,15 +50,17 @@
 
 * Pull-requests [on github](https://github.com/openbmc/openbmc-tools)
 * Patches [sent to the mailing list](https://lists.ozlabs.org/listinfo/openbmc)
-* If you really must [use Gerrit](https://gerrit.openbmc-project.xyz/) we will
-  figure that out too
+* Through [Gerrit](https://gerrit.openbmc-project.xyz/)
+
+Do note that you will need to be party to the [OpenBMC
+CLA](https://github.com/openbmc/docs/blob/master/contributing.md#submitting-changes-via-gerrit-server)
+before your contributions can be accepted.
 
 ## What we will do once we have your patches
 
-Look, the `rm -rf ~` thing was a joke, we will be keeping an eye on all of you
-for such shenanigans. But so long as your patches look sane with a cursory
-glance you can expect them to be applied. To be honest, even Perl will be
-considered moderately sane.
+So long as your patches look sane with a cursory glance you can expect them to
+be applied. We may push back in the event that similar tools already exist or
+there are egregious issues.
 
 ## What you must have in your patches
 
@@ -43,11 +69,13 @@
 Apache 2.0 license. Licensing everything under Apache 2.0 will just hurt our
 heads less. Lets keep the lawyers off our backs. ^
 
-^ Any exceptions must be accompanied by a LICENSE file in the relevant
+^Any exceptions must be accompanied by a LICENSE file in the relevant
 subdirectory, and be compatible with Apache 2.0. You thought you would get away
 without any fine print?
 
 ## How you consume the repository
 
-Probably with difficulty. Don't expect the layout to remain static, or scripts
-to continue to exist from one commit to the next.
+There's no standard way to install the scripts housed in the here, so adding
+parts of the repository to your PATH might be a bit of a dice-roll. We may also
+move or remove scripts from time to time as part of housekeeping. It's probably
+best to copy things out if you need stability.
