Skip to content

Commit f8275a5

Browse files
committed
docs(toolsets): Declare the vocabulary the badges need
why: gp-sphinx no longer ships a default vocabulary, so a project that declares none renders every tool without a toolset badge. That is the right default there — a docs tool should not badge a project's tools with words it never used — and it makes declaring one this project's job. The pin also moves to an exact rev. A branch ref resolves to whatever that branch pointed at when the cache was warmed, which is not a thing a lockfile should depend on. what: - Declare `fastmcp_toolsets` in `docs/conf.py`, in precedence order, with the tooltip and icon each badge carries - Retitle the hand-written tool groups from Inspect/Act/Destroy to the four toolsets, splitting Act into `manage` and `execute` - Pin `sphinx-autodoc-fastmcp` to a rev rather than a branch
1 parent 3f74d0e commit f8275a5

4 files changed

Lines changed: 43 additions & 12 deletions

File tree

‎docs/conf.py‎

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,31 @@ def _patched_tool_collector_tool(self: ToolCollector, **kwargs: t.Any) -> t.Any:
173173
"BufferRef",
174174
"BufferContent",
175175
)
176+
# sphinx-autodoc-fastmcp ships no default vocabulary: it documents
177+
# projects whose tags it does not choose. Declaration order is
178+
# precedence, and the summary tables follow it.
179+
conf["fastmcp_toolsets"] = (
180+
{
181+
"tag": "teardown",
182+
"tooltip": "Teardown \u2014 deletes tmux objects or scrollback",
183+
"icon": "\U0001f4a3",
184+
},
185+
{
186+
"tag": "execute",
187+
"tooltip": "Execute \u2014 starts or drives a pane process",
188+
"icon": "\u270f\ufe0f",
189+
},
190+
{
191+
"tag": "manage",
192+
"tooltip": "Manage \u2014 changes tmux structure or presentation",
193+
"icon": "\U0001f527",
194+
},
195+
{
196+
"tag": "inspect",
197+
"tooltip": "Inspect \u2014 reads tmux state and terminal output",
198+
"icon": "\U0001f50d",
199+
},
200+
)
176201
conf["fastmcp_section_badge_map"] = {
177202
"Inspect": "inspect",
178203
"Execute": "execute",

‎docs/tools/index.md‎

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,8 @@ shell-agnostic guidance.
8282

8383
## Inspect
8484

85-
Read tmux state without changing anything.
85+
Read tmux state and terminal output. Starts no process, and hands no input
86+
of yours to one.
8687

8788
::::{grid} 1 2 3 3
8889
:gutter: 2 2 3 3
@@ -215,9 +216,14 @@ Inspect a single tmux hook by name.
215216

216217
::::
217218

218-
## Act
219+
## Manage
219220

220-
Create or modify tmux objects.
221+
Change tmux structure or presentation. Takes no input of yours that anything
222+
later executes.
223+
224+
## Execute
225+
226+
Start a pane process, deliver input to one, or store a value tmux later runs.
221227

222228
::::{grid} 1 2 3 3
223229
:gutter: 2 2 3 3
@@ -392,9 +398,9 @@ Wake clients blocked on a ``wait-for`` channel.
392398

393399
::::
394400

395-
## Destroy
401+
## Teardown
396402

397-
Tear down tmux objects. Not reversible.
403+
Delete tmux objects or retained scrollback. Not reversible.
398404

399405
::::{grid} 1 2 3 3
400406
:gutter: 2 2 3 3

‎pyproject.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ build-backend = "hatchling.build"
119119
# sphinx-vite-builder, which needs pnpm that CI runners do not carry.
120120
# Revert once #77 lands and a release is cut.
121121
[tool.uv.sources]
122-
sphinx-autodoc-fastmcp = { git = "https://github.com/git-pull/gp-sphinx", branch = "scope-overhaul", subdirectory = "packages/sphinx-autodoc-fastmcp" }
122+
sphinx-autodoc-fastmcp = { git = "https://github.com/git-pull/gp-sphinx", rev = "4cc6cf4069fcf06853dd473a803079e10d007755", subdirectory = "packages/sphinx-autodoc-fastmcp" }
123123

124124
[tool.uv.exclude-newer-package]
125125
# git-pull packages release in lockstep with their workspaces, so a

‎uv.lock‎

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)