diff --git a/README.md b/README.md
index 8345fc68..1f1c43ed 100644
--- a/README.md
+++ b/README.md
@@ -1,244 +1,25 @@
-# Spring GraphQL
+# Spring GraphQL [](https://ci.spring.io/teams/spring-graphql/pipelines/spring-graphql)
+
[GraphQL](https://graphql.org/) support for Spring applications with [GraphQL Java](https://github.com/graphql-java/graphql-java).
-[](https://ci.spring.io/teams/spring-graphql/pipelines/spring-graphql)
+## Code of Conduct
+
+This project is governed by the [Spring Code of Conduct](CODE_OF_CONDUCT.adoc). By participating, you are expected to uphold this code of conduct. Please report unacceptable behavior to spring-code-of-conduct@pivotal.io.
+
+## Documentation
+
+This project maintains its reference documentation ([published](https://docs.spring.io/spring-grapqhl/docs/current-SNAPSHOT/spring-graphql-reference/) and [source](docs/src/docs/asciidoc)) and an
+[API reference](https://docs.spring.io/spring-graphql/docs/current-SNAPSHOT/javadoc-api/).
-## Getting started
+## Continuous Integration Builds
-This project is tested against Spring Boot 2.4+.
+Information regarding CI builds can be found in the [Spring GraphQL Concourse pipeline](ci/README.adoc) documentation.
-You can start by creating a project on https://start.spring.io and select the `spring-boot-starter-web` or `spring-boot-starter-webflux` starter,
-depending on the type of web application you'd like to build. Once the project is generated, you can manually add the
-`org.springframework.experimental:graphql-spring-boot-starter` dependency.
+## Stay in Touch
-`build.gradle` snippet:
-```groovy
-dependencies {
- implementation 'org.springframework.experimental:graphql-spring-boot-starter:1.0.0-SNAPSHOT'
-
- // Spring Web MVC starter
- implementation 'org.springframework.boot:spring-boot-starter-web'
- // OR Spring WebFlux starter
- implementation 'org.springframework.boot:spring-boot-starter-webflux'
+Follow [@SpringCentral](https://twitter.com/springcentral).
-}
-
-repositories {
- mavenCentral()
- // don't forget to add spring milestone or snapshot repositories
- maven { url 'https://repo.spring.io/milestone' }
- maven { url 'https://repo.spring.io/snapshot' }
-}
-```
-
-`pom.xml` snippet:
-```xml
-
-
- org.springframework.experimental
- graphql-spring-boot-starter
- 1.0.0-SNAPSHOT
-
-
-
-
- org.springframework.boot
- spring-boot-starter-web
-
-
-
- org.springframework.boot
- spring-boot-starter-webflux
-
-
-
-
-
-
-
- spring-milestones
- Spring Milestones
- https://repo.spring.io/milestone
-
-
- spring-snapshots
- Spring Snapshots
- https://repo.spring.io/snapshot
-
- true
-
-
-
-```
-
-You can now add a GraphQL schema in `src/main/resources/graphql/schema.graphqls` such as:
-
-```
-type Query {
- people: [Person]!
-}
-
-type Person {
- id: ID!
- name: String!
-}
-```
-
-Then you should configure the data fetching process using a `RuntimeWiringCustomizer` and custom components like
-Spring Data repositories, `WebClient` instances for Web APIs, a `@Service` bean, etc.
-
-```java
-@Component
-public class PersonDataWiring implements RuntimeWiringCustomizer {
-
- private final PersonService personService;
-
- public PersonDataWiring(PersonService personService) {
- this.personService = personService;
- }
-
- @Override
- public void customize(RuntimeWiring.Builder builder) {
- builder.type("Query", typeWiring -> typeWiring
- .dataFetcher("people", env -> this.personService.findAll()));
- }
-}
-```
-
-You can now start your application!
-A GraphiQL web interface is available at `http://localhost:8080/graphql` and you can use GraphQL clients
-to POST queries at the same location.
-
-
-## Features
-
-### Core configuration
-The Spring GraphQL project offers a few configuration properties to customize your application:
-
-````properties
-# web path to the graphql endpoint
-spring.graphql.path=/graphql
-# locations of the graphql '*.graphqls' schema files
-spring.graphql.schema.locations=classpath:graphql/
-# schema printer endpoint configuration
-# endpoint path is concatenated with the main path, so "/graphql/schema" by default
-spring.graphql.schema.printer.enabled=false
-spring.graphql.schema.printer.path=/schema
-# GraphiQL UI configuration
-spring.graphql.graphiql.enabled=true
-spring.graphql.graphiql.path=/graphiql
-# whether micrometer metrics should be collected for graphql queries
-management.metrics.graphql.autotime.enabled=true
-````
-
-You can contribute `RuntimeWiringCustomizer` beans to the context in order to configure the runtime wiring of your GraphQL application.
-
-### WebSocket support
-
-This project also supports WebSocket as a transport for GraphQL requests - you can use it to build [`Subscription` queries](http://spec.graphql.org/draft/#sec-Subscription).
-This use case is powered by Reactor `Flux`, check out the `samples/webflux-websocket` sample application for more.
-
-To enable this support, you need to configure the `spring.graphql.websocket.path` property in your application
-and have the required dependencies on classpath. In the case of a Servlet application, adding the `spring-boot-starter-websocket` should be enough.
-
-WebSocket support comes with dedicated properties:
-
-````properties
-# Path of the GraphQL WebSocket subscription endpoint.
-spring.graphql.websocket.path=/graphql/websocket
-# Time within which the initial {@code CONNECTION_INIT} type message must be received.
-spring.graphql.websocket.connection-init-timeout=60s
-````
-
-### Extension points
-
-You can contribute [`WebInterceptor` beans](https://github.com/spring-projects-experimental/spring-graphql/blob/master/spring-graphql/src/main/java/org/springframework/graphql/WebInterceptor.java)
-to the application context, so as to customize the `ExecutionInput` or the `ExecutionResult` of the query.
-A custom `WebInterceptor` can, for example, change the HTTP request/response headers.
-
-### Testing support
-
-When the `spring-boot-starter-test` dependency is on the classpath, Spring GraphQL provides a testing infrastructure for your application.
-
-Spring Boot allows you to test your web application with [with a mock environment](https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.testing.spring-boot-applications.with-mock-environment)
-or [with a running server](https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.testing.spring-boot-applications.with-running-server).
-In both cases, adding the `@AutoConfigureGraphQlTester` annotation on your test class will contribute a `GraphQlTester` bean you can inject and use in your tests:
-
-```` java
-@SpringBootTest
-@AutoConfigureMockMvc
-@AutoConfigureGraphQlTester
-public class MockMvcGraphQlTests {
-
- @Autowired
- private GraphQlTester graphQlTester;
-
- @Test
- void jsonPath() {
- String query = "{" +
- " project(slug:\"spring-framework\") {" +
- " releases {" +
- " version" +
- " }" +
- " }" +
- "}";
-
- this.graphQlTester.query(query)
- .execute()
- .path("project.releases[*].version")
- .entityList(String.class)
- .hasSizeGreaterThan(1);
- }
-}
-````
-
-### Metrics
-
-If the `spring-boot-starter-actuator` dependency is on the classpath, metrics will be collected for GraphQL requests.
-You can see those metrics by exposing the metrics endpoint with `application.properties`:
-```properties
-management.endpoints.web.exposure.include=health,metrics,info
-```
-
-#### GraphQL Request (timer)
-
-A Request metric timer is available at `/actuator/metrics/graphql.request`.
-
-| Tag | Description | Sample values |
-|---------|-----------------|--------------------|
-| outcome | Request outcome | "SUCCESS", "ERROR" |
-
-
-#### GraphQL Data Fetcher (timer)
-
-A Data Fetcher metric timer is available at `/actuator/metrics/graphql.datafetcher`.
-
-| Tag | Description | Sample values |
-|---------|-----------------------|--------------------|
-| path | data fetcher path | "Query.project" |
-| outcome | data fetching outcome | "SUCCESS", "ERROR" |
-
-
-#### GraphQL Error (counter)
-
-A counter metric counter is available at `/actuator/metrics/graphql.error`.
-
-| Tag | Description | Sample values |
-|-----------|-----------------|-------------------------|
-| errorType | error type | "DataFetchingException" |
-| errorPath | error JSON Path | "$.project" |
-
-## Sample applications
-
-This repository contains sample applications that the team is using to test new features and ideas.
-
-You can run them by cloning this repository and typing on the command line:
-
-```shell script
-$ ./gradlew :samples:webmvc-http:bootRun
-$ ./gradlew :samples:webflux-websocket:bootRun
-```
## License