Commit 567111b
committed
docs(redesign): restructure documentation to Library Skeleton pattern
why: The documentation had accumulated organically — test helpers and
pytest plugin floated as top-level orphans, API reference files used
ambiguous names (servers.md vs libtmux.server.md), internal APIs weren't
separated from public ones, and the landing page dumped the full README
with no navigation affordance. This restructure follows the Python
Documentation Skeletons spec where api/ is the primary reference surface
for a library package.
what:
Structure:
- Rename api/ reference files to libtmux.<module>.md format (10 files)
- Move test-helpers/ and pytest-plugin/ under api/ as auxiliary public
API surfaces
- Restructure internals/ with api/ subdirectory using
libtmux._internal.*.md naming
- Create project/ directory (contributing, code-style, releasing)
- Move developing.md to project/contributing.md
- Fold about.md content (ID prefixes, naming conventions) into
topics/architecture.md
New pages:
- api/public-api.md — stability contract, pre-1.0 semver policy,
deprecation process
- api/compatibility.md — Python/tmux/platform support matrix
- api/deprecations.md — active deprecation tracker
- topics/architecture.md — module hierarchy, data flow, internal
identifiers (merged from about.md)
- topics/configuration.md — env vars, format handling
- topics/design-decisions.md — ORM rationale, format strings, neo.py
- topics/public-vs-internal.md — boundary philosophy, promotion path
- project/code-style.md — ruff, mypy, NumPy docstrings
- project/releasing.md — git tags, OIDC trusted publishing
Landing page:
- Compose standalone homepage (no README.md include)
- One-sentence intro, 2x2 grid cards, 2-command install with pin tip,
6-line code snippet with hierarchy diagram, pytest fixture example
Section indexes:
- api/index.md: 2x2 Core Objects + 3x2 Supporting Modules card grids
- topics/index.md: 2x4 card grid for substantive topic pages
- project/index.md: 2x2 card grid for contributor pages
Navigation:
- Sidebar: Quickstart, Topics, API Reference, Internals, Project,
Changelog, Migration, Glossary
- 22 redirects for all renamed/moved files
- README.md API URLs updated to new libtmux.<module>.html paths
Dependencies:
- Add sphinx-design to docs and dev dependency groups
- Annotate all doc dependencies with documentation site URLs
conf.py:
- Add sphinx_design extension
- Add myst_heading_anchors = 41 parent 0ca7749 commit 567111b
File tree
40 files changed
+696
-139
lines changed- docs
- api
- pytest-plugin
- test-helpers
- internals
- api
- project
- topics
40 files changed
+696
-139
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
230 | 230 | | |
231 | 231 | | |
232 | 232 | | |
233 | | - | |
234 | | - | |
235 | | - | |
236 | | - | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
237 | 237 | | |
238 | | - | |
| 238 | + | |
239 | 239 | | |
240 | 240 | | |
241 | 241 | | |
| |||
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 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 | + | |
7 | 100 | | |
| 101 | + | |
8 | 102 | | |
9 | | - | |
10 | | - | |
11 | | - | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
19 | 106 | | |
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
0 commit comments