Skip to content

docs(redesign): restructure documentation to CLI Frontend Skeleton pattern#1029

Merged
tony merged 2 commits intomasterfrom
2026-spring-doc-redesign
Mar 23, 2026
Merged

docs(redesign): restructure documentation to CLI Frontend Skeleton pattern#1029
tony merged 2 commits intomasterfrom
2026-spring-doc-redesign

Conversation

@tony
Copy link
Copy Markdown
Member

@tony tony commented Mar 23, 2026

Summary

Restructure tmuxp documentation to follow the CLI Frontend Documentation Skeleton pattern where cli/ is the primary reference surface and the Python API is explicitly internal.

  • Standalone homepage β€” composed page with 3+2 grid cards, 3-command install, inline YAML example, demo GIF. No README.md includes.
  • Python API demoted β€” entire docs/api/ moved to docs/internals/api/ with explicit "not for end users" warning. Inner internals/ renamed to _internal/ to avoid path stutter.
  • CLI Reference enhanced β€” heading changed to "CLI Reference", 2x3 card grid for key commands, new exit-codes.md and recipes.md pages
  • Topics section β€” new workflows, troubleshooting, library-vs-cli pages. Plugins moved from standalone section.
  • Project section β€” contributing (moved from developing.md), code-style, releasing
  • Sidebar cleaned β€” primary nav (7 items) + "More" caption for historical/reference pages (Tao of tmux, Migration, Glossary)
  • Stale content removed β€” about.md (2016 references) folded into topics/index.md as brief comparison note
  • Grid cards on all section index pages for consistent navigation
  • 35 redirects for all moved files (every individual api/ file covered)
  • sphinx-design added to dependencies with doc-site URL annotations

Test plan

  • uv run sphinx-build -b html docs/ docs/_build/html builds without errors
  • uv run py.test docs/ README.md doctests pass
  • Visual inspection of landing page, CLI reference, topics, internals, project sections
  • Redirects resolve for old URLs

@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 23, 2026

Codecov Report

βœ… All modified and coverable lines are covered by tests.
βœ… Project coverage is 81.02%. Comparing base (33da7da) to head (07c0ff9).
⚠️ Report is 3 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1029   +/-   ##
=======================================
  Coverage   81.01%   81.02%           
=======================================
  Files          28       28           
  Lines        2629     2630    +1     
  Branches      492      492           
=======================================
+ Hits         2130     2131    +1     
  Misses        368      368           
  Partials      131      131           

β˜” View full report in Codecov by Sentry.
πŸ“’ Have feedback on the report? Share it here.

πŸš€ New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@tony tony marked this pull request as ready for review March 23, 2026 22:28
@tony tony force-pushed the 2026-spring-doc-redesign branch from 5189be0 to 131981e Compare March 23, 2026 22:41
tony added 2 commits March 23, 2026 17:50
…e URLs

why: sphinx-design is needed for grid cards in the documentation
landing pages and section indexes. Doc-site URLs added as inline
comments for quick reference when managing dependencies.
what:
- Add sphinx-design to docs and dev dependency groups
- Annotate all doc dependencies with their documentation URLs
…ttern

why: The documentation mixed user-facing CLI docs with internal Python
API reference at the same sidebar level, the landing page dumped the
entire README (12 H1 headings), and contributor docs were scattered.
This restructure follows the Python Documentation Skeletons spec where
cli/ is the primary reference surface for a CLI package and the Python
API is explicitly internal.

what:

Structure:
- Move entire docs/api/ to docs/internals/api/ (Python API is internal
  for a CLI package)
- Rename inner api/internals/ to api/_internal/ to avoid path stutter
- Create topics/ directory with workflows, troubleshooting,
  library-vs-cli, and plugins (moved from plugins/)
- Create project/ directory (contributing, code-style, releasing)
- Move developing.md to project/contributing.md
- Fold about.md (stale 2016 content) into topics/index.md as a brief
  tmuxinator/teamocil comparison note
- Delete about.md

New pages:
- cli/exit-codes.md β€” exit codes for scripting and automation
- cli/recipes.md β€” copy-pasteable command invocations
- internals/index.md β€” explicit "not for end users" warning
- internals/architecture.md β€” CLI dispatch flow diagram
- topics/workflows.md β€” CI integration, scripting patterns
- topics/troubleshooting.md β€” common shell/PATH/tmux issues
- topics/library-vs-cli.md β€” when to use tmuxp CLI vs libtmux,
  concept mapping table, what the CLI can't express
- project/code-style.md β€” ruff, mypy, NumPy docstrings
- project/releasing.md β€” git tags, OIDC trusted publishing

Landing page:
- Compose standalone homepage (no README.md includes)
- One-sentence intro, 3+2 grid cards, 3-command install,
  inline YAML example + tmuxp load command, demo GIF

Section indexes:
- cli/index.md: heading "CLI Reference", 2x3 card grid for key
  commands + exit-codes and recipes
- topics/index.md: 2x2 card grid with comparison note
- project/index.md: 2x2 card grid for contributor pages (3 items)
- configuration/index.md: 1x3 card grid for reference subpages

Navigation:
- Sidebar primary: Quickstart, CLI Reference, Workspace files, Topics,
  Internals, Project, Changelog
- Sidebar "More" caption: The Tao of tmux, Migration, Glossary
- 35 redirects for all moved files (every individual api/ file covered)
- README.md URLs updated to new doc structure paths, http β†’ https

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 = 4
@tony tony force-pushed the 2026-spring-doc-redesign branch from 131981e to 07c0ff9 Compare March 23, 2026 22:50
@tony tony merged commit b353f84 into master Mar 23, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant