diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 00000000..73072ced
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,24 @@
+# Welcome 💖
+
+Before anything else, thank you for taking some of your precious time to help this project move forward. ❤️
+
+If you're new to open source and feeling a bit nervous 😳, we understand! We recommend watching [this excellent guide](https://egghead.io/talks/git-how-to-make-your-first-open-source-contribution) to give you a grounding in some of the basic concepts. We want you to feel safe to make mistakes, and ask questions.
+
+If anything in this guide or anywhere else in the codebase doesn't make sense to you, please let us know! It's through your feedback that we can make this codebase more welcoming, so we'll be glad to hear thoughts.
+
+You can chat with us in the `#committers` channel in our [Community Discord](https://cucumber.io/community#discord), or feel free to [raise an issue](../../issues/new?assignees=&labels=%3Abank%3A+debt&template=developer_experience.md&title=) if you're experiencing any friction trying make your contribution.
+
+## Getting started
+
+First, install the dependencies and check the tests pass:
+
+```shell
+npm install
+npm test
+```
+
+We use [Ladle](https://ladle.dev/) to develop and test our components, which you can start up with:
+
+```shell
+npm run start
+```
\ No newline at end of file
diff --git a/README.md b/README.md
index e5a8c837..b2f0f629 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,8 @@
> A set of React components for rendering Gherkin documents and Cucumber results.
-## Screenshot
+Preview and examples:
+https://cucumber-react-preview.netlify.app/

@@ -11,35 +12,21 @@
- This package is distributed in ES module format only.
- React 18 or above is required.
-The source code for screenshots above is:
+The source code for the screenshot above is:
```jsx
-
+import { EnvelopesProvider, GherkinDocumentList } from '@cucumber/react-components'
+
+
-
+
```
-The [``](src/components/app/GherkinDocumentList.tsx) React component,
-is an accordion of [``](src/components/gherkin/GherkinDocument.tsx).
-
-The `` React component and any component nested within it (such as [``](src/components/gherkin/Scenario.tsx)) can be rendered standalone.
-
-## `` features
-
-The `` React component is instantiated with a single `gherkinDocument` prop.
-The value must be a [GherkinDocument](../../cucumber-messages/messages.md#io.cucumber.messages.GherkinDocument) object.
-You can use the [Gherkin](../../gherkin) parser to generate a `GherkinDocument` object.
-
-By default the `` component will not display any coloured results, as the `GherkinDocument`
-message object does not contain results, only the [AST](https://en.wikipedia.org/wiki/Abstract_syntax_tree) of the document.
-This is fine for simple use cases where results are not important.
-
-To render a `` with results and highlighted [Cucumber Expression parameters](https://cucumber.io/docs/cucumber/cucumber-expressions/) parameters it must be nested inside a
-[``](src/components/app/Wrapper.tsx) component.
+`envelopes` should be an array of [Cucumber Messages](https://github.com/cucumber/messages) that came from a test run. You can obtain these from most Cucumber implementations by using a "Message" formatter.
## Attachments
-Attachments from test runs are shown with their corresponding steps. The baseline behaviour for attachments is a download button. However, we have some special handling for very common MIME types to make them more useful without leaving the report:
+Attachments from test runs are shown with their corresponding steps. The baseline behavior for attachments is a download button. However, we have some special handling for common MIME types to make them more useful without leaving the report:
- `image/*` - images are rendered with an `
` tag
- `video/*` - videos are rendered with a `