diff --git a/quiche/http2/README.md b/quiche/http2/README.md
new file mode 100644
index 0000000..c20b991
--- /dev/null
+++ b/quiche/http2/README.md
@@ -0,0 +1,62 @@
+# HTTP/2
+
+This directory contains C++ code implementing
+[the HTTP/2 protocol](https://www.rfc-editor.org/rfc/rfc9113.html).
+
+Much of this code was written originally as a collaboration between the
+[Chromium networking](https://www.chromium.org/developers/design-documents/network-stack/)
+and
+[Google Front End](https://cloud.google.com/docs/security/infrastructure/design#google-frontend-service)
+teams while developing the experimental SPDY protocol. SPDY was later
+standardized as HTTP/2.
+
+## `http2/adapter/`
+
+This subdirectory contains general purpose HTTP/2 protocol handling libraries.
+The `oghttp2_adapter` library can be used in combination with an event loop, a
+TLS library, and a socket library to make a complete HTTP/2 client or server.
+
+## `http2/core/`
+
+This subdirectory contains core utilities, including constants, data structures,
+and some common entry points that can be used to parse and serialize HTTP/2
+protocol elements.
+
+## `http2/decoder`
+
+This subdirectory contains a decoder for the HTTP/2 wire format, written from
+scratch by James Synge. This decoder is used by Chromium-based browsers, the
+Google Front End reverse-proxy, and Envoy-based proxies.
+
+## `http2/hpack`
+
+This subdirectory contains a decoder and encoder for the
+[HPACK](https://datatracker.ietf.org/doc/html/rfc7541) compression algorithm
+
+## `http2/test_tools`
+
+This subdirectory contains test utilities that facilitate writing unit tests for
+code in the other subdirectories.
+
+## Contributors
+
+Some people who have contributed to this codebase include:
+
+*   Alyssa Wilk
+*   Antonio Vicente
+*   Bence Beky
+*   Biren Roy
+*   Dan Zhang
+*   Daniel Hollingshead
+*   Dianna Hu
+*   Hasan Khalil
+*   James Synge
+*   John Graettinger
+*   Michaela LaVan
+*   Mike Belshe
+*   Mike Warres
+*   Robbie Shade
+*   Roberto Peon
+*   Ryan Hamilton
+*   Victor Vasiliev
+*   Yang Song
diff --git a/quiche/http2/adapter/README.md b/quiche/http2/adapter/README.md
new file mode 100644
index 0000000..d4ef4a4
--- /dev/null
+++ b/quiche/http2/adapter/README.md
@@ -0,0 +1,67 @@
+# `oghttp2`: a general purpose HTTP/2 library
+
+[TOC]
+
+## Overview
+
+The code in this directory implements the HTTP/2 internet protocol as specified
+in [RFC 9113](https://www.rfc-editor.org/rfc/rfc9113.html).
+
+You will need the following additional pieces of code in order to build a
+functioning client or server:
+
+*   an event loop, like [`libevent`](https://libevent.org/) or
+    [`libuv`](https://libuv.org/);
+*   a TLS library, like [OpenSSL](https://www.openssl.org/); and
+*   application logic, to generate HTTP headers and bodies for the requests you
+    want to send, or the responses you want to serve.
+
+### Motivation
+
+Back in 2018, the open source [Envoy proxy](https://github.com/envoyproxy/envoy)
+community [discovered](https://github.com/envoyproxy/envoy/issues/5155) that the
+[`http-parser`](https://github.com/nodejs/http-parser) HTTP/1.1 codec library in
+use at the time was no longer actively maintained. While working to resolve this
+issue, Google engineers evaluated several HTTP/1 codec libraries as potential
+replacements. After much consideration, we decided to release the Google HTTP/1
+codec library (Balsa) as part of the [QUICHE](https://github.com/google/quiche)
+open source project.
+
+At this point, the QUICHE project provided open source implementations of HTTP/1
+and HTTP/3, but not HTTP/2. We were motivated in part by this glaring omission,
+but also by the desire to provide a modern, readable C++ implementation for use
+by Envoy and other future projects.
+
+### History
+
+We reused some existing open source code when building the `oghttp2` library. As
+part of the [SPDY](https://www.chromium.org/spdy/spdy-whitepaper/) project,
+developers on the Chromium project worked with other Google engineers to invent
+a new multiplexed transport for HTTP. As the project evolved over time, those
+engineers built several shared utilities, many of which survive to the present
+day.
+
+These utilities are incorporated wholesale into `oghttp2`:
+
+*   a wire format encoder, in `http2/core/spdy_framer.h`;
+*   a wire format decoder, in `http2/decoder/http2_frame_decoder.h`;
+*   a HPACK encoder, in `http2/hpack/hpack_encoder.h`; and
+*   a HPACK decoder, in `http2/hpack/hpack_decoder_adapter.h`.
+
+Given that part of our motivation for the `oghttp2` project was the needs of the
+Envoy open source project, the first piece that we built was a C++ API around
+the existing HTTP/2 library that Envoy used at that time:
+[`nghttp2`](https://nghttp2.org/). This API started as an "adapter" layer
+between Envoy's notion of a codec and what the `nghttp2` library provided, which
+is why `oghttp2` is located in `http2/adapter`.
+
+We would like to thank the `nghttp2` project for providing a straightforward C
+API that we could build on.
+
+## Code Overview
+
+### Common Types
+
+### Design
+
+### Adapter Implementations
