diff --git a/doc/README.md b/doc/README.md
index b0d99456da62453934cce14f0ae65dcf0f32cba8..b7aefc8d2c1e7badc95666dbdc0f3efab9364f0d 100644
--- a/doc/README.md
+++ b/doc/README.md
@@ -70,6 +70,6 @@ To begin the next release development cycle, populate the contents of `next`
 with those of `initial`. From the repo root:
 
     > cd doc
-    > cp -r initial/* next
+    > cp -R initial/ next
 
 Then edit `next/1-intro.md` to refer to the next version.
diff --git a/doc/next/1-intro.md b/doc/next/1-intro.md
new file mode 100644
index 0000000000000000000000000000000000000000..3f6dc9f5d898b93b4a639f15b638defc339ca45c
--- /dev/null
+++ b/doc/next/1-intro.md
@@ -0,0 +1,14 @@
+<!--
+NOTE: In this document and others in this directory, the convention is to
+set fixed-width phrases with non-fixed-width spaces, as in
+`hello` `world`.
+-->
+
+<style>
+  main ul li { margin: 0.5em 0; }
+</style>
+
+## DRAFT RELEASE NOTES — Introduction to Go 1.24 {#introduction}
+
+**Go 1.24 is not yet released. These are work-in-progress release notes.
+Go 1.24 is expected to be released in February 2025.**
diff --git a/doc/next/2-language.md b/doc/next/2-language.md
new file mode 100644
index 0000000000000000000000000000000000000000..61030bd67606b037e083f01d21daed91c36f43b9
--- /dev/null
+++ b/doc/next/2-language.md
@@ -0,0 +1,3 @@
+## Changes to the language {#language}
+
+
diff --git a/doc/next/3-tools.md b/doc/next/3-tools.md
new file mode 100644
index 0000000000000000000000000000000000000000..5638f240a5b12744564781b99e1ce4878df6ca41
--- /dev/null
+++ b/doc/next/3-tools.md
@@ -0,0 +1,6 @@
+## Tools {#tools}
+
+### Go command {#go-command}
+
+### Cgo {#cgo}
+
diff --git a/doc/next/4-runtime.md b/doc/next/4-runtime.md
new file mode 100644
index 0000000000000000000000000000000000000000..1f8e445e0b10dec62dbb8c5f06d35ece0db1cfdd
--- /dev/null
+++ b/doc/next/4-runtime.md
@@ -0,0 +1 @@
+## Runtime {#runtime}
diff --git a/doc/next/5-toolchain.md b/doc/next/5-toolchain.md
new file mode 100644
index 0000000000000000000000000000000000000000..0f4a816479754c2c55ce9ead3ac3581bb1f4453c
--- /dev/null
+++ b/doc/next/5-toolchain.md
@@ -0,0 +1,7 @@
+## Compiler {#compiler}
+
+## Assembler {#assembler}
+
+## Linker {#linker}
+
+
diff --git a/doc/next/6-stdlib/0-heading.md b/doc/next/6-stdlib/0-heading.md
new file mode 100644
index 0000000000000000000000000000000000000000..a992170d433326dc7b0ce8a1d88eb859589355cf
--- /dev/null
+++ b/doc/next/6-stdlib/0-heading.md
@@ -0,0 +1,2 @@
+## Standard library {#library}
+
diff --git a/doc/next/6-stdlib/99-minor/0-heading.md b/doc/next/6-stdlib/99-minor/0-heading.md
new file mode 100644
index 0000000000000000000000000000000000000000..a98105e8ccba7f64a0fd77d1b85cf46545ba2d2b
--- /dev/null
+++ b/doc/next/6-stdlib/99-minor/0-heading.md
@@ -0,0 +1,3 @@
+### Minor changes to the library {#minor_library_changes}
+
+
diff --git a/doc/next/6-stdlib/99-minor/README b/doc/next/6-stdlib/99-minor/README
new file mode 100644
index 0000000000000000000000000000000000000000..fac778de050642927b0f83650ee34b8db1fb97f5
--- /dev/null
+++ b/doc/next/6-stdlib/99-minor/README
@@ -0,0 +1 @@
+API changes and other small changes to the standard library go here.
diff --git a/doc/next/7-ports.md b/doc/next/7-ports.md
new file mode 100644
index 0000000000000000000000000000000000000000..8bea3f8fbc33f90f98bd40929a4a3a2fccb7481c
--- /dev/null
+++ b/doc/next/7-ports.md
@@ -0,0 +1,2 @@
+## Ports {#ports}
+