diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
deleted file mode 100644
index 329011e..0000000
--- a/CONTRIBUTING.md
+++ /dev/null
@@ -1,45 +0,0 @@
-# How to Contribute
-
-We'd love to accept your patches and contributions to this project. There are
-just a few small guidelines you need to follow.
-
-## Contributor License Agreement
-
-Contributions to this project must be accompanied by a Contributor License
-Agreement. You (or your employer) retain the copyright to your contribution;
-this simply gives us permission to use and redistribute your contributions as
-part of the project. Head over to <https://cla.developers.google.com/> to see
-your current agreements on file or to sign a new one.
-
-You generally only need to submit a CLA once, so if you've already submitted one
-(even if it was for a different project), you probably don't need to do it
-again.
-
-## Code reviews
-
-All submissions, including submissions by project members, require review. We
-use [Dawn's Gerrit](https://dawn-review.googlesource.com/) for this purpose.
-
-Submissions should follow the [Tint style guide](docs/tint/style_guide.md).
-
-## Pushing to Gerrit
-
-Each change requires a `Change-Id` field in the commit message, which is generated by the [Gerrit commit-msg hook](](https://gerrit-review.googlesource.com/Documentation/cmd-hook-commit-msg.html)). \
-In a bash terminal, with the current path set to your tint source tree, this can be obtained by running the following:
-
-```bash
-f=`git rev-parse --git-dir`/hooks/commit-msg ; mkdir -p $(dirname $f) ; curl -Lo $f https://gerrit-review.googlesource.com/tools/hooks/commit-msg ; chmod +x $f
-```
-
-If you've already locally committed a change without the `Change-Id`, running `git commit --amend` will add the missing `Change-Id`.
-
-To create a Gerrit change for review, type:
-
-```bash
-git push origin HEAD:refs/for/main
-```
-
-## Community Guidelines
-
-This project follows
-[Google's Open Source Community Guidelines](https://opensource.google.com/conduct/).
diff --git a/README.md b/README.md
index fbe6cfb..58f05aa 100644
--- a/README.md
+++ b/README.md
@@ -1,22 +1,31 @@
 # Tint
 
+---
+Note: This repo is read-only, minimized mirror of [the Dawn repo](https://dawn.googlesource.com/dawn).
+
+**Tint changes should be made in [the Dawn repo](https://dawn.googlesource.com/dawn).**
+
+---
+
 Tint is a compiler for the WebGPU Shader Language (WGSL).
 
 This is not an officially supported Google product.
 
 ## Requirements
- * Git
- * CMake (3.10.2 or later)
- * Ninja (or other build tool)
- * Python, for fetching dependencies
- * [depot_tools] in your path
+
+* Git
+* CMake (3.10.2 or later)
+* Ninja (or other build tool)
+* Python, for fetching dependencies
+* [depot_tools] in your path
 
 ## Build options
- * `TINT_BUILD_SPV_READER` : enable the SPIR-V input reader (off by default)
- * `TINT_BUILD_WGSL_READER` : enable the WGSL input reader (on by default)
- * `TINT_BUILD_SPV_WRITER` : enable the SPIR-V output writer (on by default)
- * `TINT_BUILD_WGSL_WRITER` : enable the WGSL output writer (on by default)
- * `TINT_BUILD_FUZZERS` : enable building fuzzzers (off by default)
+
+* `TINT_BUILD_SPV_READER` : enable the SPIR-V input reader (off by default)
+* `TINT_BUILD_WGSL_READER` : enable the WGSL input reader (on by default)
+* `TINT_BUILD_SPV_WRITER` : enable the SPIR-V output writer (on by default)
+* `TINT_BUILD_WGSL_WRITER` : enable the WGSL output writer (on by default)
+* `TINT_BUILD_FUZZERS` : enable building fuzzzers (off by default)
 
 ## Building
 Tint uses Chromium dependency management so you need to install [depot_tools]
@@ -39,6 +48,7 @@
 ```
 
 ### Compiling using CMake + Ninja
+
 ```sh
 mkdir -p out/Debug
 cd out/Debug
@@ -47,6 +57,7 @@
 ```
 
 ### Compiling using CMake + make
+
 ```sh
 mkdir -p out/Debug
 cd out/Debug
@@ -55,6 +66,7 @@
 ```
 
 ### Compiling using gn + ninja
+
 ```sh
 mkdir -p out/Debug
 gn gen out/Debug
@@ -62,12 +74,14 @@
 ```
 
 ### Fuzzers on MacOS
+
 If you are attempting fuzz, using `TINT_BUILD_FUZZERS=ON`, the version of llvm
 in the XCode SDK does not have the needed libfuzzer functionality included.
 
 The build error that you will see from using the XCode SDK will look something
 like this:
-```
+
+```text
 ld: file not found:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.0/lib/darwin/libclang_rt.fuzzer_osx.a
 ```
 
@@ -76,6 +90,7 @@
 clang> cmake ..` to setup a build using that toolchain.
 
 ### Checking [chromium-style] issues in CMake builds
+
 The gn based work flow uses the Chromium toolchain for building in anticipation
 of integration of Tint into Chromium based projects. This toolchain has
 additional plugins for checking for style issues, which are marked with
@@ -96,11 +111,10 @@
 ```
 
 ## Issues
+
 Please file any issues or feature requests at
 https://bugs.chromium.org/p/tint/issues/entry
 
 ## Contributing
-Please see the CONTRIBUTING and CODE_OF_CONDUCT files on how to contribute to
-Tint.
 
-Tint has a process for supporting [experimental extensions](docs/tint/experimental_extensions.md).
+Please see the [contributing guide in the Dawn repo](https://dawn.googlesource.com/dawn/+/refs/heads/main/CONTRIBUTING.md).
