Commit 739ecad
feat(doc): re-write readme/top-level docs and add specs section to html docs (#2677)
* docs(specs): add Specs section with overview
Introduce a top-level `Specs` section in the mkdocs navigation and a new
`docs/specs/index.md` page that explains what EELS is, the coordination
problem it solves, why Python was chosen, the Correct/Complete/Accessible
principles, and the fork-as-a-copy (WET) model.
This is the anchor page for further specs-side documentation (writing
specs, adding a new EIP, spec releases, protocol history); those pages
land in follow-up commits.
* docs(specs): move protocol history table from README to Specs section
The full mainnet hardfork table, the "clarifications without a protocol
release" table, and the Paris/Shanghai activation note now live on a
dedicated `docs/specs/protocol_history.md` page linked from the Specs
overview and the mkdocs navigation. `README.md` keeps a one-line pointer
to the new page.
Fork-manifest links switch from repo-relative paths (`/src/ethereum/...`)
to absolute GitHub URLs on `forks/amsterdam` so they resolve correctly
from the rendered docs site.
* docs(specs): move EIP_AUTHORS_MANUAL.md to docs/specs/adding_a_new_eip.md
Pure rename so `git log --follow` (and `mkdocs-git-authors-plugin` by
extension) continues to trace the file's history back to the original
author, Guruprasad Kamath. Content modernization for the post-Weld
world lands in the follow-up commit.
* docs(specs): modernize adding_a_new_eip for the unified repo
Post-Weld rewrite of the EIP author's manual. The cross-repo references
to `execution-spec-tests` are replaced with pointers to in-tree tests
under `./tests/`; the step-by-step workflow points at the in-tree
`ethereum_spec_tools` utilities. The YouTube opcode tutorial link is
preserved.
The rename from `EIP_AUTHORS_MANUAL.md` to
`docs/specs/adding_a_new_eip.md` was done as a pure `git mv` in the
previous commit so `git log --follow` (and therefore the
`mkdocs-git-authors-plugin`) continues to attribute the earlier content
to its original author.
Co-authored-by: Guruprasad Kamath <guru241987@gmail.com>
* docs(specs): add writing_specs page from CONTRIBUTING technicals
Extracts the style, comments, docstrings, constants, and cross-fork
sections from `CONTRIBUTING.md` into a dedicated
`docs/specs/writing_specs.md` page, alongside documentation for the
`ethereum_spec_tools` CLI utilities (New Fork Tool, Sync Tool, Patch
Tool, Lint Tool) and the `--evm-trace` debugging flag.
The EIP-attributed-comment pitfall is preserved as a collapsible detail
block so it remains readable without dominating the page.
`CONTRIBUTING.md` is untouched in this commit; the slimming down to
who/how/what happens in a follow-up. The `adding_a_new_eip` page gets
its `Writing Specs` link back in this commit now that the target exists.
* docs(contributing): slim CONTRIBUTING.md to who/how/what
`CONTRIBUTING.md` now focuses on who the project welcomes contributions
from, how to raise issues/PRs, and the three guiding principles
(Correct, Complete, Accessible). The remaining sections point at the
authoritative docs:
- Environment setup, `uv`/`just`/shell completions, Python version,
and the full recipe list go to `docs/getting_started/installation.md`.
- Naming/comments/docstrings/constants/cross-fork discipline, and the
`ethereum_spec_tools` CLI utilities go to `docs/specs/writing_specs.md`.
- The `--evm-trace` debugging tip lives in `docs/specs/writing_specs.md`.
- The `MYPY_CACHE_DIR` worktree tip is already covered in the
installation docs.
`copy_repo_docs_to_mkdocs.py` learns two new link rewrites so the
repo-relative `docs/...` paths in `CONTRIBUTING.md` work both when
viewed on GitHub and when the file is copied to
`docs/getting_started/contributing.md` for the rendered site.
* docs(specs): split RELEASING into contributor and maintainer pages
The old `RELEASING.md` mixed two audiences: contributors (who want to
understand the version-number scheme when reading `pyproject.toml` or
proposing a release) and maintainers (who cut the tag, publish to PyPI,
and file the GitHub release).
Split along that seam:
- `docs/specs/spec_releases.md` covers the versioning scheme (format,
examples, and the current-to-next lookup table), sitting alongside
the other specs-side documentation.
- `docs/dev/releasing.md` is the maintainer runbook (updating the
version in source, tagging, GitHub release, PyPI publish).
Each page links to the other so a reader landing on either one can find
the half they need.
* docs(readme): rewrite README around the docs site and a Quick Start
Post-Weld `README.md` becomes the GitHub-landing hook: a short
description, pointers to the rendered documentation site, the
`docc`-rendered pyspec, the protocol history page, a single-tab Quick
Start cribbed from `docs/getting_started/installation.md`, and the
license.
The README now treats `docs/getting_started/installation.md` as the
source of truth for environment setup: the Python-version line reflects
the 3.11 to 3.14 range (recommending 3.12) rather than the stale
"Python 3.11+"; the "Building Specification Documentation" and
"Browsing Updated Documentation" sections collapse into a single
`mkdocs serve` / `just docs-spec` note; and the "work-in-progress"
placeholder heading is gone.
* docs(specs): rename top-level section header to "Specifications"
Use the full word "Specifications" in the navigation sidebar and the
section index H1. The folder name under `docs/specs/` and the URL path
are unchanged.
* docs(specs): reframe coordination section around client diversity
The opening section now leads with "Client Diversity requires
Coordination" and frames client diversity as a positive property
(resilience, no privileged implementation, permissionless participation)
rather than opening on the coordination *problem*. Coordination follows
as the natural consequence of that diversity: a multi-client network
needs a precise shared description of behaviour, and EELS is it.
Links the ethereum.org client-diversity page for readers who want the
full argument. The Python-versus-prose point is kept but slimmed of
incidental color ("implementation differences in early EIPs are part of
the lore") that didn't add to the reframed narrative.
* docs(specs): unwrap hard-wrapped paragraphs in docs/specs/
Consecutive prose lines and list-item continuations are collapsed onto a
single line per paragraph / list item. Fenced code blocks, tables, HTML
blocks, headings, admonition markers, blockquotes, and link reference
definitions are preserved verbatim.
Matches the single-line-per-paragraph style already applied to the
opening paragraph of `docs/specs/index.md`, and makes the files easier
to diff on prose edits.
* docs(contributing): unwrap hard-wrapped paragraphs in CONTRIBUTING.md
Matches the single-line-per-paragraph style now used across
`docs/specs/*.md`, for cleaner future prose diffs. The blockquote
content under the `[!IMPORTANT]` alert is also collapsed to a single
line after the marker.
* docs(contributing): point Getting Set Up at the README Quick Start
`CONTRIBUTING.md` no longer embeds its own abbreviated install commands;
it points at the [Quick Start](README.md#quick-start) for the short
version and at the Installation guide for full setup. Avoids a third
copy of the install commands drifting out of sync.
`copy_repo_docs_to_mkdocs.py` rewrites `README.md#quick-start` to
`installation.md#quick-start` when copying `CONTRIBUTING.md` into the
mkdocs site, since the rendered site has no `README.md`.
* docs(readme): unwrap paragraphs and use `just` recipes for docs builds
Paragraphs are collapsed to a single line each, matching the style now
used across `docs/specs/*.md` and `CONTRIBUTING.md` for cleaner future
prose diffs.
`mkdocs serve` is replaced with `just docs-serve-fast` so the README
drives users through the repo's task runner rather than a raw `uv run`
invocation; the `just docs-spec` call gets its own code block for
symmetry. Both fences use the `console` language now that they are
pure shell commands.
* chore(docs): improve readme
* chore(docs): 3.12 as default; 3.13 doesn't have coincurve wheels
* chore(docs): improve contributing
* chore(docs): update production client list in readme
---------
Co-authored-by: Guruprasad Kamath <guru241987@gmail.com>1 parent 6f43bc6 commit 739ecad
12 files changed
Lines changed: 605 additions & 567 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | | - | |
6 | | - | |
7 | | - | |
8 | | - | |
| 5 | + | |
| 6 | + | |
9 | 7 | | |
10 | 8 | | |
11 | 9 | | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | | - | |
116 | | - | |
117 | | - | |
118 | | - | |
119 | | - | |
120 | | - | |
121 | | - | |
122 | | - | |
123 | | - | |
124 | | - | |
125 | | - | |
126 | | - | |
127 | | - | |
128 | | - | |
129 | | - | |
130 | | - | |
131 | | - | |
132 | | - | |
133 | | - | |
134 | | - | |
135 | | - | |
136 | | - | |
137 | | - | |
138 | | - | |
139 | | - | |
140 | | - | |
141 | | - | |
142 | | - | |
143 | | - | |
144 | | - | |
145 | | - | |
146 | | - | |
147 | | - | |
148 | | - | |
149 | | - | |
150 | | - | |
151 | | - | |
152 | | - | |
153 | | - | |
154 | | - | |
155 | | - | |
156 | | - | |
157 | | - | |
158 | | - | |
159 | | - | |
160 | | - | |
161 | | - | |
162 | | - | |
163 | | - | |
164 | | - | |
165 | | - | |
166 | | - | |
167 | | - | |
168 | | - | |
169 | | - | |
170 | | - | |
171 | | - | |
172 | | - | |
173 | | - | |
174 | | - | |
175 | | - | |
176 | | - | |
177 | | - | |
178 | | - | |
179 | | - | |
180 | | - | |
181 | | - | |
182 | | - | |
183 | | - | |
184 | | - | |
185 | | - | |
186 | | - | |
187 | | - | |
188 | | - | |
189 | | - | |
190 | | - | |
191 | | - | |
192 | | - | |
193 | | - | |
194 | | - | |
195 | | - | |
196 | | - | |
197 | | - | |
198 | | - | |
199 | | - | |
200 | | - | |
201 | | - | |
202 | | - | |
203 | | - | |
204 | | - | |
205 | | - | |
206 | | - | |
207 | | - | |
208 | | - | |
209 | | - | |
210 | | - | |
211 | | - | |
212 | | - | |
213 | | - | |
214 | | - | |
215 | | - | |
216 | | - | |
217 | | - | |
218 | | - | |
219 | | - | |
220 | | - | |
221 | | - | |
222 | | - | |
223 | | - | |
224 | | - | |
225 | | - | |
226 | | - | |
227 | | - | |
228 | | - | |
229 | | - | |
230 | | - | |
231 | | - | |
232 | | - | |
233 | | - | |
234 | | - | |
235 | | - | |
236 | | - | |
237 | | - | |
238 | | - | |
239 | | - | |
240 | | - | |
241 | | - | |
242 | | - | |
243 | | - | |
244 | | - | |
245 | | - | |
246 | | - | |
247 | | - | |
248 | | - | |
249 | | - | |
250 | | - | |
251 | | - | |
252 | | - | |
253 | | - | |
254 | | - | |
255 | | - | |
256 | | - | |
257 | | - | |
258 | | - | |
259 | | - | |
260 | | - | |
261 | | - | |
| 10 | + | |
262 | 11 | | |
263 | | - | |
| 12 | + | |
264 | 13 | | |
265 | | - | |
266 | | - | |
267 | | - | |
268 | | - | |
| 14 | + | |
269 | 15 | | |
270 | | - | |
| 16 | + | |
| 17 | + | |
271 | 18 | | |
272 | | - | |
273 | | - | |
274 | | - | |
275 | | - | |
276 | | - | |
277 | | - | |
278 | | - | |
279 | | - | |
| 19 | + | |
280 | 20 | | |
281 | | - | |
282 | | - | |
| 21 | + | |
283 | 22 | | |
284 | | - | |
| 23 | + | |
285 | 24 | | |
286 | | - | |
287 | | - | |
| 25 | + | |
288 | 26 | | |
289 | | - | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
290 | 30 | | |
291 | | - | |
292 | | - | |
293 | | - | |
294 | | - | |
| 31 | + | |
295 | 32 | | |
296 | | - | |
| 33 | + | |
297 | 34 | | |
298 | | - | |
299 | | - | |
300 | | - | |
| 35 | + | |
301 | 36 | | |
302 | | - | |
| 37 | + | |
303 | 38 | | |
304 | | - | |
305 | | - | |
| 39 | + | |
306 | 40 | | |
307 | | - | |
| 41 | + | |
| 42 | + | |
308 | 43 | | |
309 | | - | |
310 | | - | |
| 44 | + | |
311 | 45 | | |
312 | | - | |
| 46 | + | |
0 commit comments