Skip to content

Commit 0a956b7

Browse files
danbarrclaude
andauthored
Update guidance files for docs restructuring (#644)
* Update guidance files to reflect docs restructuring Update AGENTS.md/CLAUDE.md, STYLE-GUIDE.md, and skills (docs-review, upstream-release-docs) to encode the information architecture, design principles, and page conventions established during the Phase 1-3 docs restructuring. This ensures future contributions follow the new product-area-based structure. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Address review feedback: restore Diataxis, fix paths - Restore Diataxis framework reference as the underlying authoring model (it still applies, just not to folder structure) - Remove reference to transient restructuring plan document - Add docs/toolhive/ base path to all folder references so contributors place files correctly Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Dan Barr <6922515+danbarr@users.noreply.github.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent e917bd4 commit 0a956b7

4 files changed

Lines changed: 126 additions & 19 deletions

File tree

.claude/skills/docs-review/SKILL.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,18 @@ Watch for these telltale signs of AI-generated docs that need human intervention
6363
| Over-explaining | Verbose descriptions of obvious things | Trust the reader; cut aggressively |
6464
| Hedging language | "may," "might," "could potentially" | Be direct or remove |
6565

66+
### Section Structure and Navigation
67+
68+
The docs follow a product-area-based information architecture under `docs/toolhive/`. Check:
69+
70+
- **Self-contained sections**: Product-specific content belongs in its product section (`docs/toolhive/guides-ui/`, `guides-cli/`, `guides-k8s/`, `guides-vmcp/`, `guides-registry/`), not in a shared section.
71+
- **Quickstarts in product sections**: Quickstarts live inside their product section, not in a separate top-level section.
72+
- **Integration placement**: Third-party integration guides (ngrok, Vault, OpenTelemetry, Okta, etc.) belong in `integrations/`, not in a product section.
73+
- **Next steps section**: Every how-to guide and tutorial page must end with a "Next steps" section containing 1-3 forward links. Missing "Next steps" is a primary issue.
74+
- **Introduction pages**: Each product section should have an Introduction as the first sidebar child. New sections must follow this pattern.
75+
- **Progressive disclosure**: Core workflows should appear before advanced topics. Check that advanced content isn't mixed in with beginner-facing pages.
76+
- **Forward navigation path**: A reader should be able to follow "Next steps" links from the quickstart through core workflows without relying on the sidebar.
77+
6678
### Clarity and Readability
6779

6880
- **Passive voice**: "Backend discovery occurs" → "vMCP discovers backends"
@@ -113,6 +125,8 @@ Structure your review as:
113125
**Primary issues** (address before merge):
114126

115127
- Information architecture: content in wrong document, cross-document duplication
128+
- Content placed in the wrong section (e.g., product-specific content in Concepts, integration content in a product section)
129+
- Missing "Next steps" section on how-to guides and tutorials
116130
- Structure problems that harm navigation
117131
- Missing explanations for confusing design decisions
118132
- Significantly buried or redundant content

.claude/skills/upstream-release-docs/SKILL.md

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,14 @@ Apply the approved changes:
124124

125125
2. **Create new pages** for new features that lack existing documentation. Default to documenting new features rather than skipping them:
126126

127+
**Page placement** — the docs are organized by product area under `docs/toolhive/`. Place new content in the correct section:
128+
- **Product-specific guides** go in the relevant product section (`docs/toolhive/guides-ui/`, `guides-cli/`, `guides-k8s/`, `guides-vmcp/`, `guides-registry/`).
129+
- **Third-party integration guides** go in `docs/toolhive/integrations/`.
130+
- **Cross-cutting concepts** go in `docs/toolhive/concepts/`.
131+
- **Per-MCP-server usage guides** go in `docs/toolhive/guides-mcp/`.
132+
- **Reference material** goes in `docs/toolhive/reference/`.
133+
- Check the project's CLAUDE.md "Information architecture" section for the full placement rules.
134+
127135
**Diataxis separation** — create separate pages per document type, not one combined page:
128136
- **Concept page** (explanation): What is this feature, why does it exist, when would you use it? Lead with concrete scenarios and user personas ("If you maintain a shared MCP registry and want to let teams publish reusable tool bundles..."). Explain relationships to existing features.
129137
- **Guide page** (how-to): Task-oriented, organized by user goals — not by API endpoint order. Include practical examples: realistic `curl` commands, sample payloads with plausible values, expected responses, and error cases. If a feature has both producer and consumer sides, document both workflows.
@@ -145,9 +153,10 @@ Apply the approved changes:
145153
**Naming conventions** — when the feature introduces naming rules (e.g., kebab-case identifiers, camelCase config keys), call these out explicitly with examples of valid and invalid names.
146154

147155
**Page mechanics:**
148-
- Place each page in the appropriate directory
149-
- Update sidebar/navigation configuration
156+
- Place each page in the appropriate product section directory (see "Page placement" above)
157+
- Update sidebar/navigation configuration in `sidebars.ts`
150158
- Update frontmatter descriptions on all new and modified pages
159+
- Add a "Next steps" section at the end of every how-to guide and tutorial page with 1-3 forward links
151160
- Only skip creating a page that would duplicate auto-generated reference content (e.g., don't manually list API endpoints that are already in a swagger-rendered page)
152161

153162
3. **Add cross-references** — link new content from related existing pages and vice versa.

AGENTS.md

Lines changed: 63 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -80,23 +80,69 @@ The documentation should be accessible to a wide range of technical users, inclu
8080

8181
## Information architecture
8282

83-
This project follows the [Diataxis framework](https://diataxis.fr/) for documentation organization. Diataxis divides documentation into four types based on user needs:
84-
85-
1. **Tutorials** (`/docs/toolhive/tutorials/`) - Learning-oriented, step-by-step lessons that guide users through completing a project or learning a concept.
86-
2. **How-to guides** (`/docs/toolhive/guides-*/`) - Task-oriented, practical guides that show how to solve specific problems or accomplish specific tasks.
87-
3. **Reference** (`/docs/toolhive/reference/`) - Information-oriented, technical descriptions of the machinery and how to operate it (API docs, CLI commands, configuration options).
88-
4. **Explanation/Concepts** (`/docs/toolhive/concepts/`) - Understanding-oriented, explanations that clarify and illuminate topics, provide background and context.
89-
90-
### When to create new pages
91-
92-
Create a new documentation page when:
93-
94-
- The content addresses a distinct task, concept, or reference topic that doesn't fit within existing pages.
95-
- An existing page would become too long or cover too many disparate topics.
96-
- The information architecture requires it (e.g., a new MCP server guide, a new tutorial).
97-
- The content belongs to a different Diataxis category than existing content.
98-
99-
Always consider where the new page fits in the Diataxis framework and place it in the appropriate directory. Update `/sidebars.ts` to include the new page in the navigation.
83+
This project follows the [Diataxis framework](https://diataxis.fr/) for documentation authoring - each page is a tutorial, how-to guide, reference, or explanation. The site is organized by **product area**, with each section self-contained so a reader can complete their journey without leaving it. Cross-cutting content lives in dedicated shared sections.
84+
85+
All documentation lives under `docs/toolhive/`. Folder paths below are relative to that root.
86+
87+
### Design principles
88+
89+
1. **Route readers to value fast.** The home page helps a reader figure out where to go within 10 seconds.
90+
2. **Each section is self-contained.** A reader in the CLI section shouldn't need to leave it to complete their task. Quickstarts, guides, and relevant reference material live together.
91+
3. **Forward momentum on every page.** Every page ends with a "Next steps" section linking to the next logical page.
92+
4. **Consistent structure across sections.** Each product area follows the same pattern: Introduction, Quickstart, how-to guides.
93+
5. **Progressive disclosure.** Core workflows first, advanced topics grouped separately.
94+
95+
### Top-level sections
96+
97+
| Section | Folder | What belongs here |
98+
| --- | --- | --- |
99+
| ToolHive UI | `guides-ui/` | Desktop app guides, quickstart, and reference |
100+
| ToolHive CLI | `guides-cli/` | CLI guides, quickstart, command reference, API reference |
101+
| Kubernetes Operator | `guides-k8s/` | K8s deployment, operation, auth, telemetry, CRD reference |
102+
| Virtual MCP Server | `guides-vmcp/` | Gateway/aggregation guides, quickstart, optimizer |
103+
| Registry Server | `guides-registry/` | Registry Server deployment, config, auth, API reference |
104+
| Integrations | `integrations/` | Cross-cutting third-party integration guides (ngrok, Vault, OpenTelemetry, Okta, etc.) |
105+
| Concepts | `concepts/` | Cross-cutting explanations (MCP primer, groups, auth framework, observability, etc.) |
106+
| MCP server guides | `guides-mcp/` | Per-server usage guides (auto-generated index) |
107+
| Reference | `reference/` | Client compatibility, CLI commands, API specs, CRD specs, registry schemas |
108+
| Tutorials | `tutorials/` | End-to-end tutorials that span multiple components (kept small; most tutorials moved to product sections or Integrations) |
109+
110+
### Section skeleton
111+
112+
Each product section follows this pattern:
113+
114+
```text
115+
[Product Area] (category label)
116+
├── Introduction (what it is, who it's for, where to start)
117+
├── Quickstart (hands-on in <10 minutes)
118+
├── [How-to guides] (organized by journey phase)
119+
│ ├── Install / Deploy
120+
│ ├── Use
121+
│ ├── Secure
122+
│ ├── Operate
123+
│ └── Optimize
124+
└── [Reference] (inline where relevant)
125+
```
126+
127+
Not every section needs every phase. The Introduction is an explicit first sidebar child, not a hidden category-link page.
128+
129+
### Where to place new content
130+
131+
- **Product-specific content** goes in the relevant product section (`guides-ui/`, `guides-cli/`, `guides-k8s/`, `guides-vmcp/`, `guides-registry/`).
132+
- **Quickstarts** live inside their product section, not in a separate top-level section.
133+
- **Third-party integration guides** (connecting ToolHive with external tools/services) go in `integrations/`.
134+
- **Cross-cutting concepts** (applicable to multiple product areas) go in `concepts/`.
135+
- **Per-MCP-server usage guides** go in `guides-mcp/`.
136+
- **Reference material** (specs, schemas, compatibility matrices) goes in `reference/`, with cross-links from the relevant product section.
137+
- Update `/sidebars.ts` to include any new page in the navigation.
138+
139+
### Page requirements
140+
141+
Every how-to guide and tutorial page must include:
142+
143+
- Front matter with `title` and `description`.
144+
- A "Next steps" section at the end with 1-3 links to the next logical pages, following the journey phases (install, use, secure, operate, optimize).
145+
- Cross-links to related content in other sections where relevant.
100146

101147
## Review process
102148

STYLE-GUIDE.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,44 @@ Considerations for screenshots and other images:
155155
- Use the primary brand colors (`#2D684B` on light backgrounds, `#BDDFC2` on
156156
dark backgrounds) for annotations like callouts and highlight boxes.
157157

158+
## Page structure
159+
160+
Every how-to guide and tutorial page follows a consistent structure. This
161+
ensures readers always know what to expect and never hit dead ends.
162+
163+
### Front matter
164+
165+
Every page must have front matter with at least a `title` and `description`.
166+
167+
### Next steps
168+
169+
Every how-to guide and tutorial page ends with a `## Next steps` section
170+
containing 1-3 links to the next logical pages. These follow the journey phases:
171+
install, use, secure, operate, optimize. Example:
172+
173+
```mdx
174+
## Next steps
175+
176+
- [Run MCP servers](./run-mcp-servers.mdx) to deploy your first server.
177+
- [Client configuration](./client-configuration.mdx) to connect your IDE.
178+
```
179+
180+
### Introduction pages
181+
182+
Each product section (UI, CLI, K8s, vMCP, Registry Server) has an Introduction
183+
page as its first sidebar child. This page explains what the component is, who
184+
it's for, and where to start. It is an explicit child item in the sidebar - not
185+
a hidden category-link page.
186+
187+
### Cross-references
188+
189+
Link to related content in other sections where it adds value. Key patterns:
190+
191+
- Product section auth pages link to the Concepts auth framework page.
192+
- Product section telemetry pages link to the Integrations OpenTelemetry guide.
193+
- The Registry Server introduction disambiguates from the built-in registry.
194+
- The UI "Access the CLI" page links to the CLI section.
195+
158196
## Markdown style
159197

160198
Just like a consistent writing style is critical to clarity and messaging,

0 commit comments

Comments
 (0)