diff --git a/docs/README.md b/docs/README.md
index e5e355286defb5de99a5d0ffa99106682d2ffbac..2ddd8c3dcae450aeb7f4e8a5f12a871456de218c 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -10,7 +10,7 @@ documentation.
  - [Development](development/README.md) - instructions for building, running and
    testing Fuchsia and software that runs on Fuchsia
  - [System](the-book/README.md) - documentation for how Fuchsia works
- - [Contributing changes](https://fuchsia.googlesource.com/fuchsia/+/refs/heads/master/CONTRIBUTING.md)
+ - [Contributing changes](/CONTRIBUTING.md)
 
 Other files in this repository are **system-wide** documentation articles for
 Fuchsia. **Individual subprojects** have their own documentation within each
diff --git a/docs/development/README.md b/docs/development/README.md
index 73674a1f76bdb49452a21419a1bae71533590ad0..9e160dc2ac42611b42fe7c2988a146f89f3fc0d1 100644
--- a/docs/development/README.md
+++ b/docs/development/README.md
@@ -84,6 +84,6 @@ This section covers Fuchsia-wide conventions and best practices.
  - [CTU analysis in Zircon](workflows/ctu_analysis.md)
 
 
-[acer_12]: https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/targets/acer12.md "Acer 12"
-[intel_nuc]: https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/targets/nuc.md "Intel NUC"
+[acer_12]: /zircon/docs/targets/acer12.md "Acer 12"
+[intel_nuc]: /zircon/docs/targets/nuc.md "Intel NUC"
 [pixelbook]: hardware/pixelbook.md "Pixelbook"
diff --git a/docs/development/abi/system.md b/docs/development/abi/system.md
index ed45131073efb183bc83b93ac0be6a60d99b2e47..a7d4a507e60d0d95c091698cd5119e013e40010f 100644
--- a/docs/development/abi/system.md
+++ b/docs/development/abi/system.md
@@ -48,13 +48,13 @@ The vDSO is a virtual shared library that provides access to the kernel.
 Concretely, the vDSO is an ELF shared library, called `libzircon.so`, that
 exports a number of symbols with a C calling convention. The source of truth for
 these symbols is
-[syscalls.abigen](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/public/zircon/syscalls.abigen).
+[syscalls.abigen](/zircon/system/public/zircon/syscalls.abigen).
 Their semantics are described in
-[the documentation](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/syscalls/).
+[the documentation](/zircon/docs/syscalls/).
 
 Of particular importance are the semantics of the clocks defined by
 `libzircon.so`. The semantics of these clocks are described by
-[clock_get.md](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/syscalls/clock_get.md#supported-clock-ids)
+[clock_get.md](/zircon/docs/syscalls/clock_get.md#supported-clock-ids)
 
 ### FIDL protocols
 
@@ -146,7 +146,7 @@ executable running in the process, but some of the initial structure of the
 process is controlled by the system and part of the system ABI.
 
 For additional details, see
-[Program Loading](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/program_loading.md).
+[Program Loading](/zircon/docs/program_loading.md).
 
 #### ELF loader
 
diff --git a/docs/development/api/c.md b/docs/development/api/c.md
index 42a70fdd6e2eebb6a248a562da0f410741e99960..ed68712b1608206adc3339c669903cabb3edf6c6 100644
--- a/docs/development/api/c.md
+++ b/docs/development/api/c.md
@@ -470,5 +470,5 @@ the system ABI. For instance, it may refer to an integer field that is
 less aligned than required by the language. This can be expressed via
 compiler extensions such as pragma pack.
 
-[compiler.h]: https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/public/zircon/compiler.h
+[compiler.h]: /zircon/system/public/zircon/compiler.h
 [library naming document]: ../languages/c-cpp/naming.md
diff --git a/docs/development/api/device_interfaces.md b/docs/development/api/device_interfaces.md
index e8e2e769626b348b452af83e8602d47e3282920f..c928a8a3deaef36a30a2eb065a6374bf743b40fc 100644
--- a/docs/development/api/device_interfaces.md
+++ b/docs/development/api/device_interfaces.md
@@ -49,5 +49,5 @@ any shared data structures with `struct` definitions and provide detailed
 documentation about participation in the protocol.  Packed structures are not
 currently supported.
 
-[fidl-readability-rubric]: https://fuchsia.googlesource.com/fuchsia/+/master/docs/development/api/fidl.md
-[bits]: https://fuchsia.googlesource.com/fuchsia/+/master/docs/development/api/fidl.md#bits
+[fidl-readability-rubric]: /docs/development/api/fidl.md
+[bits]: /docs/development/api/fidl.md#bits
diff --git a/docs/development/api/documentation.md b/docs/development/api/documentation.md
index 2acb797715b42b4d41879d8e59f67071d78fa1f0..4fd1d8107cf6118df23beaf9f1b8c537445976a7 100644
--- a/docs/development/api/documentation.md
+++ b/docs/development/api/documentation.md
@@ -17,8 +17,8 @@ below.
 
 Here are the links to language-specific guidelines for languages likely to be
 used in the Fuchsia repository: [C and
-C++](https://fuchsia.googlesource.com/fuchsia/+/master/docs/development/languages/c-cpp/cpp-style.md),
-[Dart](https://fuchsia.googlesource.com/fuchsia/+/master/docs/development/languages/dart/style.md)
+C++](/docs/development/languages/c-cpp/cpp-style.md),
+[Dart](/docs/development/languages/dart/style.md)
 [Rust](https://github.com/rust-lang-nursery/fmt-rfcs/blob/master/guide/guide.md),
 [Java](https://google.github.io/styleguide/javaguide.html),
 [Kotlin](https://kotlinlang.org/docs/reference/coding-conventions.html#documentation-comments).
diff --git a/docs/development/api/fidl.md b/docs/development/api/fidl.md
index 8e9bce96765fead108049cdf6c35414ea9fb255c..a7f988827ed6574753d08154cd084d8f820fc7e0 100644
--- a/docs/development/api/fidl.md
+++ b/docs/development/api/fidl.md
@@ -1607,4 +1607,4 @@ interact with a potentially large set of logical objects through a single
 protocol.
 
 <!-- xrefs -->
-[ftp-025]: https://fuchsia.googlesource.com/fuchsia/+/master/docs/development/languages/fidl/reference/ftp/ftp-025.md
+[ftp-025]: /docs/development/languages/fidl/reference/ftp/ftp-025.md
diff --git a/docs/development/api/system.md b/docs/development/api/system.md
index 83e8bddf50f1a03e849c8f5a44ac554bd4116628..1544e691e31c3d081e85126f3bc7eeb680b926d6 100644
--- a/docs/development/api/system.md
+++ b/docs/development/api/system.md
@@ -7,8 +7,8 @@ and preprocessor macros must have names that start with `ZX_`.  Types defined as
 part of the interface must have names that begin with `zx_` and end with `_t`.
 
 Every function that is part of the interface must be documented with a markdown
-file in https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/syscalls/ and
-linked from https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/syscalls.md .
+file in /zircon/docs/syscalls/ and
+linked from /zircon/docs/syscalls.md .
 
 ## Function Names
 
diff --git a/docs/development/api/tools.md b/docs/development/api/tools.md
index a690beab3db68a3e71a5f7f16bae3a8d8c048f6b..8cfc563dc5d90b9535d2eefea2684a0702810075 100644
--- a/docs/development/api/tools.md
+++ b/docs/development/api/tools.md
@@ -18,11 +18,11 @@ The core SDK will not contain only:
 
   * The tool binary itself.
 
-  * The [dev_finder](https://fuchsia.googlesource.com/fuchsia/+/refs/heads/master/sdk/docs/device_discovery.md)
+  * The [dev_finder](/sdk/docs/device_discovery.md)
     tool which can enumerate Fuchsia devices to get their names.
 
   * A document in
-    [//sdk/docs](https://fuchsia.googlesource.com/fuchsia/+/refs/heads/master/sdk/docs/)
+    [//sdk/docs](/sdk/docs/)
     describing the contract of this tool and how to connect it to the target
     system. The target audience of this document is people writing integration
     scripts rather than being an end-user-friendly “how-to” (debugger example).
diff --git a/docs/development/benchmarking/results_schema.md b/docs/development/benchmarking/results_schema.md
index c6f478b2ed93382702f28a684986598ae62b3455..a02e958178f62a415935e521ad51cf0719d1bf80 100644
--- a/docs/development/benchmarking/results_schema.md
+++ b/docs/development/benchmarking/results_schema.md
@@ -21,8 +21,8 @@ Fuchsia libraries for your language for emitting the JSON data:
 NOTE: If your benchmark is in a different language, please provide a reuseable
 library or file a bug against IN to request one.
 
-[C/C++]: https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/ulib/perftest
-[Go]: https://fuchsia.googlesource.com/fuchsia/+/master/garnet/go/src/benchmarking
+[C/C++]: /zircon/system/ulib/perftest
+[Go]: /garnet/go/src/benchmarking
 [Dart]: #
 [trace-based benchmark]: trace_based_benchmarking.md
 
diff --git a/docs/development/benchmarking/running_on_ci.md b/docs/development/benchmarking/running_on_ci.md
index 4ac0ebc18e2264f2e7b114b13618c70c826cda59..861e5a4f41c75c170a44441e5d0fbf54d5902d6b 100644
--- a/docs/development/benchmarking/running_on_ci.md
+++ b/docs/development/benchmarking/running_on_ci.md
@@ -32,8 +32,8 @@ please read the [Fuchsia package documentation].
 
 We have shell scripts that run all of a layer's benchmarks at every commit to that layer.
 
-* Garnet: [//garnet/tests/benchmarks](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/tests/benchmarks)
-* Peridot: [//peridot/tests/benchmarks](https://fuchsia.googlesource.com/fuchsia/+/master/peridot/tests/benchmarks)
+* Garnet: [//garnet/tests/benchmarks](/garnet/tests/benchmarks)
+* Peridot: [//peridot/tests/benchmarks](/peridot/tests/benchmarks)
 * Topaz: [//topaz/tests/benchmarks](https://fuchsia.googlesource.com/topaz/+/master/tests/benchmarks)
 
 These shell scripts are written using a helper library called [Runbenchmarks].  Add a
@@ -77,6 +77,6 @@ NOTE: We do not yet have a User guide for the [Performance Dashboard Version 2].
 [Performance Dashboard]: https://chromeperf.appspot.com/report
 [Performance Dashboard User Guide]: catapult_user_guide.md
 [Performance Dashboard Version 2]: https://v2spa-dot-chromeperf.appspot.com/
-[Runbenchmarks]: https://fuchsia.googlesource.com/fuchsia/+/master/garnet/testing/runbenchmarks
-[//zircon/system/ulib/perftest]: https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/ulib/perftest/
-[//garnet/go/src/benchmarks]: https://fuchsia.googlesource.com/fuchsia/+/master/garnet/go/src/benchmarks
+[Runbenchmarks]: /garnet/testing/runbenchmarks
+[//zircon/system/ulib/perftest]: /zircon/system/ulib/perftest/
+[//garnet/go/src/benchmarks]: /garnet/go/src/benchmarks
diff --git a/docs/development/benchmarking/trace_based_benchmarking.md b/docs/development/benchmarking/trace_based_benchmarking.md
index 0c46bd1392c73aef4e70853bd03ee744b8cf5eb4..d4f771d0527041d5b0f6ae522b80af3c68836382 100644
--- a/docs/development/benchmarking/trace_based_benchmarking.md
+++ b/docs/development/benchmarking/trace_based_benchmarking.md
@@ -192,7 +192,7 @@ the [dashboard user guide] and the instructions for [automating benchmarks].
 
 [automating benchmarks]: running_on_ci.md
 [dashboard user guide]: catapult_user_guide.md
-[examples/benchmark]: https://fuchsia.googlesource.com/fuchsia/+/master/garnet/examples/benchmark/
+[examples/benchmark]: /garnet/examples/benchmark/
 [results schema]: results_schema.md
 [best practices]: #best-practices
 [tracing]: ../tracing/tracing-usage-guide.md
diff --git a/docs/development/build/build_information.md b/docs/development/build/build_information.md
index 20dd62e76ea3880dc4b9ef4cc0acf5ebffc41724..97a9251f26bfc591dc02e5725a338dcf40611b33 100644
--- a/docs/development/build/build_information.md
+++ b/docs/development/build/build_information.md
@@ -44,6 +44,6 @@ Jiri snapshot of the most recent ‘jiri update’
 
 # Kernel version
 ## Location:
-Stored in vDSO.  Accessed through [`zx_system_get_version`]( https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/syscalls/system_get_version.md)
+Stored in vDSO.  Accessed through [`zx_system_get_version`]( /zircon/docs/syscalls/system_get_version.md)
 
 Zircon revision computed during the kernel build process.
diff --git a/docs/development/build/overview.md b/docs/development/build/overview.md
index 325707dfb3d0642fc2dc4c8e067c984bed0a6e9d..1e313aa9155d50df013323ce1d8724968d01bcd4 100644
--- a/docs/development/build/overview.md
+++ b/docs/development/build/overview.md
@@ -223,6 +223,6 @@ You likely forgot to run **A** before running **B**.
 [gn-preso]: https://docs.google.com/presentation/d/15Zwb53JcncHfEwHpnG_PoIbbzQ3GQi_cpujYwbpcbZo/
 [ninja-main]: https://ninja-build.org/
 [gn-reference]: https://gn.googlesource.com/gn/+/master/docs/reference.md
-[build-project]: https://fuchsia.googlesource.com/fuchsia/+/master/build/
-[zircon-getting-started]: https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/getting_started.md
-[zircon-gn-options]: /zircon/docs/gn_in_zircon.md
+[build-project]: /build/
+[zircon-getting-started]: /zircon/docs/getting_started.md
+[zircon-gn-options]: /zircon/docs/gn/zircon_gn.md
diff --git a/docs/development/build/package_layout.md b/docs/development/build/package_layout.md
index 34e9ec24aa9d1181c19ad0c7a0cfd3dd19beab45..45b14158efc6c781899e90396fa464a02118f552 100644
--- a/docs/development/build/package_layout.md
+++ b/docs/development/build/package_layout.md
@@ -70,4 +70,4 @@ description in the present document.
 Note that only package files are allowed in such a directory, with the exception
 of `README.md` files for documentation purposes.
 
-[verify-layer]: https://fuchsia.googlesource.com/fuchsia/+/master/scripts/packages/README.md
+[verify-layer]: /scripts/packages/README.md
diff --git a/docs/development/build/packages.md b/docs/development/build/packages.md
index c6b1bdab3c389de72d6206fd474cd05ff76a580f..0b14f2ea9aef4c5afef410e23f6db0d3b7e88560 100644
--- a/docs/development/build/packages.md
+++ b/docs/development/build/packages.md
@@ -85,8 +85,8 @@ $
 
 
 
-[garnet-packages-source]: https://fuchsia.googlesource.com/fuchsia/+/master/garnet/packages/
-[peridot-packages-source]: https://fuchsia.googlesource.com/fuchsia/+/master/peridot/packages/
+[garnet-packages-source]: /garnet/packages/
+[peridot-packages-source]: /peridot/packages/
 [topaz-packages-source]: https://fuchsia.googlesource.com/topaz/+/master/packages/
-[preprocess-build-packages-py]: https://fuchsia.googlesource.com/fuchsia/+/master/build/gn/prepreprocess_build_packages.py
+[preprocess-build-packages-py]: /build/gn/prepreprocess_build_packages.py
 [products]: products.md
diff --git a/docs/development/build/products.md b/docs/development/build/products.md
index 4a458863dc41d616b9dc5f3a063994e31fafb41c..17e5e3a12f006ea021bef61f460c083d6ec3961a 100644
--- a/docs/development/build/products.md
+++ b/docs/development/build/products.md
@@ -63,5 +63,5 @@ produces this for the build and can be run by hand:
 $ python build/gn/preprocess_products.py --products '["garnet/products/default"]'
 ```
 
-[products-source]: https://fuchsia.googlesource.com/fuchsia/+/master/products/
-[preprocess-products-py]: https://fuchsia.googlesource.com/fuchsia/+/master/build/gn/preprocess_products.py
+[products-source]: /products/
+[preprocess-products-py]: /build/gn/preprocess_products.py
diff --git a/docs/development/build/variants.md b/docs/development/build/variants.md
index 52ed629f3cdccee9917a6b96fa349663c142ca8e..e7c8b5f2c4b19e453602c25d3db5935252cfd901 100644
--- a/docs/development/build/variants.md
+++ b/docs/development/build/variants.md
@@ -8,7 +8,7 @@ The variants defined so far enable things like
 [LTO](https://llvm.org/docs/LinkTimeOptimization.html).
 
 The GN build argument
-[`select_variant`](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/docs/gen/build_arguments.md#select_variant)
+[`select_variant`](/garnet/docs/gen/build_arguments.md#select_variant)
 controls which components are built in which variants.  It applies
 automatically to every `executable`, `loadable_module`, or `driver_module`
 target in GN files.  It's a flexible mechanism in which you give a list of
@@ -49,10 +49,10 @@ select_variant = [ "host_asan", "asan/cat", "asan/ledger" ]
 
 The GN code supports much more flexible matching rules than just the binary
 name, but there are no shorthands for those. See the
-[`select_variant`](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/docs/gen/build_arguments.md#select_variant)
+[`select_variant`](/garnet/docs/gen/build_arguments.md#select_variant)
 build argument documentation for more details.
 
 To see the list of variants available and learn more about how to define
 new ones, see the
-[`known_variants`](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/docs/gen/build_arguments.md#known_variants)
+[`known_variants`](/garnet/docs/gen/build_arguments.md#known_variants)
 build argument.
diff --git a/docs/development/languages/c-cpp/README.md b/docs/development/languages/c-cpp/README.md
index 389c6c5850abeeb38361458b0fbb02b059607330..f37efe95c63998f2d64dafee5ccf3f9782b48860 100644
--- a/docs/development/languages/c-cpp/README.md
+++ b/docs/development/languages/c-cpp/README.md
@@ -8,4 +8,4 @@
 - [Testing FAQ](testing_faq.md)
 - [Syslog](syslog.md)
 - [Perftest micro-benchmark library](
-https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/ulib/perftest/README.md)
+/zircon/system/ulib/perftest/README.md)
diff --git a/docs/development/languages/c-cpp/editors.md b/docs/development/languages/c-cpp/editors.md
index 8ca0841ea5c67daa69f9e9c73f38e8cdbc764478..4b0951797c3ac72cf81898d665bff35f84ffb263 100644
--- a/docs/development/languages/c-cpp/editors.md
+++ b/docs/development/languages/c-cpp/editors.md
@@ -49,7 +49,7 @@ you are trying to solve
 
 ## VIM
 
-See [Helpful Vim tools for Fuchsia development](https://fuchsia.googlesource.com/fuchsia/+/master/scripts/vim/README.md).
+See [Helpful Vim tools for Fuchsia development](/scripts/vim/README.md).
 
 ## Visual Studio Code (vscode)
 
diff --git a/docs/development/languages/c-cpp/syslog.md b/docs/development/languages/c-cpp/syslog.md
index 7189d8b0e5728d21cf90f0d7e7583ec29b3cf016..639d11e5a00e67c8088740bcc2968d36113fd4dc 100644
--- a/docs/development/languages/c-cpp/syslog.md
+++ b/docs/development/languages/c-cpp/syslog.md
@@ -49,7 +49,7 @@ FX_LOGF(INFO, NULL, "my msg: %d", 10);
 
 ### Reference
 
-[C APIs](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/ulib/syslog/include/lib/syslog/global.h)
+[C APIs](/zircon/system/ulib/syslog/include/lib/syslog/global.h)
 
 ## In C++
 
@@ -118,6 +118,6 @@ FX_LOGST(INFO, "tag") << "my message";
 
 ### Reference
 
-[C++ APIs](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/lib/syslog/cpp/logger.h)
+[C++ APIs](/garnet/public/lib/syslog/cpp/logger.h)
 <br/>
-[FSL initialization API](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/lib/fsl/syslogger/init.h)
+[FSL initialization API](/garnet/public/lib/fsl/syslogger/init.h)
diff --git a/docs/development/languages/dart/README.md b/docs/development/languages/dart/README.md
index 42a1c17865c27106ceb80e320a97f432466c99be..76cb6ee731816700576b79d9a134fb8b583297c9 100644
--- a/docs/development/languages/dart/README.md
+++ b/docs/development/languages/dart/README.md
@@ -58,9 +58,9 @@ my_package/
 
 [pub]: https://www.dartlang.org/tools/pub/get-started "Pub"
 [package-layout]: https://www.dartlang.org/tools/pub/package-layout "Package layout"
-[target-library]: https://fuchsia.googlesource.com/fuchsia/+/master/build/dart/dart_library.gni "dart_library target"
+[target-library]: /build/dart/dart_library.gni "dart_library target"
 [target-app]: https://fuchsia.googlesource.com/topaz/+/master/runtime/dart_runner/dart_app.gni "dart_app target"
-[target-tool]: https://fuchsia.googlesource.com/fuchsia/+/master/build/dart/dart_tool.gni "dart_tool target"
+[target-tool]: /build/dart/dart_tool.gni "dart_tool target"
 [target-flutter]: https://fuchsia.googlesource.com/topaz/+/master/runtime/flutter_runner/flutter_app.gni "flutter_app target"
-[target-test]: https://fuchsia.googlesource.com/fuchsia/+/master/build/dart/dart.gni "dart_test target"
+[target-test]: /build/dart/dart.gni "dart_test target"
 [flutter]: https://flutter.io/ "Flutter"
diff --git a/docs/development/languages/dart/fidl.md b/docs/development/languages/dart/fidl.md
index 2dc2e6cbe811a1e8ae797ed573408e228193a5f2..efd9098f285e3eaf1484d5c8327a1933e456afa5 100644
--- a/docs/development/languages/dart/fidl.md
+++ b/docs/development/languages/dart/fidl.md
@@ -42,4 +42,4 @@ If two FIDL targets coexist in a single BUILD file:
   binding's assumptions.
 
 
-[fidl]: https://fuchsia.googlesource.com/fuchsia/+/master/build/fidl/fidl.gni "FIDL"
+[fidl]: /build/fidl/fidl.gni "FIDL"
diff --git a/docs/development/languages/dart/third_party.md b/docs/development/languages/dart/third_party.md
index 41caadd3c837f904d941ce31ac50941ddb133235..680bac96239a8f18d6c9b4b78f3392340aedd9a7 100644
--- a/docs/development/languages/dart/third_party.md
+++ b/docs/development/languages/dart/third_party.md
@@ -34,4 +34,4 @@ dependencies:
 
 [pub]: https://pub.dartlang.org/ "Pub"
 [dart-3p]: https://fuchsia.googlesource.com/third_party/dart-pkg/+/master "Third-party dependencies"
-[dart-3p-script]: https://fuchsia.googlesource.com/fuchsia/+/master/scripts/dart/update_3p_packages.py "Dependencies script"
+[dart-3p-script]: /scripts/dart/update_3p_packages.py "Dependencies script"
diff --git a/docs/development/languages/fidl/intro/README.md b/docs/development/languages/fidl/intro/README.md
index f888127583914be32c5ae9241fbc428e7afaf0de..78799d71dbd0f69e6233c9a442ad1b24fb4d23cc 100644
--- a/docs/development/languages/fidl/intro/README.md
+++ b/docs/development/languages/fidl/intro/README.md
@@ -22,7 +22,7 @@ This document is a description of the Fuchsia Interface Definition Language
 [API Readability / Style Guide]: ../../../api/fidl.md
 [C Language Bindings]: ../languages/c.md
 [C++ Language Bindings]: ../languages/cpp.md
-[Examples]: https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/host/fidl/examples
+[Examples]: /zircon/system/host/fidl/examples
 [Tutorial]: ../tutorial/README.md
 
 [TOC]
@@ -139,11 +139,11 @@ Requirements
 
 ## Where to Find the Code
 
-- [The compiler](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/host/fidl)
-- [C bindings](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/ulib/fidl)
-- [C++ bindings](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/lib/fidl/cpp)
+- [The compiler](/zircon/system/host/fidl)
+- [C bindings](/zircon/system/ulib/fidl)
+- [C++ bindings](/sdk/lib/fidl/cpp)
 - [Go bindings](https://fuchsia.googlesource.com/third_party/go/+/master/src/syscall/zx/fidl/)
-- [Rust bindings](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/lib/fidl/rust)
+- [Rust bindings](/garnet/public/lib/fidl/rust)
 
 ## Constituent Parts of Specification
 
diff --git a/docs/development/languages/fidl/languages/c.md b/docs/development/languages/fidl/languages/c.md
index 844e2fd49b9e7e4e595fb3b0f755dab23a94e0ce..6bce0b70598322241dbeca83d05cd4a126c2ab64 100644
--- a/docs/development/languages/fidl/languages/c.md
+++ b/docs/development/languages/fidl/languages/c.md
@@ -217,9 +217,9 @@ zx_status_t fidl_encode_msg(const fidl_type_t* type, fidl_msg_t* msg,
 ```
 
 Declared in
-[lib/fidl/coding.h](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/ulib/fidl/include/lib/fidl/coding.h),
+[lib/fidl/coding.h](/zircon/system/ulib/fidl/include/lib/fidl/coding.h),
 defined in
-[encoding.cpp](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/ulib/fidl/encoding.cpp).
+[encoding.cpp](/zircon/system/ulib/fidl/encoding.cpp).
 
 Encodes and validates exactly **num_bytes** of the object in **bytes** in-place
 by performing a depth-first traversal of the encoding data from **type**
@@ -288,9 +288,9 @@ zx_status_t fidl_decode_msg(const fidl_type_t* type, fidl_msg_t* msg,
 ```
 
 Declared in
-[lib/fidl/coding.h](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/ulib/fidl/include/lib/fidl/coding.h),
+[lib/fidl/coding.h](/zircon/system/ulib/fidl/include/lib/fidl/coding.h),
 defined in
-[decoding.cpp](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/ulib/fidl/decoding.cpp).
+[decoding.cpp](/zircon/system/ulib/fidl/decoding.cpp).
 
 Decodes and validates the object in **bytes** in-place by performing a
 depth-first traversal of the encoding data from **type** to fix up internal
@@ -358,10 +358,10 @@ zx_status_t fidl_validate_msg(const fidl_type_t* type, const fidl_msg_t* msg,
 
 Declared in
 [system/ulib/fidl/include/lib/fidl/coding.h](
-https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/ulib/fidl/include/lib/fidl/coding.h),
+/zircon/system/ulib/fidl/include/lib/fidl/coding.h),
 defined in
 [system/ulib/fidl/validating.cpp](
-https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/ulib/fidl/validating.cpp).
+/zircon/system/ulib/fidl/validating.cpp).
 
 Validates the object in **bytes** in-place by performing a depth-first
 traversal of the encoding data from **type** to fix up internal
@@ -386,9 +386,9 @@ zx_status_t fidl_epitaph_write(zx_handle_t channel, zx_status_t error);
 ```
 
 Declared in
-[lib/fidl/epitaph.h](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/ulib/fidl/include/lib/fidl/epitaph.h),
+[lib/fidl/epitaph.h](/zircon/system/ulib/fidl/include/lib/fidl/epitaph.h),
 defined in
-[epitaph.c](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/ulib/fidl/epitaph.c).
+[epitaph.c](/zircon/system/ulib/fidl/epitaph.c).
 
 This function sends an epitaph with the given error number down the given
 channel.  An epitaph is a special message, with ordinal 0xFFFFFFFF, which
@@ -583,7 +583,7 @@ pointer on `fidl_msg_t`.
 ### Binding
 
 FIDL also provides `fidl_bind`, defined in
-[lib/fidl/bind.h](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/ulib/fidl-async/include/lib/fidl-async/bind.h),
+[lib/fidl/bind.h](/zircon/system/ulib/fidl-async/include/lib/fidl-async/bind.h),
 that binds a generated
 dispatch function to an `async_dispatcher_t`. The `fidl_bind` function creates
 an `async_wait_t` that waits for messages on the channel and calls through the
diff --git a/docs/development/languages/fidl/reference/README.md b/docs/development/languages/fidl/reference/README.md
index 2eda12550c5a2776ed6f7f3ed76dbe2346bd5371..6c445efa6e4da05b3beb0fde4f5602b2aa33073a 100644
--- a/docs/development/languages/fidl/reference/README.md
+++ b/docs/development/languages/fidl/reference/README.md
@@ -22,13 +22,13 @@ Fuchsia has adopted a [readability rubric](../../../api/fidl.md) for FIDL librar
 ### C
 
 - [Documentation](../languages/c.md)
-- [Echo server example](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/examples/fidl/echo_server_c/)
+- [Echo server example](/garnet/examples/fidl/echo_server_c/)
 
 ### C++
 
 - [Documentation](../languages/cpp.md)
-- [Echo server example](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/examples/fidl/echo_server_cpp/)
-- [Echo client example](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/examples/fidl/echo_client_cpp/)
+- [Echo server example](/garnet/examples/fidl/echo_server_cpp/)
+- [Echo client example](/garnet/examples/fidl/echo_client_cpp/)
 
 ### Dart
 
@@ -39,14 +39,14 @@ Fuchsia has adopted a [readability rubric](../../../api/fidl.md) for FIDL librar
 ### Go
 
 - [Documentation](../languages/go.md)
-- [Echo server example](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/examples/fidl/echo_server_go/)
-- [Echo client example](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/examples/fidl/echo_client_go/)
+- [Echo server example](/garnet/examples/fidl/echo_server_go/)
+- [Echo client example](/garnet/examples/fidl/echo_client_go/)
 
 ### Rust
 
 - [Documentation](../languages/rust.md)
-- [Echo server example](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/examples/fidl/echo_server_rust/)
-- [Echo client example](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/examples/fidl/echo_client_rust/)
+- [Echo server example](/garnet/examples/fidl/echo_server_rust/)
+- [Echo client example](/garnet/examples/fidl/echo_client_rust/)
 
 ## Learning
 
diff --git a/docs/development/languages/fidl/reference/compiler.md b/docs/development/languages/fidl/reference/compiler.md
index d1ea2d48c72d6b2fee4be46c857d69cad446117e..c0f8003a2564982c737c37855924ed9fe662324d 100644
--- a/docs/development/languages/fidl/reference/compiler.md
+++ b/docs/development/languages/fidl/reference/compiler.md
@@ -3,7 +3,7 @@
 This document describes the command-line interface to the FIDL compiler.
 
 Information on the internals of that tool lives
-[alongside the source of the tool](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/host/fidl/README.md).
+[alongside the source of the tool](/zircon/system/host/fidl/README.md).
 
 See [Overview](../intro/README.md) for more information about FIDL's overall
 purpose, goals, and requirements, as well as links to related documents.
@@ -33,7 +33,7 @@ a number of arguments:
 
  * `--json JSON_PATH`. If present, this flag instructs `fidlc` to output the
    library's intermediate representation at the given path. The intermediate
-   representation is JSON that conforms to [a particular schema](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/host/fidl/schema.json).
+   representation is JSON that conforms to [a particular schema](/zircon/system/host/fidl/schema.json).
    The intermediate representation is used as input to the various backends.
 
  * `--name LIBRARY_NAME`. If present, this flag instructs `fidlc` to validate
@@ -59,7 +59,7 @@ takes a number of arguments:
 
  * `--json` (required). The path to the intermediate representation of the
    library. The intermediate representation is JSON that conforms to
-   [a particular schema](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/host/fidl/schema.json).
+   [a particular schema](/zircon/system/host/fidl/schema.json).
 
  * `--generators` (required). A comma-separated list of generators to run on the
    given library. The following generators are currently supported: `cpp`, `go`,
diff --git a/docs/development/languages/fidl/reference/editors.md b/docs/development/languages/fidl/reference/editors.md
index b9882400b1f347a2937201bfd44c425462a60da4..91798b95c6a5b3d994e4c3df3ab61e3af3962239 100644
--- a/docs/development/languages/fidl/reference/editors.md
+++ b/docs/development/languages/fidl/reference/editors.md
@@ -18,7 +18,7 @@ Repositories** and search for **FIDL**.
 
 ## Sublime Text
 
-[Sublime syntax highlighting support can be found here](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/lib/fidl/tools/sublime).
+[Sublime syntax highlighting support can be found here](/garnet/public/lib/fidl/tools/sublime).
 
 To install, go to **Sublime Text > Preferences > Browse Packages** and copy the
 files ``FIDL.sublime-syntax``, and ``Comments (FIDL).tmPreferences`` into the
@@ -26,7 +26,7 @@ files ``FIDL.sublime-syntax``, and ``Comments (FIDL).tmPreferences`` into the
 
 ## Vim
 
-[Vim syntax highlighting support and instructions can be found here](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/lib/fidl/tools/vim).
+[Vim syntax highlighting support and instructions can be found here](/garnet/public/lib/fidl/tools/vim).
 
 ## Visual Studio Code
 
@@ -39,7 +39,7 @@ Contributions to the various plugins are welcome. Their respective code lives at
 
 * **Atom**: <https://fuchsia.googlesource.com/atom-language-fidl/>
 * **IntelliJ**: <https://fuchsia.googlesource.com/intellij-language-fidl/>
-* **Sublime**: <https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/lib/fidl/tools/sublime>
-* **vim**: <https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/lib/fidl/tools/vim>
+* **Sublime**: </garnet/public/lib/fidl/tools/sublime>
+* **vim**: </garnet/public/lib/fidl/tools/vim>
 * **Visual Studio Code**: <https://fuchsia.googlesource.com/vscode-language-fidl/>
 
diff --git a/docs/development/languages/fidl/reference/ftp/ftp-003.md b/docs/development/languages/fidl/reference/ftp/ftp-003.md
index 03f0e560009c4923f2bd9722dc19b4fac8efcc61..2ce49aa74dd878118fd7ae3c3f9789fa3dc7bc72 100644
--- a/docs/development/languages/fidl/reference/ftp/ftp-003.md
+++ b/docs/development/languages/fidl/reference/ftp/ftp-003.md
@@ -255,7 +255,6 @@ type Sample struct {
 ```
 <!-- xref -->
 
-[grammar]: https://fuchsia.googlesource.com/fuchsia/+/master/docs/development/languages/fidl/reference/grammar.md
+[grammar]: /docs/development/languages/fidl/reference/grammar.md
 [example-types]: https://fuchsia.googlesource.com/fuchsia/+/31b42a793d8e7c485fd8ef09112dc0ed20195a8b/zircon/system/host/fidl/examples/types.test.fidl#45
 [proto3-defaults]: https://developers.google.com/protocol-buffers/docs/proto3#default
-
diff --git a/docs/development/languages/fidl/reference/ftp/ftp-006.md b/docs/development/languages/fidl/reference/ftp/ftp-006.md
index 71103f3e1cf9eddc42da78fdd5ee4d7fb5493856..41b7db97156f3fd04ef6cbe0943eefa72f4b2a49 100644
--- a/docs/development/languages/fidl/reference/ftp/ftp-006.md
+++ b/docs/development/languages/fidl/reference/ftp/ftp-006.md
@@ -120,4 +120,4 @@ required or optional.
 n/a
 
 <!-- xrefs -->
-[fidl-language]: https://fuchsia.googlesource.com/fuchsia/+/master/docs/development/languages/fidl/reference/language.md
+[fidl-language]: /docs/development/languages/fidl/reference/language.md
diff --git a/docs/development/languages/fidl/reference/ftp/ftp-008.md b/docs/development/languages/fidl/reference/ftp/ftp-008.md
index f52deedf537da74e736a08f3023f66d51c473445..31583b021e10e28f12d95f8e6bbcfd399e5a3cc4 100644
--- a/docs/development/languages/fidl/reference/ftp/ftp-008.md
+++ b/docs/development/languages/fidl/reference/ftp/ftp-008.md
@@ -215,7 +215,7 @@ Not applicable.
 Unittests for this feature will be added to the appropriate FIDL bindings. After
 each supported FIDL binding gets support, we should augment the set of [FIDL
 compatibility
-tests](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/bin/fidl_compatibility_test/).
+tests](/garnet/bin/fidl_compatibility_test/).
 
 ## Drawbacks, Alternatives, and Unknowns
 
diff --git a/docs/development/languages/fidl/reference/ftp/ftp-013.md b/docs/development/languages/fidl/reference/ftp/ftp-013.md
index 9ce5f0bfc7302ca1d9c40ca4e8d5aa8ff665f62f..7ea5669e7ff85709867a21799d0c18f50d2d6b70 100644
--- a/docs/development/languages/fidl/reference/ftp/ftp-013.md
+++ b/docs/development/languages/fidl/reference/ftp/ftp-013.md
@@ -213,15 +213,15 @@ for this field anymore, code should stop using this data."
 
 <!-- XREFS -->
 
-[attributes]: https://fuchsia.googlesource.com/fuchsia/+/master/docs/development/languages/fidl/reference/attributes.md
+[attributes]: /docs/development/languages/fidl/reference/attributes.md
 [donotuse1]: https://fuchsia.googlesource.com/fuchsia/+/caa3f20aa7b64240f4265ede5e6deddf0f2d0cf7/garnet/public/fidl/fuchsia.media/audio_renderer.fidl#7
 [donotuse2]: https://fuchsia.googlesource.com/fuchsia/+/ce931e090d0c54030a80397bd24f217132983794/peridot/public/fidl/fuchsia.modular/module/module_context.fidl#79
 [three-recommended-forms]: https://github.com/golang/go/issues/10909#issuecomment-136492606
-[readability-rubric]: https://fuchsia.googlesource.com/fuchsia/+/master/docs/development/api/fidl.md#Good-Design-Patterns
+[readability-rubric]: /docs/development/api/fidl.md#Good-Design-Patterns
 [rust-deprecated]: https://doc.rust-lang.org/reference/attributes.html#deprecation
 [rust-deny-warnings]: https://doc.rust-lang.org/reference/attributes.html#lint-check-attributes
 [rust-allow-deprecated]: https://doc.rust-lang.org/reference/attributes.html#lint-check-attributes
-[go-doc-comments]: https://fuchsia.googlesource.com/fuchsia/+/master/docs/development/languages/fidl/reference/ftp/ftp-009.md
+[go-doc-comments]: /docs/development/languages/fidl/reference/ftp/ftp-009.md
 [go-staticcheck]: https://staticcheck.io/docs/checks#checks
 [protobufs-only-on-fields]: https://developers.google.com/protocol-buffers/docs/proto3
 [flatbuffers-only-on-fields]: https://google.github.io/flatbuffers/md__schemas.html
diff --git a/docs/development/languages/fidl/reference/ftp/ftp-014.md b/docs/development/languages/fidl/reference/ftp/ftp-014.md
index defffe2023fa4c1af8d7e5a5ae42086df5257e39..c99a2f5412b4c99cb1e5a4afade3ef81918907c1 100644
--- a/docs/development/languages/fidl/reference/ftp/ftp-014.md
+++ b/docs/development/languages/fidl/reference/ftp/ftp-014.md
@@ -212,9 +212,9 @@ We're adopting a more conservative idea of error representation for now.
 [dbus]: https://dbus.freedesktop.org/doc/dbus-tutorial.html#callprocedure
 [grpc]: https://grpc.io/docs/guides/error.html
 [http]: https://tools.ietf.org/html/rfc1945#section-9
-[language]: https://fuchsia.googlesource.com/fuchsia/+/master/docs/development/languages/fidl/reference/language.md
-[rubric]: https://fuchsia.googlesource.com/fuchsia/+/master/docs/development/api/fidl.md
-[testinterface]: https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/lib/fidl/compatibility_test/compatibility_test_service.fidl
-[tutorial]: https://fuchsia.googlesource.com/fuchsia/+/master/docs/development/languages/fidl/tutorial/README.md
-[wire-format]: https://fuchsia.googlesource.com/fuchsia/+/master/docs/development/languages/fidl/reference/wire-format/README.md
+[language]: /docs/development/languages/fidl/reference/language.md
+[rubric]: /docs/development/api/fidl.md
+[testinterface]: /garnet/public/lib/fidl/compatibility_test/compatibility_test_service.fidl
+[tutorial]: /docs/development/languages/fidl/tutorial/README.md
+[wire-format]: /docs/development/languages/fidl/reference/wire-format/README.md
 [grpc_status_code]: https://github.com/grpc/grpc/blob/master/include/grpc/impl/codegen/status.h#L26
diff --git a/docs/development/languages/fidl/reference/ftp/ftp-015.md b/docs/development/languages/fidl/reference/ftp/ftp-015.md
index 23adc5a43aaeb19bae6221b1a2f053c4b8147dc9..5d0a61d599e8227be217d87ee440a9f6ff926771 100644
--- a/docs/development/languages/fidl/reference/ftp/ftp-015.md
+++ b/docs/development/languages/fidl/reference/ftp/ftp-015.md
@@ -288,8 +288,8 @@ null value and an empty value.
 [triggercondition]: https://fuchsia.googlesource.com/fuchsia/+/0d83b07e19d055d609715b77750a8a4009b593f7/public/fidl/fuchsia.modular/agent/agent_context.fidl#54
 [intentparameterdata]: https://fuchsia.googlesource.com/fuchsia/+/af1ee7fc37a839022ad8fb9e29a0a02e07a6fdcf/public/fidl/fuchsia.modular/intent/intent.fidl#37
 [interaction]: https://fuchsia.googlesource.com/fuchsia/+/4d82bce3c69970f305a0583ebe96a2a821cba8a8/public/fidl/fuchsia.modular/suggestion/suggestion_provider.fidl#123
-[fidl-language]: https://fuchsia.googlesource.com/fuchsia/+/master/docs/development/languages/fidl/reference/language.md
-[fidl-wire-format]: https://fuchsia.googlesource.com/fuchsia/+/master/docs/development/languages/fidl/reference/wire-format/README.md
+[fidl-language]: /docs/development/languages/fidl/reference/language.md
+[fidl-wire-format]: /docs/development/languages/fidl/reference/wire-format/README.md
 [interface1]: https://fuchsia.googlesource.com/fuchsia/+/17bec424c1c24d1a9a41410108c4e018be8ac5e7/system/fidl/fuchsia-net-stack/stack.fidl#114
 [interface2]: https://fuchsia.googlesource.com/fuchsia/+/17bec424c1c24d1a9a41410108c4e018be8ac5e7/system/fidl/fuchsia-net-stack/stack.fidl#119
 [oneof]: https://developers.google.com/protocol-buffers/docs/proto#oneof
diff --git a/docs/development/languages/fidl/reference/ftp/ftp-020.md b/docs/development/languages/fidl/reference/ftp/ftp-020.md
index 06c6e42aca3064ad4a58c74e68c8246797b97f8a..0d6f4f21c15243691b0dfefe9f6332e2a2eee952 100644
--- a/docs/development/languages/fidl/reference/ftp/ftp-020.md
+++ b/docs/development/languages/fidl/reference/ftp/ftp-020.md
@@ -366,7 +366,7 @@ We'll carefully consider how to test the case of an actual hash collision, since
 artificially generating hash collisions with a good hash is difficult (by design).
 
 Otherwise, the typical battery of unit tests, CQ tests,
-[compatibility tests](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/lib/fidl/compatibility_test/README.md)
+[compatibility tests](/garnet/public/lib/fidl/compatibility_test/README.md)
 and manual testing should suffice to ensure that ordinal hashing is robust.
 
 ## Drawbacks, Alternatives, and Unknowns
diff --git a/docs/development/languages/fidl/reference/ftp/ftp-023.md b/docs/development/languages/fidl/reference/ftp/ftp-023.md
index 7b36051079a75b957aff39829e1b2408069c14a2..9f569c4eff11d94dd82c21f63be3b8c95f1b18ac 100644
--- a/docs/development/languages/fidl/reference/ftp/ftp-023.md
+++ b/docs/development/languages/fidl/reference/ftp/ftp-023.md
@@ -435,10 +435,10 @@ Property: A hypothetical FIDL extension to facilitate observation / data binding
 Loosely speaking, the bindings would produce methods for accessing, modifying, and/or observing a value exposed by the interface.
 
 <!-- xref table -->
-[readability rubric]: https://fuchsia.googlesource.com/fuchsia/+/master/docs/development/api/fidl.md
+[readability rubric]: /docs/development/api/fidl.md
 [ftp008]: ftp-008.md
 [ftp020]: ftp-020.md
-[fuchsia.media]: https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.media/
+[fuchsia.media]: /sdk/fidl/fuchsia.media/
 [AudioCapturer]: https://fuchsia.googlesource.com/fuchsia/+/81597afce01451c2c9d1af6f03453f036b63adff/sdk/fidl/fuchsia.media/audio_capturer.fidl#255
 [StreamBufferSet]: https://fuchsia.googlesource.com/fuchsia/+/985ff2f0c4374dddafb8ecf2f0e9a83c772de623/public/fidl/fuchsia.media/stream.fidl#9
 [StreamSource]: https://fuchsia.googlesource.com/fuchsia/+/985ff2f0c4374dddafb8ecf2f0e9a83c772de623/public/fidl/fuchsia.media/stream.fidl#40
diff --git a/docs/development/languages/fidl/reference/ftp/ftp-025.md b/docs/development/languages/fidl/reference/ftp/ftp-025.md
index 8bfb6af79bfa8d3eb8002f76f31e25d86f4c001f..d7248f88945219c666c4b0ac178bcd714b94721d 100644
--- a/docs/development/languages/fidl/reference/ftp/ftp-025.md
+++ b/docs/development/languages/fidl/reference/ftp/ftp-025.md
@@ -187,4 +187,4 @@ signed types, is based on eternal confusion with those concepts in C and C++,
 whose bindings must support this concept.
 
 <!-- xrefs -->
-[primitives]: https://fuchsia.googlesource.com/fuchsia/+/master/docs/development/languages/fidl/reference/language.md#primitives
+[primitives]: /docs/development/languages/fidl/reference/language.md#primitives
diff --git a/docs/development/languages/fidl/reference/ftp/ftp-036.md b/docs/development/languages/fidl/reference/ftp/ftp-036.md
index 327c1f3e68fe066d4c46c0efd0bae9aaf6beb394..5d5cc754bf4063ed248e9558252ec188ead6f110 100644
--- a/docs/development/languages/fidl/reference/ftp/ftp-036.md
+++ b/docs/development/languages/fidl/reference/ftp/ftp-036.md
@@ -275,6 +275,6 @@ largest ordinal(s) would be silent.
 TBD
 
 <!-- xrefs -->
-[language]: https://fuchsia.googlesource.com/fuchsia/+/master/docs/development/languages/fidl/reference/language.md
-[grammar]: https://fuchsia.googlesource.com/fuchsia/+/master/docs/development/languages/fidl/reference/grammar.md
+[language]: /docs/development/languages/fidl/reference/language.md
+[grammar]: /docs/development/languages/fidl/reference/grammar.md
 
diff --git a/docs/development/languages/fidl/reference/grammar.md b/docs/development/languages/fidl/reference/grammar.md
index 23038a7cb595405aae62b85e8fe82259ee943a02..9847d22ebb9b3c7d50bce82f94158d1ef8142cdf 100644
--- a/docs/development/languages/fidl/reference/grammar.md
+++ b/docs/development/languages/fidl/reference/grammar.md
@@ -161,5 +161,5 @@ in the grammar, but the compiler limits this to an `int32`, `uint32`, or
 an enum thereof.
 
 <!-- xrefs -->
-[primitives]: https://fuchsia.googlesource.com/fuchsia/+/master/docs/development/languages/fidl/reference/language.md#primitives
+[primitives]: /docs/development/languages/fidl/reference/language.md#primitives
 
diff --git a/docs/development/languages/fidl/reference/language.md b/docs/development/languages/fidl/reference/language.md
index a36c805165143c7b536726a7dcee222b30ee0efa..3f0b002e287c766eb5a15a931e68370e15492c08 100644
--- a/docs/development/languages/fidl/reference/language.md
+++ b/docs/development/languages/fidl/reference/language.md
@@ -838,5 +838,5 @@ protocol SystemClock {
 
 <!-- xref -->
 [mixin]: https://en.wikipedia.org/wiki/Mixin
-[ftp-023]: https://fuchsia.googlesource.com/fuchsia/+/master/docs/development/languages/fidl/reference/ftp/ftp-023.md
+[ftp-023]: /docs/development/languages/fidl/reference/ftp/ftp-023.md
 
diff --git a/docs/development/languages/fidl/reference/library-zx.md b/docs/development/languages/fidl/reference/library-zx.md
index 2a8ebf5c5d5be3ab7a15bc13216c81788649bbda..24f0d92fe251e36f4cce55a2ccea84ddc208360a 100644
--- a/docs/development/languages/fidl/reference/library-zx.md
+++ b/docs/development/languages/fidl/reference/library-zx.md
@@ -2,7 +2,7 @@
 # Internal library zx
 
 The `fidlc` compiler automatically generates `library zx` (internally) into
-[//zircon/system/host/fidl/lib/library_zx.cpp](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/host/fidl/lib/library_zx.cpp).
+[//zircon/system/host/fidl/lib/library_zx.cpp](/zircon/system/host/fidl/lib/library_zx.cpp).
 
 You will find content similar to the following:
 
diff --git a/docs/development/languages/fidl/reference/wire-format/README.md b/docs/development/languages/fidl/reference/wire-format/README.md
index 544fcaaf854ac13747e20c88e637d8fceedd9963..4cda08b2d3aeab91289457236d192259d9478a45 100644
--- a/docs/development/languages/fidl/reference/wire-format/README.md
+++ b/docs/development/languages/fidl/reference/wire-format/README.md
@@ -810,5 +810,5 @@ Zero is also the value of the `ZX_HANDLE_INVALID` constant.
 New handle types can easily be added to the language without affecting the wire format
 since all handles are transferred the same way.
 
-[channel call]: https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/syscalls/channel_call.md
-[ordinal hashing]: https://fuchsia.googlesource.com/fuchsia/+/master/docs/development/languages/fidl/reference/ftp/ftp-020.md
+[channel call]: /zircon/docs/syscalls/channel_call.md
+[ordinal hashing]: /docs/development/languages/fidl/reference/ftp/ftp-020.md
diff --git a/docs/development/languages/fidl/tutorial/README.md b/docs/development/languages/fidl/tutorial/README.md
index 32a2d14dd095f0487783c4bc00bfa25e0cdb85f9..0fc08a636cb033b9c0baca9532dcdbfc38ad9e52 100644
--- a/docs/development/languages/fidl/tutorial/README.md
+++ b/docs/development/languages/fidl/tutorial/README.md
@@ -37,7 +37,7 @@ the [main FIDL page](../README.md)
 ## Example source code
 
 Most examples used in this tutorial are located in Garnet at:
-[//garnet/examples/fidl/](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/examples/fidl/)
+[//garnet/examples/fidl/](/garnet/examples/fidl/)
 
 Language-specific examples may be found in other directories;
 this is indicated as appropriate.
diff --git a/docs/development/languages/fidl/tutorial/tutorial-c.md b/docs/development/languages/fidl/tutorial/tutorial-c.md
index 8168a20fdd9b3320df1bec4298952cf3df2b1054..1522210528bac13830e93dfff42185d99d367d17 100644
--- a/docs/development/languages/fidl/tutorial/tutorial-c.md
+++ b/docs/development/languages/fidl/tutorial/tutorial-c.md
@@ -14,7 +14,7 @@ design and implementation of FIDL, as well as the
 
 We'll use the `echo.fidl` sample that we discussed in the [FIDL Tutorial](README.md)
 introduction section, by opening
-[//garnet/examples/fidl/services/echo.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/examples/fidl/services/echo.fidl).
+[//garnet/examples/fidl/services/echo.fidl](/garnet/examples/fidl/services/echo.fidl).
 
 <!-- NOTE: the code snippets here need to be kept up to date manually by
      copy-pasting from the actual source code. Please update a snippet
diff --git a/docs/development/languages/fidl/tutorial/tutorial-cpp.md b/docs/development/languages/fidl/tutorial/tutorial-cpp.md
index 5ceac0651e4f97bb603fe6b92d49a28982e98f1a..98c0216f29c8d11c4375652967e9c0cb25bd82f9 100644
--- a/docs/development/languages/fidl/tutorial/tutorial-cpp.md
+++ b/docs/development/languages/fidl/tutorial/tutorial-cpp.md
@@ -14,7 +14,7 @@ design and implementation of FIDL, as well as the
 
 We'll use the `echo.fidl` sample that we discussed in the [FIDL Tutorial](README.md)
 introduction section, by opening
-[//garnet/examples/fidl/services/echo.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/examples/fidl/services/echo.fidl).
+[//garnet/examples/fidl/services/echo.fidl](/garnet/examples/fidl/services/echo.fidl).
 
 <!-- NOTE: the code snippets here need to be kept up to date manually by
      copy-pasting from the actual source code. Please update a snippet
@@ -53,7 +53,7 @@ Below are the implementation files created for C++, assuming that your build fla
 ## `Echo` server
 
 The echo server implementation can be found at:
-[//garnet/examples/fidl/echo_server_cpp/](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/examples/fidl/echo_server_cpp/).
+[//garnet/examples/fidl/echo_server_cpp/](/garnet/examples/fidl/echo_server_cpp/).
 
 Find the implementation of the main function, and that of the `Echo` protocol.
 
@@ -185,7 +185,7 @@ component might close, crash, be busy, etc.
 
 Let's take a look at the client implementation:
 
-[//garnet/examples/fidl/echo_client_cpp/](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/examples/fidl/echo_client_cpp/)
+[//garnet/examples/fidl/echo_client_cpp/](/garnet/examples/fidl/echo_client_cpp/)
 
 The structure of the client is similar to that of the server, with a `main`
 function and an `async::Loop`. The difference is that the client immediately
diff --git a/docs/development/languages/fidl/tutorial/tutorial-dart.md b/docs/development/languages/fidl/tutorial/tutorial-dart.md
index e3bd2b85aac371184a8966421ac03ecb306a2782..109b884ec675dcf1067619c9fc4bf0df882a2f62 100644
--- a/docs/development/languages/fidl/tutorial/tutorial-dart.md
+++ b/docs/development/languages/fidl/tutorial/tutorial-dart.md
@@ -14,7 +14,7 @@ design and implementation of FIDL, as well as the
 
 We'll use the `echo.fidl` sample that we discussed in the [FIDL Tutorial](README.md)
 introduction section, by opening
-[//garnet/examples/fidl/services/echo.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/examples/fidl/services/echo.fidl).
+[//garnet/examples/fidl/services/echo.fidl](/garnet/examples/fidl/services/echo.fidl).
 
 <!-- NOTE: the code snippets here need to be kept up to date manually by
      copy-pasting from the actual source code. Please update a snippet
diff --git a/docs/development/languages/fidl/tutorial/tutorial-rust.md b/docs/development/languages/fidl/tutorial/tutorial-rust.md
index a891b8b5391e6dbc8fe30f70036a4c3a703e133a..8301c5c5042b4eb584c198ca473cd99e6997249b 100644
--- a/docs/development/languages/fidl/tutorial/tutorial-rust.md
+++ b/docs/development/languages/fidl/tutorial/tutorial-rust.md
@@ -14,7 +14,7 @@ design and implementation of FIDL, as well as the
 
 We'll use the `echo.fidl` sample that we discussed in the [FIDL Tutorial](README.md)
 introduction section, by opening
-[//garnet/examples/fidl/services/echo.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/examples/fidl/services/echo.fidl).
+[//garnet/examples/fidl/services/echo.fidl](/garnet/examples/fidl/services/echo.fidl).
 
 <!-- NOTE: the code snippets here need to be kept up to date manually by
      copy-pasting from the actual source code. Please update a snippet
@@ -37,7 +37,7 @@ protocol Echo {
 ## `Echo` server
 
 The echo server implementation can be found at:
-[//garnet/examples/fidl/echo_server_rust/src/main.rs](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/examples/fidl/echo_server_rust/src/main.rs).
+[//garnet/examples/fidl/echo_server_rust/src/main.rs](/garnet/examples/fidl/echo_server_rust/src/main.rs).
 
 This file has two functions: `main()`, and `spawn_echo_server`:
 
@@ -241,7 +241,7 @@ to handle the case in which an error occurred.
 
 The echo client implementation can be found at:
 
-[//garnet/examples/fidl/echo_client_rust/src/main.rs](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/examples/fidl/echo_client_rust/src/main.rs)
+[//garnet/examples/fidl/echo_client_rust/src/main.rs](/garnet/examples/fidl/echo_client_rust/src/main.rs)
 
 Our simple client does everything in `main()`.
 
diff --git a/docs/development/languages/go/syslog.md b/docs/development/languages/go/syslog.md
index 8296b463394a07747c9060fee4dab27e10b3ba36..ba0fbeecc99904704bf49b9c9929bbb34fd4c6a7 100644
--- a/docs/development/languages/go/syslog.md
+++ b/docs/development/languages/go/syslog.md
@@ -68,4 +68,4 @@ logger.VLogTf(1, "tag", "my msg: %d", 10); // verbose logs
 ```
 
 ### Reference
-[Golang APIs](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/lib/syslog/go/src/syslog/logger/logger.go)
+[Golang APIs](/garnet/public/lib/syslog/go/src/syslog/logger/logger.go)
diff --git a/docs/development/languages/new/structure.md b/docs/development/languages/new/structure.md
index eb9aafda85b802212da6fd49f15d6bd0c80a08d3..dd1fd694ed8b5a7f220f5286197f28ba774567a4 100644
--- a/docs/development/languages/new/structure.md
+++ b/docs/development/languages/new/structure.md
@@ -6,19 +6,19 @@ Fuchsia.
 ## System calls
 
 The lowest level of Fuchsia support in a language provides access to the
-[Zircon system calls](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/syscalls/).
+[Zircon system calls](/zircon/docs/syscalls/).
 Exposing these system calls lets programs written in the language interact with
 the kernel and, transitively, with the rest of the system.
 
 Programs cannot issue system calls directly. Instead, they make system calls by
-calling functions in the [vDSO](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/vdso.md),
+calling functions in the [vDSO](/zircon/docs/vdso.md),
 which is loaded into newly created processes by their creator.
 
 The public entry points for the vDSO are defined in
-[syscalls.abigen](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/public/zircon/syscalls.abigen).
-This file is processed by the [abigen](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/vdso.md#abigen-tool)
+[syscalls.abigen](/zircon/system/public/zircon/syscalls.abigen).
+This file is processed by the [abigen](/zircon/docs/vdso.md#abigen-tool)
 tool. When adding a new language, consider using the `-json` flag to dump
-[a JSON representation](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/host/abigen/syscall_schema.json)
+[a JSON representation](/zircon/system/host/abigen/syscall_schema.json)
 of the Zircon system calls:
 
 ```sh
@@ -36,9 +36,9 @@ sending messages to other processes), and then go back to sleep in their event
 loop.
 
 The fundamental building block for event loops in Fuchsia is the
-[port](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/objects/port.md)
+[port](/zircon/docs/objects/port.md)
 object. A thread can sleep in a port using
-[`zx_port_wait`](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/syscalls/port_wait.md).
+[`zx_port_wait`](/zircon/docs/syscalls/port_wait.md).
 When the kernel wakes up the thread, the kernel provides a *packet*, which is a
 data structure that describes why the kernel woke up the thread.
 
@@ -48,7 +48,7 @@ Rather than expose the port directly, language mantainers usually provide
 a library that abstracts over a port and provides asynchronous wait operations.
 
 Most asynchronous wait operations bottom out in
-[`zx_object_wait_async`](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/syscalls/object_wait_async.md). Typically, the `port` and `key`
+[`zx_object_wait_async`](/zircon/docs/syscalls/object_wait_async.md). Typically, the `port` and `key`
 arguments are provided by the library and the `handle` and `signals`
 arguments are provided by the clients. When establishing a wait, the clients
 also typically provide an upcall (e.g., a closure) for the library to invoke
@@ -58,13 +58,13 @@ the upcall (e.g., from a hash table).
 No additional kernel object is needed to wake a thread up from another thread.
 You can wake up a thread by simply queuing a user packet to the thread's port
 using
-[zx_port_queue](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/syscalls/port_queue.md).
+[zx_port_queue](/zircon/docs/syscalls/port_queue.md).
 
 ### Examples
 
-* [async](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/ulib/async)
+* [async](/zircon/system/ulib/async)
   (C and C++)
-* [fuchsia-async](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/fuchsia-async/) (Rust)
+* [fuchsia-async](/garnet/public/rust/fuchsia-async/) (Rust)
 * [zxwait](https://fuchsia.googlesource.com/third_party/go/+/master/src/syscall/zx/zxwait/) (Go)
 
 ## FIDL
@@ -72,7 +72,7 @@ using
 The Zircon kernel itself largely provides memory management, scheduling, and
 interprocess communication. Rather than being provided directly by the kernel,
 the bulk of the system interface is actually provided through interprocess
-communication, typically using [channels](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/objects/channel.md).
+communication, typically using [channels](/zircon/docs/objects/channel.md).
 The protocols used for interprocess communication are defined in
 [Fuchsia Interface Definition Language (FIDL)](../fidl/README.md).
 
@@ -98,17 +98,17 @@ the language runtime.
 
 ### FIDL compiler backend
 
-The [FIDL compiler](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/host/fidl/)
+The [FIDL compiler](/zircon/system/host/fidl/)
 has a single frontend that is used for all languages and multiple backends that
 support a diverse assortment of languages. The frontend produces a
-[JSON intermediate format](https://fuchsia.googlesource.com/fuchsia/+/master/docs/development/languages/fidl/reference/json-ir.md)
+[JSON intermediate format](/docs/development/languages/fidl/reference/json-ir.md)
 that is consumed by the language-specific backends.
 
 You should create a new backend for the FIDL compiler for your language. The
 backend can be written in whatever language you prefer. Typically, language
 maintainer choose either Go or the target language.
 
- * [fidlgen](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/go/src/fidl/compiler/backend) (C++, Rust, and Go)
+ * [fidlgen](/garnet/go/src/fidl/compiler/backend) (C++, Rust, and Go)
  * [fidlgen_dart](https://fuchsia.googlesource.com/topaz/+/master/bin/fidlgen_dart) (Dart)
 
 ### Generated code
@@ -117,9 +117,9 @@ The generated FIDL code varies substantially from one language to another.
 Typically the generated code will contain the following types of code:
 
 * Data structure definitions that represent the data structures defined in the
-  [FIDL language](https://fuchsia.googlesource.com/fuchsia/+/master/docs/development/languages/fidl/reference/language.md).
+  [FIDL language](/docs/development/languages/fidl/reference/language.md).
 * A codec that can serialize and deserialize these data structure into and from
-  the [FIDL wire format](https://fuchsia.googlesource.com/fuchsia/+/master/docs/development/languages/fidl/reference/wire-format/README.md).
+  the [FIDL wire format](/docs/development/languages/fidl/reference/wire-format/README.md).
 * Stub objects that represent the server end of a FIDL protocol. Typically,
   stub object have a *dispatch* method that deserializes a message read from a
   Zircon channel and perform an indirect jump into an implementation of the
@@ -133,13 +133,13 @@ Typically the generated code will contain the following types of code:
 Some languages offer multiple options for some of these types of generated code.
 For example, a common pattern is to offer both *synchronous* and *asynchronous*
 proxy objects. The synchronous proxies make use of
-[`zx_channel_call`](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/syscalls/channel_call.md)
+[`zx_channel_call`](/zircon/docs/syscalls/channel_call.md)
 to efficiently write a message, block waiting for a response, and then read the
 response, whereas asynchronous proxies use
-[`zx_channel_write`](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/syscalls/channel_write.md),
-[`zx_object_wait_async`](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/syscalls/object_wait_async.md),
+[`zx_channel_write`](/zircon/docs/syscalls/channel_write.md),
+[`zx_object_wait_async`](/zircon/docs/syscalls/object_wait_async.md),
 and
-[`zx_channel_read`](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/syscalls/channel_read.md)
+[`zx_channel_read`](/zircon/docs/syscalls/channel_read.md)
 to avoid blocking on the remote end of the channel.
 
 Generally, we prefer to use *asynchronous* code whenever possible. Many FIDL
@@ -163,9 +163,9 @@ itself has no knowledge of FIDL. For example, most support libraries contain a
 on channels. The generated code can then be restricted to serialzation,
 deserialization, and dispatch.
 
- * [C](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/ulib/fidl)
- * [C++](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/lib/fidl/cpp/)
- * [Rust](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/lib/fidl/rust/fidl)
+ * [C](/zircon/system/ulib/fidl)
+ * [C++](/sdk/lib/fidl/cpp/)
+ * [Rust](/garnet/public/lib/fidl/rust/fidl)
  * [Dart](https://fuchsia.googlesource.com/topaz/+/master/public/dart/fidl/)
  * [Go](https://fuchsia.googlesource.com/third_party/go/+/master/src/syscall/zx/fidl/)
 
@@ -173,12 +173,12 @@ deserialization, and dispatch.
 
 POSIX-style IO operations (e.g., `open`, `close`, `read`, and `write`) are
 layered on top of FIDL. If your language has C interop, you can use the
-[FDIO library](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/ulib/fdio),
+[FDIO library](/zircon/system/ulib/fdio),
 which translates familiar POSIX operations into the underlying `fuchsia.io` FIDL
 protocol. If your language does not have C interop, you will need to interface
 directly with `fuchsia.io` to provide POSIX-style IO.
 
-You can recover the underlying Zircon handles for file descriptors using [`lib/fdio/unsafe.h`](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/ulib/fdio/include/lib/fdio/unsafe.h).
+You can recover the underlying Zircon handles for file descriptors using [`lib/fdio/unsafe.h`](/zircon/system/ulib/fdio/include/lib/fdio/unsafe.h).
 Typically, languages have a tiny library that layers on top of the async library
 to perform asynchronous waits on file descriptors. This library typically
 provdes a less error-prone interface that abstracts these "unsafe" FDIO
diff --git a/docs/development/languages/rust/README.md b/docs/development/languages/rust/README.md
index 13f7d02189ab78436ddd16587fd054def48b1e01..12c95812e9507e9f1e70cb707238c32085948304 100644
--- a/docs/development/languages/rust/README.md
+++ b/docs/development/languages/rust/README.md
@@ -89,12 +89,12 @@ Googler-only channels, see [go/fuchsia-rust-googlers].
 - [Rust FIDL server/client tutorial][fidl-tutorial]
 - [Syslog API](syslog.md)
 
-[target-library-rustc]: https://fuchsia.googlesource.com/fuchsia/+/master/build/rust/rustc_library.gni "Rust library"
-[target-binary-rustc]: https://fuchsia.googlesource.com/fuchsia/+/master/build/rust/rustc_binary.gni "Rust binary"
-[rust-examples]: https://fuchsia.googlesource.com/fuchsia/+/master/garnet/examples/rust/
+[target-library-rustc]: /build/rust/rustc_library.gni "Rust library"
+[target-binary-rustc]: /build/rust/rustc_binary.gni "Rust binary"
+[rust-examples]: /garnet/examples/rust/
 [fargo]: https://fuchsia.googlesource.com/fargo
 [rustfmt-install]: https://github.com/rust-lang-nursery/rustfmt#quick-start
-[rustfmt-toml]: https://fuchsia.googlesource.com/fuchsia/+/master/build/rustfmt.toml
+[rustfmt-toml]: /build/rustfmt.toml
 [fidl-tutorial]: ../fidl/tutorial/tutorial-rust.md
 [rust@fuchsia.com]: https://groups.google.com/a/fuchsia.com/forum/#!forum/rust-fuchsia
 [go/fuchsia-rust-googlers]: https://goto.google.com/fuchsia-rust-googlers
diff --git a/docs/development/languages/rust/crates.md b/docs/development/languages/rust/crates.md
index 7ca91a40f94b8c937b22581eea01af601d05798e..071ec7cf4f69c4c3902fc018581d15270dfc0743 100644
--- a/docs/development/languages/rust/crates.md
+++ b/docs/development/languages/rust/crates.md
@@ -1,81 +1,81 @@
 # Fuchsia Rust Crates
 
-* [fdio/](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/fdio/)
+* [fdio/](/garnet/public/rust/fdio/)
 
     Wrapper over zircon-fdio library
 
-* [fuchsia-app/](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/fuchsia-app/)
+* [fuchsia-app/](/garnet/public/rust/fuchsia-app/)
 
     Tools for working with Fuchsia Services and Applications
 
-* [fuchsia-archive/](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/fuchsia-archive/)
+* [fuchsia-archive/](/garnet/public/rust/fuchsia-archive/)
 
     Work with Fuchsia Archives (FARs)
 
-* [fuchsia-async/](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/fuchsia-async/)
+* [fuchsia-async/](/garnet/public/rust/fuchsia-async/)
 
     Fuchsia-specific Futures executor and asynchronous primitives (Channel, Socket, Fifo, etc.)
 
-* [fuchsia-ddk/](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/fuchsia-ddk/)
+* [fuchsia-ddk/](/garnet/public/rust/fuchsia-ddk/)
 
     Rust Driver Development Kit for Fuchsia (experimental - DO NOT USE)
 
-* [fuchsia-device/](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/fuchsia-device/)
+* [fuchsia-device/](/garnet/public/rust/fuchsia-device/)
 
     Rust bindings to common Fuchsia device libraries
 
-* [fuchsia-framebuffer/](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/fuchsia-framebuffer/)
+* [fuchsia-framebuffer/](/garnet/public/rust/fuchsia-framebuffer/)
 
     Configure, create and use FrameBuffers in Fuchsia
 
-* [fuchsia-merkle/](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/fuchsia-merkle/)
+* [fuchsia-merkle/](/garnet/public/rust/fuchsia-merkle/)
 
     Protect and verify data blobs using [Merkle Trees](../../../the-book/merkleroot.md)
 
-* [fuchsia-scenic/](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/fuchsia-scenic/)
+* [fuchsia-scenic/](/garnet/public/rust/fuchsia-scenic/)
 
     Rust interface to Scenic, the Fuchsia compositor
 
-* [fuchsia-syslog-listener/](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/fuchsia-syslog-listener/)
+* [fuchsia-syslog-listener/](/garnet/public/rust/fuchsia-syslog-listener/)
 
     Implement fuchsia syslog listeners in Rust
 
-* [fuchsia-syslog/](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/fuchsia-syslog/)
+* [fuchsia-syslog/](/garnet/public/rust/fuchsia-syslog/)
 
     Rust interface to the fuchsia syslog
 
-* [fuchsia-system-alloc/](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/fuchsia-system-alloc/)
+* [fuchsia-system-alloc/](/garnet/public/rust/fuchsia-system-alloc/)
 
     A crate that sets the Rust allocator to the system allocator. This is automatically included for projects that use fuchsia-async, and all Fuchsia binaries should ensure that they take a transitive dependency on this crate (and “use” it, as merely setting it as a dependency in GN is not sufficient to ensure that it is linked in).
 
-* [fuchsia-trace/](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/fuchsia-trace/)
+* [fuchsia-trace/](/garnet/public/rust/fuchsia-trace/)
 
     A safe Rust interface to Fuchsia's tracing interface
 
-* [fuchsia-vfs/](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/fuchsia-vfs/)
+* [fuchsia-vfs/](/garnet/public/rust/fuchsia-vfs/)
 
     Bindings and protocol for serving filesystems on the Fuchsia platform
 
-* [fuchsia-vfs/fuchsia-vfs-watcher/](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/fuchsia-vfs/fuchsia-vfs-watcher/)
+* [fuchsia-vfs/fuchsia-vfs-watcher/](/garnet/public/rust/fuchsia-vfs/fuchsia-vfs-watcher/)
 
     Bindings for watching a directory for changes
 
-* [fuchsia-zircon/](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/fuchsia-zircon/)
+* [fuchsia-zircon/](/garnet/public/rust/fuchsia-zircon/)
 
     Rust language bindings for Zircon kernel syscalls
 
-* [mapped-vmo/](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/mapped-vmo/)
+* [mapped-vmo/](/garnet/public/rust/mapped-vmo/)
 
     A convenience crate for Zircon VMO objects mapped into memory
 
-* [mundane/](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/mundane/)
+* [mundane/](/garnet/public/rust/mundane/)
 
     A Rust crypto library backed by BoringSSL
 
-* [shared-buffer/](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/shared-buffer/)
+* [shared-buffer/](/garnet/public/rust/shared-buffer/)
 
     Utilities for safely operating on memory shared between untrusting processes
 
-* [zerocopy/](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/zerocopy/)
+* [zerocopy/](/garnet/public/rust/zerocopy/)
 
     Work with values contained in raw Byte strings without copying
diff --git a/docs/development/languages/rust/syslog.md b/docs/development/languages/rust/syslog.md
index f3920ee7710ad6abc4891417b012d154d4dc1682..3c695f61cef0e2162887be2d8f39aaea5407546e 100644
--- a/docs/development/languages/rust/syslog.md
+++ b/docs/development/languages/rust/syslog.md
@@ -60,4 +60,4 @@ error!("my msg: {}", 10);
 
 
 ### Reference
-[Rust APIs](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/fuchsia-syslog/src/lib.rs)
+[Rust APIs](/garnet/public/rust/fuchsia-syslog/src/lib.rs)
diff --git a/docs/development/languages/rust/third_party.md b/docs/development/languages/rust/third_party.md
index 95acab8ca8e684aaa6fab8ca7297754faa1c0b71..9e4e012ca4c20fab624b791de932bb564eef32a1 100644
--- a/docs/development/languages/rust/third_party.md
+++ b/docs/development/languages/rust/third_party.md
@@ -42,9 +42,9 @@ Get code-review+2, merge the change into [third_party/rust_crates][3p-crates].
 1. Add a patch section for the crate to the workspace;
 1. Run the update script.
 
-[3p-crates]: https://fuchsia.googlesource.com/fuchsia/+/refs/heads/master/third_party/rust_crates/
-[3p-cargo-toml]: https://fuchsia.googlesource.com/fuchsia/+/refs/heads/master/third_party/rust_crates/Cargo.toml
-[3p-vendor]: https://fuchsia.googlesource.com/fuchsia/+/refs/heads/master/third_party/rust_crates/vendor
+[3p-crates]: /third_party/rust_crates/
+[3p-cargo-toml]: /third_party/rust_crates/Cargo.toml
+[3p-vendor]: /third_party/rust_crates/vendor
 [osrb-process]: https://docs.google.com/document/d/1X3eNvc4keQxOpbkGUiyYBMtr3ueEnVQCPW61FT96o_E/edit#heading=h.7mb7m2qs89th
 [jiri-manifest]: https://fuchsia.googlesource.com/manifest/+/master/runtimes/rust "Jiri manifest"
 
diff --git a/docs/development/languages/rust/unsafe.md b/docs/development/languages/rust/unsafe.md
index 4dc621f414cfea006fb7d680577673bf6bf0412d..f956549ab5bd49a1068abadc5aa46b664d4822dd 100644
--- a/docs/development/languages/rust/unsafe.md
+++ b/docs/development/languages/rust/unsafe.md
@@ -26,7 +26,7 @@ Example:
 ```rust
 impl Channel {
     /// Write a message to a channel. Wraps the
-    /// [zx_channel_write](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/syscalls/channel_write.md)
+    /// [zx_channel_write](/zircon/docs/syscalls/channel_write.md)
     /// syscall.
     pub fn write(&self, bytes: &[u8], handles: &mut Vec<Handle>)
             -> Result<(), Status>
diff --git a/docs/development/sdk/README.md b/docs/development/sdk/README.md
index 2414964ac1f953e3e4017d086e6ae4923e08a2b9..de3e4fa0622ce77d7259ebb3309cac8fdc88a57e 100644
--- a/docs/development/sdk/README.md
+++ b/docs/development/sdk/README.md
@@ -146,6 +146,6 @@ This is done by running a frontend. See the [frontend documentation][frontends]
 for more details.
 
 
-[backend]: https://fuchsia.googlesource.com/fuchsia/+/master/build/sdk/README.md
-[frontends]: https://fuchsia.googlesource.com/fuchsia/+/master/scripts/sdk/README.md
+[backend]: /build/sdk/README.md
+[frontends]: /scripts/sdk/README.md
 [bazel]: https://bazel.build/
diff --git a/docs/development/source_code/README.md b/docs/development/source_code/README.md
index 238c6427eb54533f79624f46515db9d0c9b9ce88..4319d921d37461397fb3b6608bf4c147444ce799 100644
--- a/docs/development/source_code/README.md
+++ b/docs/development/source_code/README.md
@@ -18,7 +18,7 @@ This script will bootstrap a development environment for by first creating
 directories `fuchsia`.
 
 ```
-curl -s "https://fuchsia.googlesource.com/fuchsia/+/master/scripts/bootstrap?format=TEXT" | base64 --decode | bash
+curl -s "/scripts/bootstrap?format=TEXT" | base64 --decode | bash
 ```
 
 This script will set up your development environment to track the HEAD of the
diff --git a/docs/development/tests/environments.md b/docs/development/tests/environments.md
index 3d593c695e70b688cde14ec1e68cdb9eb67f1fc9..c15103a3a7586b59f276f9f849924e7692175447 100644
--- a/docs/development/tests/environments.md
+++ b/docs/development/tests/environments.md
@@ -33,7 +33,7 @@ environments = [
 ```
 
 See
-[guest_integration_tests](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/bin/guest/integration/BUILD.gn#45)
+[guest_integration_tests](/garnet/bin/guest/integration/BUILD.gn#45)
 for an example - and below for definitions of 'dimension' and 'tags'
 
 ### Default Behavior
@@ -53,7 +53,7 @@ and that hardware is a scarce resource.
 ### Predefined environments
 
 One may import
-[//build/testing/environments.gni](https://fuchsia.googlesource.com/fuchsia/+/master/build/testing/environments.gni)
+[//build/testing/environments.gni](/build/testing/environments.gni)
 and use the environment-related convenience variables defined within. For
 example, `basic_envs` includes all of the environments that are available to
 anyone without special consultation with the infra team.
@@ -78,7 +78,7 @@ fuchsia-infra-team@google.com"
 ## Validation
 
 The `test_plaforms` list in
-[//build/testing/platforms.gni](https://fuchsia.googlesource.com/fuchsia/+/master/build/testing/platforms.gni)
+[//build/testing/platforms.gni](/build/testing/platforms.gni)
 is the source of truth for what platforms are are available for testing and what
 dimensions they possess to match against. Say an environment *matches* a
 platform entry if the former's `dimensions` is a subscope of the latter; say an
diff --git a/docs/development/tracing/tracing-boot.md b/docs/development/tracing/tracing-boot.md
index 121a3f0f0759fe6fea351672be897c4027bdf3f2..9c3d85cb821d6131f6d20fa2826b64073ca0079b 100644
--- a/docs/development/tracing/tracing-boot.md
+++ b/docs/development/tracing/tracing-boot.md
@@ -70,4 +70,4 @@ For more information on Zircon command line options see
 [kernel\_cmdline][kernel_cmdline].
 
 
-[kernel_cmdline]: https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/kernel_cmdline.md
+[kernel_cmdline]: /zircon/docs/kernel_cmdline.md
diff --git a/docs/development/tracing/tracing-tutorial.md b/docs/development/tracing/tracing-tutorial.md
index 37653dd7ede5b16925a7fa87fa9e58fcb1401ebc..3ae04f93b9a21fd0a5b5f14858aa3d2c20cd0ba6 100644
--- a/docs/development/tracing/tracing-tutorial.md
+++ b/docs/development/tracing/tracing-tutorial.md
@@ -45,7 +45,7 @@ there can be many trace clients in a system.
 
 What's interesting about Fuchsia's distributed implementation is that
 for efficiency, the trace provider writes the data directly into a shared memory segment
-(a Zircon [**VMO** &mdash; Virtual Memory Object](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/objects/vm_object.md)).
+(a Zircon [**VMO** &mdash; Virtual Memory Object](/zircon/docs/objects/vm_object.md)).
 The data isn't copied anywhere, it's stored in memory as it's generated.
 
 This means that the trace client must somehow find out where that data is stored.
@@ -650,7 +650,7 @@ end-to-end from the client, through the server, and back to the client.
 
 # References
 
-* [Adding Tracing to Device Drivers](../../../zircon/docs/ddk/tracing.md)
+* [Adding Tracing to Device Drivers](/zircon/docs/ddk/tracing.md)
   gives details on source code additions (e.g., what `#include` files to add) and Makefile
   additions required by the trace provider in order to add tracing, or disable it completely.
 * [Fuchsia Tracing System Design](design.md)
diff --git a/docs/development/tracing/tracing-usage-guide.md b/docs/development/tracing/tracing-usage-guide.md
index b199f82188898a75304767dd4dd81305d3d1a9f6..dcac03f2d6c07b9b7f64ffd4a7995155a9530579 100644
--- a/docs/development/tracing/tracing-usage-guide.md
+++ b/docs/development/tracing/tracing-usage-guide.md
@@ -4,7 +4,7 @@
 
 Fuchsia tracing library and utilities require access to the `trace_manager`'s
 services in the environment, which is typically set up by the
-[boot sequence](https://fuchsia.googlesource.com/fuchsia/+/master/docs/the-book/boot_sequence.md).
+[boot sequence](/docs/the-book/boot_sequence.md).
 
 Note that capturing traces requires that the `devtools` package be included.  If your build
 configuration does not include `devtools` by default, then you can add it manually by invoking
diff --git a/docs/development/workflows/debugging.md b/docs/development/workflows/debugging.md
index 94352b179528fbf1ed343c88ba9b5ade3e25c880..fcf628fc32888cbdd0337c624805d59949e35626 100644
--- a/docs/development/workflows/debugging.md
+++ b/docs/development/workflows/debugging.md
@@ -5,7 +5,7 @@ for debugging Fuchsia programs.
 
 ## The ZX debugger
 
-For C/C++ code, try zxdb. See the [zxdb docs](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/docs/debugger.md) for more details.
+For C/C++ code, try zxdb. See the [zxdb docs](/garnet/docs/debugger.md) for more details.
 
 ## Backtraces
 
diff --git a/docs/development/workflows/libfuzzer.md b/docs/development/workflows/libfuzzer.md
index 4ace92ce7ceb385e8d5ee664cef5730fda6206bc..2249672cf274eafc11b1f404b09d87152259f3a1 100644
--- a/docs/development/workflows/libfuzzer.md
+++ b/docs/development/workflows/libfuzzer.md
@@ -532,9 +532,9 @@ become available.
 [todo]: #q-what-can-i-expect-in-the-future-for-fuzzing-in-fuchsia-
 [thin-air]: https://lcamtuf.blogspot.com/2014/11/pulling-jpegs-out-of-thin-air.html
 [startup initialization]: https://llvm.org/docs/LibFuzzer.html#startup-initialization
-[fuzzer.gni]: https://fuchsia.googlesource.com/fuchsia/+/master/build/fuzzing/fuzzer.gni
+[fuzzer.gni]: /build/fuzzing/fuzzer.gni
 [build macro]: https://llvm.org/docs/LibFuzzer.html#fuzzer-friendly-build-mode
-[compiler flags]: https://fuchsia.googlesource.com/fuchsia/+/master/build/config/sanitizers/BUILD.gn
+[compiler flags]: /build/config/sanitizers/BUILD.gn
 [corpus]: https://llvm.org/docs/LibFuzzer.html#corpus
 [3p-corpus]: #q-can-i-use-an-existing-third-party-corpus-
 [dictionaries]: https://llvm.org/docs/LibFuzzer.html#dictionaries
diff --git a/docs/development/workflows/multi_device.md b/docs/development/workflows/multi_device.md
index 04e05d2ecdffad591eb88eea648da581770c812f..446b9d4a6dfbc3c903fe1f35cd7a502b98e75888 100644
--- a/docs/development/workflows/multi_device.md
+++ b/docs/development/workflows/multi_device.md
@@ -3,7 +3,7 @@ Multi Device Setup
 
 This guide will walk you through the process of getting two Fuchsia devices
 set up and synchronizing story state using the
-[Ledger](https://fuchsia.googlesource.com/fuchsia/+/master/src/ledger/docs/).
+[Ledger](/src/ledger/docs/).
 
 ## Setup
 
@@ -40,10 +40,10 @@ the output, use the `loglistener [<nodename>]` command.
 
 Ledger is a distributed storage system for Fuchsia.  Stories use it to
 synchronize their state across multiple devices.  Follow the steps in Ledger's
-[User Guide](https://fuchsia.googlesource.com/fuchsia/+/master/src/ledger/docs/user_guide.md)
+[User Guide](/src/ledger/docs/user_guide.md)
 to:
 
-* Set up [persistent storage](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/minfs.md). (optional)
+* Set up [persistent storage](/zircon/docs/minfs.md). (optional)
 * Verify the network is connected.
 * Configure a Firebase instance.
 * Setup sync on each device using `configure_ledger`.
diff --git a/docs/development/workflows/package_update.md b/docs/development/workflows/package_update.md
index 58e0e2f88fabfb3bddd6d2cc793ac9c86296cb87..bf373d1df05835f759218bf204e8d464bfb8268b 100644
--- a/docs/development/workflows/package_update.md
+++ b/docs/development/workflows/package_update.md
@@ -146,7 +146,7 @@ detail in the [Fuchsia package][pkg-struct] documentation. The metadata file is
 added to a TUF file tree and each of the contents are named after their Merkle
 root hash and put in a directory at the root of the TUF file tree called 'blobs'.
 
-[pkg-struct]: https://fuchsia.googlesource.com/fuchsia/+/master/garnet/go/src/pm/README.md#structure-of-a-fuchsia-package "Package structure"
+[pkg-struct]: /garnet/go/src/pm/README.md#structure-of-a-fuchsia-package "Package structure"
 [TUF-home]: https://theupdateframework.github.io "TUF Homepage"
 [pkg-doc]: /docs/development/build/packages.md "Packaging docs"
 [flutter-gni]: https://fuchsia.googlesource.com/topaz/+/master/runtime/flutter_runner/flutter_app.gni "Flutter GN build template"
diff --git a/docs/development/workflows/paving.md b/docs/development/workflows/paving.md
index dc64ccfe1f1e8a39c4d5d65205fc2eb2068c0101..1268fc18eb7c625572b96e13bb108db186dff46e 100644
--- a/docs/development/workflows/paving.md
+++ b/docs/development/workflows/paving.md
@@ -57,9 +57,9 @@ device's boot settings may need to be changed to boot from the USB device and
 this is typically device-specific. For the guides listed below, **only** go
 through the steps to set the boot device, don't continue with any instructions on
 creating install media.
-* [Acer Switch Alpha 12](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/targets/acer12.md)
-* [Intel NUC](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/targets/nuc.md)
-* [Google Pixelbook](/development/hardware/pixelbook.md)
+* [Acer Switch Alpha 12](/zircon/docs/targets/acer12.md)
+* [Intel NUC](/zircon/docs/targets/nuc.md)
+* [Google Pixelbook](/docs/development/hardware/pixelbook.md)
 
 Paving should occur automatically after the device is booted into Zedboot from the
 USB drive. After the paving process completes, the system should boot into the
diff --git a/docs/development/workflows/testing_faq.md b/docs/development/workflows/testing_faq.md
index 2bc4cc745df6fe9db4fd10110c45ed3a14ee8e1b..275f480e56f8f0a24c7886c3538506da81e01775 100644
--- a/docs/development/workflows/testing_faq.md
+++ b/docs/development/workflows/testing_faq.md
@@ -23,7 +23,7 @@ executable("unittests") {
 
 A: An unbroken chain of dependencies that roll up to a config file under
 `//<layer>/packages/tests/`, such as
-[`//garnet/packages/tests/`](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/packages/tests/).
+[`//garnet/packages/tests/`](/garnet/packages/tests/).
 
 For example:
 
diff --git a/docs/development/workflows/workflow_tips_and_faq.md b/docs/development/workflows/workflow_tips_and_faq.md
index 6442a827910eac4bdeea832400b1e759c45082be..d85752a065e9997c8250e0b759f2ae63d7c5b347 100644
--- a/docs/development/workflows/workflow_tips_and_faq.md
+++ b/docs/development/workflows/workflow_tips_and_faq.md
@@ -207,7 +207,7 @@ git that provides support for managing more than one git repository in sync
 (the Fuchsia code base is composed of many git repositories), as well as
 synchronizing a set of prebuilt artifacts, such as those found in
 `//prebuilt` and `//buildtools`.
-[`fx`](https://fuchsia.googlesource.com/fuchsia/+/master/scripts/fx) is a
+[`fx`](/scripts/fx) is a
 convenience wrapper around many tools built in the Fuchsia tree, and helps
 with many daily workflow tasks, such as building, running tests, consuming
 logs, connecting to shells on devices, and many other operations.
diff --git a/docs/getting_started.md b/docs/getting_started.md
index 2670d3b325548f689973007eb8db5cf3a6781d3e..283e4d631022430ce710cba7b6b4b23f11b3420a 100644
--- a/docs/getting_started.md
+++ b/docs/getting_started.md
@@ -270,7 +270,7 @@ You may wish to peruse the [testing FAQ](development/workflows/testing_faq.md).
 
 ## Contribute changes
 
-* See [CONTRIBUTING.md](https://fuchsia.googlesource.com/fuchsia/+/refs/heads/master/CONTRIBUTING.md).
+* See [CONTRIBUTING.md](/CONTRIBUTING.md).
 
 ## Additional helpful documents
 
diff --git a/docs/glossary.md b/docs/glossary.md
index f4afc8a5ac6cd20787d4a04e1d03729d9413f824..16f24f0a7c7eb4711638dbbaa3f5dd6a460c21f1 100644
--- a/docs/glossary.md
+++ b/docs/glossary.md
@@ -48,7 +48,7 @@ The BOOTFS RAM disk contains the files needed early in the boot process when no
 other filesystems are available. It is part of the [ZBI](#ZBI), and is
 decompressed and served by [bootsvc](#bootsvc). After the early boot process is
 complete, the BOOTFS is mounted at `/boot`.
-- [Documentation](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/userboot.md#BOOTFS)
+- [Documentation](/zircon/docs/userboot.md#BOOTFS)
 
 #### **bootsvc**
 
@@ -56,7 +56,7 @@ bootsvc is the second process started in Fuchsia. It provides a filesystem
 service for the [BOOTFS](#BOOTFS) and a loader service that loads programs from
 the same BOOTFS. After starting those services, it loads the third program,
 which defaults to `devmgr`.
-- [Documentation](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/bootsvc.md)
+- [Documentation](/zircon/docs/bootsvc.md)
 
 ### **Bus Driver**
 
@@ -88,7 +88,7 @@ These files end in `.cmx`, so they are also known as "cmx files".
 A channel is an IPC primitive provided by Zircon.  It is a bidirectional, datagram-like
 transport that can transfer small messages including [Handles](#Handle).  [FIDL](#FIDL)
 protocols typically use channels as their underlying transport.
-- [Channel Overview](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/objects/channel.md)
+- [Channel Overview](/zircon/docs/objects/channel.md)
 
 ### **Concurrent Device Driver**
 
@@ -122,15 +122,15 @@ filesystem, launching [AppMgr]( #AppMgr), and so on).
 
 The Driver Development Kit is the documentation, APIs, and ABIs necessary to build Zircon Device
 Drivers.  Device drivers are implemented as ELF shared libraries loaded by Zircon's Device Manager.
-- [DDK Overview](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/ddk/overview.md)
-- [DDK includes](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/ulib/ddk/include/ddk/)
+- [DDK Overview](/zircon/docs/ddk/overview.md)
+- [DDK includes](/zircon/system/ulib/ddk/include/ddk/)
 
 #### **Driver**
 
 A driver is a dynamic shared library which [DevMgr](#DevMgr) can load into a [DevHost](#DevHost)
 and that enables, and controls one or more devices.
-- [Reference](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/ddk/driver-development.md)
-- [Driver Sources](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/dev)
+- [Reference](/zircon/docs/ddk/driver-development.md)
+- [Driver Sources](/zircon/system/dev)
 
 #### **Environment**
 
@@ -160,7 +160,7 @@ fdio is the Zircon IO Library.  It provides the implementation of posix-style op
 read(), write(), select(), poll(), etc, against the RemoteIO RPC protocol.  These APIs are return-
 not-supported stubs in libc, and linking against libfdio overrides these stubs with functional
 implementations.
-- [Source](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/ulib/fdio/)
+- [Source](/zircon/system/ulib/fdio/)
 
 #### **FIDL**
 
@@ -229,7 +229,7 @@ named `BUILD.gn`, are located all over the repository.
 
 A Handle is how a userspace process refers to a [kernel object](#Kernel-Object). They can be passed
 to other processes over [Channels](#Channel).
-- [Reference](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/handles.md)
+- [Reference](/zircon/docs/handles.md)
 
 ###  **Hardware Driver**
 
@@ -263,14 +263,14 @@ various subcommands which makes it easy for developers to manage their local che
 A Job is a [kernel object](#Kernel-Object) that groups a set of related processes, their child
 processes and their jobs (if any). Every process in the system belongs to a job and all jobs form
 a single rooted tree.
-- [Job Overview](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/objects/job.md)
+- [Job Overview](/zircon/docs/objects/job.md)
 
 #### **Kernel Object**
 
 A kernel object is a kernel data structure which is used to regulate access to system resources
 such as memory, i/o, processor time and access to other processes. Userspace can only reference
 kernel objects via [Handles](#Handle).
-- [Reference](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/objects.md)
+- [Reference](/zircon/docs/objects.md)
 
 #### **KOID**
 
@@ -279,7 +279,7 @@ A Kernel Object Identifier.
 
 #### **Ledger**
 
-[Ledger](https://fuchsia.googlesource.com/fuchsia/+/master/src/ledger/docs/README.md) is a distributed
+[Ledger](/src/ledger/docs/README.md) is a distributed
 storage system for Fuchsia. Applications use Ledger either directly or through state synchronization
 primitives exposed by the Modular framework that are based on Ledger under-the-hood.
 
@@ -296,7 +296,7 @@ A module is a role a [component](#Component) can play to participate in a [story
 component can be be used as a module, but typically a module is asked to show UI.  Additionally,
 a module can have a `module` metadata file which describes the Module's data compatibility and
 semantic role.
-- [module metadata format](https://fuchsia.googlesource.com/fuchsia/+/master/peridot/docs/modular/module.md)
+- [module metadata format](/peridot/docs/modular/module.md)
 
 #### **Scenic**
 
@@ -305,7 +305,7 @@ The system compositor. Includes views, input, compositor, and GPU services.
 #### **Musl**
 
 Fuchsia's standard C library (libc) is based on Musl Libc.
-- [Source](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/third_party/ulib/musl/)
+- [Source](/zircon/third_party/ulib/musl/)
 - [Musl Homepage](https://www.musl-libc.org/)
 
 #### **Namespace**
@@ -392,7 +392,7 @@ userboot is the first process started by the Zircon kernel. It is loaded from
 the kernel image in the same way as the [vDSO](#vDSO), instead of being loaded
 from a filesystem. Its primary purpose is to load the second process,
 [bootsvc](#bootsvc), from the [BOOTFS](#BOOTFS).
-- [Documentation](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/userboot.md)
+- [Documentation](/zircon/docs/userboot.md)
 
 #### **vDSO**
 
@@ -406,21 +406,21 @@ representing the vDSO.
 
 A Virtual Memory Address Range is a Zircon [kernel object](#Kernel-Object) that controls where and
 how VMOs may be mapped into the address space of a process.
-- [VMAR Overview](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/objects/vm_address_region.md)
+- [VMAR Overview](/zircon/docs/objects/vm_address_region.md)
 
 #### **VMO**
 
 A Virtual Memory Object is a Zircon [kernel object](#Kernel-Object) that represents a collection of
 pages (or the potential for pages) which may be read, written, mapped into the address space of a
 process, or shared with another process by passing a [Handle](#Handle) over a [Channel](#Channel).
-- [VMO Overview](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/objects/vm_object.md)
+- [VMO Overview](/zircon/docs/objects/vm_object.md)
 
 #### **ZBI**
 
 A Zircon Boot Image contains everything needed during the boot process before
 any drivers are working. This includes the kernel image and a [RAM disk for the
 boot filesystem](#BOOTFS).
-- [ZBI header file](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/public/zircon/boot/image.h)
+- [ZBI header file](/zircon/system/public/zircon/boot/image.h)
 
 #### **Zedboot** ####
 
@@ -436,9 +436,9 @@ Zircon is the [microkernel](https://en.wikipedia.org/wiki/Microkernel) and lowes
 components (driver runtime environment, core drivers, libc, etc) at the core of Fuchsia.  In a
 traditional monolithic kernel, many of the userspace components of Zircon would be part of the
 kernel itself.
-- [Zircon Documentation](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/README.md)
-- [Zircon Concepts](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/concepts.md)
-- [Source](https://fuchsia.googlesource.com/fuchsia/+/master/zircon)
+- [Zircon Documentation](/zircon/README.md)
+- [Zircon Concepts](/zircon/docs/concepts.md)
+- [Source](/zircon)
 
 #### **ZX**
 
@@ -448,4 +448,4 @@ ZX is an abbreviation of "Zircon" used in Zircon C APIs/ABIs (`zx_channel_create
 #### **ZXDB**
 
 The native low-level system debugger.
-- [Reference](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/docs/debugger.md)
+- [Reference](/garnet/docs/debugger.md)
diff --git a/docs/the-book/README.md b/docs/the-book/README.md
index 3dd246501cc0d7743d29d22579ca4605dcd40cd0..43041cdebe73817491969a1c616c57a9cea0c6d8 100644
--- a/docs/the-book/README.md
+++ b/docs/the-book/README.md
@@ -93,20 +93,20 @@ also provides core drivers and Fuchsia's libc implementation.
  - Verified boot
  - Updater
 
-[zircon-concepts]: https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/concepts.md
-[zircon-syscalls]: https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/syscalls.md
-[zircon-vdso]: https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/vdso.md
-[zircon-ddk]: https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/ddk/overview.md
+[zircon-concepts]: /zircon/docs/concepts.md
+[zircon-syscalls]: /zircon/docs/syscalls.md
+[zircon-vdso]: /zircon/docs/vdso.md
+[zircon-ddk]: /zircon/docs/ddk/overview.md
 [FIDL]: ../development/languages/fidl/README.md
-[framework-story]: https://fuchsia.googlesource.com/fuchsia/+/master/peridot/docs/modular/story.md
-[framework-module]: https://fuchsia.googlesource.com/fuchsia/+/master/peridot/docs/modular/module.md
-[framework-agent]: https://fuchsia.googlesource.com/fuchsia/+/master/peridot/docs/modular/agent.md
-[ledger]: https://fuchsia.googlesource.com/fuchsia/+/master/src/ledger/docs/README.md
-[bluetooth]: https://fuchsia.googlesource.com/fuchsia/+/master/garnet/bin/bluetooth/README.md
-[telephony]: https://fuchsia.googlesource.com/fuchsia/+/master/src/connectivity/telephony/
-[magma]: https://fuchsia.googlesource.com/fuchsia/+/master/garnet/lib/magma/
-[escher]: https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/lib/escher/
-[scenic]: https://fuchsia.googlesource.com/fuchsia/+/master/garnet/docs/ui/scenic.md
-[input-manager]: https://fuchsia.googlesource.com/fuchsia/+/master/garnet/docs/ui/input.md
-[view-manager]: https://fuchsia.googlesource.com/fuchsia/+/master/garnet/bin/ui/view_manager/
+[framework-story]: /peridot/docs/modular/story.md
+[framework-module]: /peridot/docs/modular/module.md
+[framework-agent]: /peridot/docs/modular/agent.md
+[ledger]: /src/ledger/docs/README.md
+[bluetooth]: /garnet/bin/bluetooth/README.md
+[telephony]: /src/connectivity/telephony/
+[magma]: /garnet/lib/magma/
+[escher]: /garnet/public/lib/escher/
+[scenic]: /garnet/docs/ui/scenic.md
+[input-manager]: /garnet/docs/ui/input.md
+[view-manager]: /garnet/bin/ui/view_manager/
 [flutter]: https://flutter.io/
diff --git a/docs/the-book/block_devices.md b/docs/the-book/block_devices.md
index 7fdd500b4365888467088896081a9de7d8af60c8..1c6532bd80d6a054d9177baec0c470e69efa943d 100644
--- a/docs/the-book/block_devices.md
+++ b/docs/the-book/block_devices.md
@@ -12,7 +12,7 @@ particular block device driver, and eventually to real hardware.
 
 Particular block device drivers (USB, AHCI / SATA, Ramdisk, GPT, etc) implement
 the [`ZX_PROTOCOL_BLOCK_CORE`
-prototol](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/public/zircon/device/block.h),
+prototol](/zircon/system/public/zircon/device/block.h),
 which allows clients to queue transactions and query the block device.
 
 ## Fast Block I/O
diff --git a/docs/the-book/bluetooth_architecture.md b/docs/the-book/bluetooth_architecture.md
index 5b3b13b17e7314f8d71aa054d76c5a7d12959a93..c7bfc785f8b926313f0c9c09ca3cea75a7f0d128 100644
--- a/docs/the-book/bluetooth_architecture.md
+++ b/docs/the-book/bluetooth_architecture.md
@@ -73,7 +73,7 @@ devices. A bt-host device claims the HCI control and data endpoints of the under
 * Bus protocol for child devices for services implemented as device drivers
 
 Host devices are managed by the
-[Bluetooth system service](https://fuchsia.googlesource.com/fuchsia/+/master/src/connectivity/bluetooth/).
+[Bluetooth system service](/src/connectivity/bluetooth/).
 The service allows only one bt-host to be accessed for service requests at a given
 time. This bt-host is represented as the "active Adapter".
 [control.fidl](/sdk/fidl/fuchsia.bluetooth.control) provides a management
diff --git a/docs/the-book/boot_sequence.md b/docs/the-book/boot_sequence.md
index 505634d30974478a9efeba2d5f0e89f50ef74eef..aa976ed09bff80de342bc6e8905518f013231319 100644
--- a/docs/the-book/boot_sequence.md
+++ b/docs/the-book/boot_sequence.md
@@ -5,7 +5,7 @@ This document describes the boot sequence for Fuchsia from the time the Zircon
 layer hands control over to the Garnet layer.  This document is a work in
 progress that will need to be extended as we bring up more of the system.
 
-# Layer 1: [appmgr](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/bin/appmgr)
+# Layer 1: [appmgr](/garnet/bin/appmgr)
 
 `appmgr`'s job is to host the environment tree and help create
 processes in these environments.  Processes created by `appmgr`
@@ -18,7 +18,7 @@ that environment. Typically, these applications create environments nested
 directly in the root environment. The default configuration contains one initial
 app: `bootstrap`.
 
-# Layer 2: [sysmgr](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/bin/sysmgr/)
+# Layer 2: [sysmgr](/garnet/bin/sysmgr/)
 
 `sysmgr`'s job is to create the boot environment and create a number of
  initial components in the boot environment.
@@ -37,7 +37,7 @@ service implemented by that app.
 startup. The list of components to run at startup is contained in the
 `/system/data/bootstrap/apps.config` file.
 
-# Layer 3: [basemgr](https://fuchsia.googlesource.com/fuchsia/+/master/peridot/bin/basemgr/)
+# Layer 3: [basemgr](/peridot/bin/basemgr/)
 
 `basemgr`'s job is to setup the interactive flow for user login and user
 management.
@@ -52,7 +52,7 @@ enumerate all existing users and login as an existing user or in incognito mode.
 
 Adding a new user is done using an Account Manager service that can talk to an
 identity provider to get an id token to access the user's
-[Ledger](https://fuchsia.googlesource.com/fuchsia/+/master/src/ledger/bin/).
+[Ledger](/src/ledger/bin/).
 
 Logging-in as an existing user starts an instance of `sessionmgr` with that
 user's id token and with a namespace that is mapped within and managed by
diff --git a/docs/the-book/core_libraries.md b/docs/the-book/core_libraries.md
index c9e7df1b25a2a416d4c9b7599b1c67acf41080ab..7357d543b8e1048b9118693d5f823f197b468960 100644
--- a/docs/the-book/core_libraries.md
+++ b/docs/the-book/core_libraries.md
@@ -22,7 +22,7 @@ corresponding C++ type, and adds ownership semantics to those
 handles. It otherwise takes no opinions around naming or policy.
 
 For more information about libzx, see
-[its documentation](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/ulib/zx/README.md).
+[its documentation](/zircon/system/ulib/zx/README.md).
 
 ## FBL
 
@@ -39,7 +39,7 @@ are useful library code for kernel and device driver environments (for
 instance, slab allocation).
 
 For more information about FBL,
-[read its overview](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/cxx.md#fbl).
+[read its overview](/zircon/docs/cxx.md#fbl).
 
 # FXL
 
diff --git a/docs/the-book/filesystems.md b/docs/the-book/filesystems.md
index 01bf33943f82d108e7820b7813f79b728676e0cd..2acd2635f3f2f832dcfb38298b0b09116e696086 100644
--- a/docs/the-book/filesystems.md
+++ b/docs/the-book/filesystems.md
@@ -199,7 +199,7 @@ intending to satisfy a variety of distinct needs.
 
 ### MemFS: An in-memory filesystem
 
-[MemFS](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/ulib/memfs)
+[MemFS](/zircon/system/ulib/memfs)
 is used to implement requests to temporary filesystems like `/tmp`, where files
 exist entirely in RAM, and are not transmitted to an underlying block device.
 This filesystem is also currently used for the “bootfs” protocol, where a
@@ -209,7 +209,7 @@ unwrapped into user-accessible Vnodes at boot (these files are accessible in
 
 ### MinFS: A persistent filesystem
 
-[MinFS](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/uapp/minfs/)
+[MinFS](/zircon/system/uapp/minfs/)
 is a simple, traditional filesystem which is capable of storing files
 persistently. Like MemFS, it makes extensive use of the VFS layers mentioned
 earlier, but unlike MemFS, it requires an additional handle to a block device
@@ -220,7 +220,7 @@ filesystems to a namespace from the command line.
 
 ### Blobfs: An immutable, integrity-verifying package storage filesystem
 
-[Blobfs](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/uapp/blobfs/)
+[Blobfs](/zircon/system/uapp/blobfs/)
 is a simple, flat filesystem optimized for “write-once, then read-only” [signed
 data](merkleroot.md), such as [application packages](package_metadata.md).
 Other than two small prerequisites (file names which are deterministic, content
@@ -233,7 +233,7 @@ single flat directory of hashes, and blobs can be accessed by operations like
 
 ### ThinFS: A FAT filesystem written in Go
 
-[ThinFS](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/go/src/thinfs/) is an implementation of a
+[ThinFS](/garnet/go/src/thinfs/) is an implementation of a
 FAT filesystem in Go. It serves a dual purpose: first, proving that our system
 is actually modular, and capable of using novel filesystems, regardless of
 language or runtime. Secondly, it provides a mechanism for reading a universal
@@ -241,7 +241,7 @@ filesystem, found on EFI partitions and many USB sticks.
 
 ### FVM
 
-[Fuchsia Volume Manager](https://fuchsia.googlesource.com/fuchsia/+/HEAD/zircon/system/dev/block/fvm/)
+[Fuchsia Volume Manager](/zircon/system/dev/block/fvm/)
 is a "logical volume manager" that adds flexibility on top of existing block
 devices. The current features include ability to add, remove, extend and
 shrink virtual partitions. To make these features possible, internally, fvm
@@ -254,7 +254,7 @@ If a slice belongs to a partition then FVM maintains metadata about which
 partition is using the slice, and the virtual address of the slice within
 that partition.
 
-[Superblock](https://fuchsia.googlesource.com/fuchsia/+/HEAD/zircon/system/ulib/fvm/include/fvm/format.h#27)
+[Superblock](/zircon/system/ulib/fvm/include/fvm/format.h#27)
 at block zero describe the on-disk layout of the FVM, which may look like
 
 ```c
@@ -298,11 +298,11 @@ The slice allocation table is made up of tightly packed slice entries
    * what logical slice within partition the slice maps to
 
 FVM library can be found
-[here](https://fuchsia.googlesource.com/fuchsia/+/HEAD/zircon/system/ulib/fvm/). During
-[paving](https://fuchsia.googlesource.com/fuchsia/+/HEAD/docs/development/workflows/paving.md),
+[here](/zircon/system/ulib/fvm/). During
+[paving](/docs/development/workflows/paving.md),
 some partitions are copied from host to target. So the partitions and FVM
 file itself may be created on host. To do this there is host side utility
-[here](https://fuchsia.googlesource.com/fuchsia/+/HEAD/zircon/system/host/fvm).
+[here](/zircon/system/host/fvm).
 Integrity of the FVM device/file can be verbosely verified with
-[fvm-check](https://fuchsia.googlesource.com/fuchsia/+/HEAD/zircon/system/uapp/fvm-check)
+[fvm-check](/zircon/system/uapp/fvm-check)
 
diff --git a/docs/the-book/libc.md b/docs/the-book/libc.md
index 51edab7b7e64f7ab57dede226d985509655c5da2..c60439d4bec257dc96612299dd1e866dc4a69a73 100644
--- a/docs/the-book/libc.md
+++ b/docs/the-book/libc.md
@@ -85,10 +85,10 @@ and code written for both Posix and Fuchsia may still have
 #### fork and exec
 
 Zircon does not have fork or exec. Instead, process creation is
-provided by [fdio] (https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/ulib/fdio). While Zircon has Process and
+provided by [fdio] (/zircon/system/ulib/fdio). While Zircon has Process and
 Thread objects, these are pretty raw and know nothing about
 ELF. The `fdio_spawn` function family knows how to turn an ELF and some initial
 state into a running process.
 
 
-[zircon-concepts-message-passing]: https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/concepts.md#message-passing-sockets-and-channels
+[zircon-concepts-message-passing]: /zircon/docs/concepts.md#message-passing-sockets-and-channels
diff --git a/docs/the-book/life_of_an_open.md b/docs/the-book/life_of_an_open.md
index 2da8cfb86cd13c134be80f57fd75a5eaa0a4e2ad..96ac75559f7cb0f42db094af74a60859a9c6433f 100644
--- a/docs/the-book/life_of_an_open.md
+++ b/docs/the-book/life_of_an_open.md
@@ -73,11 +73,11 @@ need to send a request to a remote server to “please open foo”. How can this
 accomplished? The program has the following tools:
 
   * One or more **handles** representing a connection to the CWD
-  * [zx_channel_write](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/syscalls/channel_write.md):
+  * [zx_channel_write](/zircon/docs/syscalls/channel_write.md):
     A system call which can send bytes and handles (over a channel)
-  * [zx_channel_read](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/syscalls/channel_read.md):
+  * [zx_channel_read](/zircon/docs/syscalls/channel_read.md):
     A system call which can receive bytes and handles (over a channel)
-  * [zx_object_wait_one](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/docs/syscalls/object_wait_one.md):
+  * [zx_object_wait_one](/zircon/docs/syscalls/object_wait_one.md):
     A system call which can wait for a handle to be readable / writable
 
 Using these primitives, the client can write a message to the filesystem server
@@ -93,7 +93,7 @@ an unintended behavior). Additionally, if this protocol allowed the client to
 have arbitrary control over the server, this communication layer would be ripe
 for exploitation.
 
-The [FIDL IO protocol](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl)
+The [FIDL IO protocol](/zircon/system/fidl/fuchsia-io/io.fidl)
 describes the wire-format of what these bytes and handles should actually mean
 when transmitted between two entities. The protocol describes things like
 “expected number of handles”, “enumerated operation”, and “data”. In our case,
@@ -189,9 +189,9 @@ they have no obligation to use it. To be a filesystem server, a process must
 merely understand the FIDL wire format. As a consequence, there could be
 any number of “VFS” implementations in a language, but at the time of writing,
 two well-known implementations exist: one written in C++ within the [libfs
-library](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/ulib/fs/),
+library](/zircon/system/ulib/fs/),
 and another written in Go in the [rpc package of
-ThinFS](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/go/src/thinfs/zircon/rpc/rpc.go)]
+ThinFS](/garnet/go/src/thinfs/zircon/rpc/rpc.go)]
 
 The VFS layer defines the interface of operations which may be routed to the
 underlying filesystem, including:
diff --git a/docs/the-book/merkleroot.md b/docs/the-book/merkleroot.md
index 5404949d2ea7f056b65b75d646ba085b557bec98..7736196e5be65ecd4472dba798337bd55d00ce4b 100644
--- a/docs/the-book/merkleroot.md
+++ b/docs/the-book/merkleroot.md
@@ -83,5 +83,5 @@ the SHA-256 of 12 0 bytes, the block identity of a single 0 length block.
 [merkletree]: https://en.wikipedia.org/wiki/Merkle_tree "Merkle Tree"
 [dmverity]: https://www.chromium.org/chromium-os/chromiumos-design-docs/verified-boot "Chrome OS Verified Boot"
 [far]: archive_format.md "Archive Format"
-[pm]: https://fuchsia.googlesource.com/fuchsia/+/master/garnet/go/src/pm/README.md "Package Manager"
-[zircon]: https://fuchsia.googlesource.com/fuchsia/+/master/zircon/README.md "Zircon"
+[pm]: /garnet/go/src/pm/README.md "Package Manager"
+[zircon]: /zircon/README.md "Zircon"
diff --git a/docs/the-book/package_metadata.md b/docs/the-book/package_metadata.md
index 3d7053dc457e5f742ecaedbe9ebbe6b926bbf1d7..775af77dbd8b037ed86e620d418470419175beb7 100644
--- a/docs/the-book/package_metadata.md
+++ b/docs/the-book/package_metadata.md
@@ -4,20 +4,20 @@ The Fuchsia package format contains an extensive metadata directory. This
 document describes the metadata extensions that are understood by Fuchsia
 itself.
 
-See [https://fuchsia.googlesource.com/fuchsia/+/master/garnet/go/src/pm#Structure-of-a-Fuchsia-Package] for
+See [/garnet/go/src/pm#Structure-of-a-Fuchsia-Package] for
 more information about where these files appear in a package.
 
 ## metadata
 
-See [https://fuchsia.googlesource.com/fuchsia/+/master/garnet/go/src/pm#metadata]
+See [/garnet/go/src/pm#metadata]
 
 ## contents
 
-See [https://fuchsia.googlesource.com/fuchsia/+/master/garnet/go/src/pm#contents]
+See [/garnet/go/src/pm#contents]
 
 ## signature
 
-See [https://fuchsia.googlesource.com/fuchsia/+/master/garnet/go/src/pm#signature]
+See [/garnet/go/src/pm#signature]
 
 ## Component manifest
 
@@ -221,4 +221,4 @@ The set of currently known features are as follows:
 See [sandboxing.md](sandboxing.md) for more information about sandboxing.
 
 
-[runner]: https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.sys/runner.fidl
+[runner]: /sdk/fidl/fuchsia.sys/runner.fidl
diff --git a/docs/the-book/package_uri.md b/docs/the-book/package_uri.md
index f64a5cf79b0e9f96080dad2b7baec217989026b3..b2cda128aae63973623fe4f5b9bab90c067c43f3 100644
--- a/docs/the-book/package_uri.md
+++ b/docs/the-book/package_uri.md
@@ -155,7 +155,7 @@ of the following latin-1 characters: digits (`0` to `9`) and lower-case letters
 
  * `15ec7bf0b50732b49f8228e07d24365338f9e3ab994b00af08e5a3bffe55fd8b`
 
-[merkleroot]: https://fuchsia.googlesource.com/fuchsia/+/master/docs/the-book/merkleroot.md
+[merkleroot]: /docs/the-book/merkleroot.md
 
 ## Resource Identity
 
@@ -180,7 +180,7 @@ Per [RFC 3986], resource paths are percent-encoded when they appear in URIs.
  * `assets/en/strings`
  * `hello/unicode/%F0%9F%98%81`, which decodes to `hello/unicode/😁`
 
-[Fuchsia filesystem paths]: https://fuchsia.googlesource.com/fuchsia/+/master/docs/the-book/namespaces.md
+[Fuchsia filesystem paths]: /docs/the-book/namespaces.md
 [RFC 3986]: https://tools.ietf.org/html/rfc3986#page-11
 
 ## The fuchsia-pkg URI Scheme
diff --git a/docs/the-book/sandboxing.md b/docs/the-book/sandboxing.md
index 31445951a26b564e57236d01156ea82b60c1da61..912714b1a62ce6cd9765c24fda8e7f5048663b78 100644
--- a/docs/the-book/sandboxing.md
+++ b/docs/the-book/sandboxing.md
@@ -70,8 +70,8 @@ requests, but that is likely to change as the system evolves.
 ## Building a package
 
 To build a package, use the `package()` macro in `gn` defined in
-[`//build/package.gni`](https://fuchsia.googlesource.com/fuchsia/+/master/build/package.gni).
+[`//build/package.gni`](/build/package.gni).
 See the documentation for the `package()` macro for details about including resources.
 
-For examples, see [https://fuchsia.googlesource.com/fuchsia/+/master/garnet/packages/prod/fortune]
-and [https://fuchsia.googlesource.com/fuchsia/+/master/examples/fortune/BUILD.gn].
+For examples, see [/garnet/packages/prod/fortune]
+and [/examples/fortune/BUILD.gn].