diff --git a/diff.bzl b/diff.bzl
index 900a37b..f59d720 100644
--- a/diff.bzl
+++ b/diff.bzl
@@ -1,14 +1,30 @@
-"Create and Update Patches"
+"""
+# `diff` Utils
+
+Create and Update Patches
+
+```starlark
+load("@bzlparty_tools//:diff.bzl", "diff", "update_patches")
+
+diff(
+ name = "module_bazel",
+ source = "//:MODULE.bazel",
+ target = ":MODULE.bazel",
+)
+
+update_patches()
+```
+
+> [!NOTE]
+> The `diff` rule uses the `diff` command from the host system.
+> There is no toolchain that uses a platform specific tool.
+"""
load("@aspect_bazel_lib//lib:write_source_files.bzl", "write_source_files")
def diff(name, source, target, input = None):
"""Create a patch file from `source` and `target` files.
- > [!NOTE]
- > This is a simple rule that uses the `diff` command from the host system.
- > There is no toolchain that uses a platform specific tool.
-
Args:
name: A unique name for the target.
source: Source file to create the patch for.
diff --git a/docs/diff.md b/docs/diff.md
index ba338ea..3e5dc84 100644
--- a/docs/diff.md
+++ b/docs/diff.md
@@ -1,7 +1,27 @@
+
+# `diff` Utils
+
Create and Update Patches
+```starlark
+load("@bzlparty_tools//:diff.bzl", "diff", "update_patches")
+
+diff(
+ name = "module_bazel",
+ source = "//:MODULE.bazel",
+ target = ":MODULE.bazel",
+)
+
+update_patches()
+```
+
+> [!NOTE]
+> The `diff` rule uses the `diff` command from the host system.
+> There is no toolchain that uses a platform specific tool.
+
+
## diff
@@ -12,11 +32,6 @@ diff(name, source,
diff --git a/platforms.bzl b/platforms.bzl
index a30a16e..c1f2564 100644
--- a/platforms.bzl
+++ b/platforms.bzl
@@ -1,4 +1,8 @@
-"Default platform mapping and helpers"
+"""
+# Platforms
+
+Default platform mappings and helpers
+"""
load("@local_config_platform//:constraints.bzl", "HOST_CONSTRAINTS")