Skip to content

Commit 874a192

Browse files
committed
Merge branch 'main' into docs/add-thv-build-documentation
Signed-off-by: Dan Barr <[email protected]>
2 parents 6b7f95b + 8764141 commit 874a192

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+2162
-204
lines changed

.github/workflows/claude.yml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: Claude PR Assistant
2+
3+
on:
4+
issue_comment:
5+
types: [created]
6+
pull_request_review_comment:
7+
types: [created]
8+
issues:
9+
types: [opened, assigned]
10+
pull_request_review:
11+
types: [submitted]
12+
13+
jobs:
14+
claude-code-action:
15+
if: |
16+
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
17+
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
18+
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
19+
(github.event_name == 'issues' && contains(github.event.issue.body, '@claude'))
20+
runs-on: ubuntu-latest
21+
permissions:
22+
contents: read
23+
pull-requests: read
24+
issues: read
25+
id-token: write
26+
steps:
27+
- name: Checkout repository
28+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
29+
with:
30+
fetch-depth: 1
31+
32+
- name: Run Claude PR Action
33+
uses: anthropics/claude-code-action@beta
34+
with:
35+
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
36+
# Or use OAuth token instead:
37+
# claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
38+
timeout_minutes: '20'
39+
# mode: tag # Default: responds to @claude mentions
40+
# Optional: Restrict network access to specific domains only
41+
# experimental_allowed_domains: |
42+
# .anthropic.com
43+
# .github.com
44+
# api.github.com
45+
# .githubusercontent.com
46+
# bun.sh
47+
# registry.npmjs.org
48+
# .blob.core.windows.net

.github/workflows/update-toolhive-reference.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ jobs:
7070
title: |
7171
Update ToolHive reference docs for ${{ steps.imports.outputs.version }}
7272
body: |
73-
This PR updates the ToolHive CLI and API reference documentation to the latest release: ${{ steps.imports.outputs.version }}.
73+
This PR updates the ToolHive CLI and API reference documentation for release: ${{ steps.imports.outputs.version }}.
7474
commit-message: |
7575
Update ToolHive reference docs for ${{ steps.imports.outputs.version }}
7676
labels: |

CLAUDE.md

Lines changed: 179 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,179 @@
1+
# Project overview
2+
3+
This is the user-facing documentation for ToolHive, an open source tool that
4+
helps you run and manage Model Context Protocol (MCP) servers easily and
5+
securely. The site is built using Docusaurus and deployed with Vercel.
6+
7+
## Folder structure
8+
9+
- `/docs`: contains the main documentation files. Each file corresponds to a
10+
page in the documentation.
11+
- `/static`: contains static assets like images, icons, and other files that are
12+
served directly.
13+
- `/src`: contains the source code for the website, including components,
14+
styles, and customizations.
15+
16+
## Primary configuration files
17+
18+
- `/docusaurus.config.ts`: the main configuration file for Docusaurus, where you
19+
define site metadata, theme, plugins, and other settings.
20+
- `/sidebars.ts`: defines the structure of the documentation sidebar, including
21+
which pages appear in the sidebar and their order.
22+
- `/vercel.json`: configuration file for Vercel deployment, specifying build
23+
settings and redirects.
24+
25+
## Libraries and tools
26+
27+
- Docusaurus for the documentation site framework.
28+
- React and TypeScript for building custom components and pages.
29+
- npm for package management.
30+
- Vercel for deployment and hosting.
31+
32+
Code quality tools:
33+
34+
- Prettier for code formatting.
35+
- markdownlint for enforcing Markdown style conventions.
36+
- ESLint for JavaScript/TypeScript linting.
37+
38+
## Audience
39+
40+
The primary audience is developers and DevOps professionals who want to run and
41+
manage Model Context Protocol (MCP) servers using ToolHive. They may be new to
42+
MCP servers or have some experience with them.
43+
44+
The documentation should be accessible to a wide range of technical users,
45+
including those who may not be familiar with the specific technologies used in
46+
ToolHive.
47+
48+
## Writing style guide
49+
50+
The primary goal of the documentation is to be clear, concise, and
51+
user-friendly. The writing style should be approachable and easy to understand,
52+
while still providing the necessary technical details.
53+
54+
The project's official language is US English.
55+
56+
### Tone and voice
57+
58+
- Strive for a casual and conversational tone without becoming overly informal.
59+
- Be friendly and relatable while retaining credibility and professionalism.
60+
- Avoid slang and colloquial expressions.
61+
- Use clear, straightforward language and avoid overly complex jargon to make
62+
content accessible to a wide audience.
63+
- Use active voice instead of passive voice.
64+
- Address the reader using the second person ("you", "your"). Avoid the first
65+
person ("we", "our") and third person ("the user", "a developer").
66+
67+
### Capitalization
68+
69+
- Capitalize proper nouns like names, companies, and products. Generally, don't
70+
capitalize features or generic terms.
71+
- Use sentence case in titles and headings.
72+
- Use `ALL_CAPS` to indicate placeholder text/parameters, where the reader is
73+
expected to change a value.
74+
- Expand acronyms on first use, then use the acronym in subsequent references.
75+
- Exception: MCP is used ubiquitously in this project, so it does not need to
76+
be expanded on first use.
77+
78+
### Punctuation
79+
80+
- Use the Oxford comma (aka serial commas) when listing items in a series.
81+
- Use one space between sentences.
82+
- Use straight double quotes and apostrophes. Replace smart quotes (“ ”) and
83+
curly apostrophes (’ ’) with straight quotes (") and straight apostrophes (').
84+
85+
### Links
86+
87+
- Use descriptive link text. Besides providing clear context to the reader, this
88+
improves accessibility for screen readers.
89+
- When referencing other docs/headings by title, use sentence case so the
90+
reference matches the corresponding title or heading.
91+
92+
### Images
93+
94+
- Use images sparingly and only when they add value to the content.
95+
- Use images to illustrate complex concepts, provide examples, or enhance
96+
understanding.
97+
- Use screenshots to show UI elements or workflows, but ensure they are clear,
98+
relevant, and add value to the content.
99+
- Don't use images of text, code samples, or terminal output. Use actual text so
100+
readers can copy/paste and find the contents via search engines.
101+
- Add alt text to images to describe their content and purpose. This improves
102+
accessibility for users with visual impairments.
103+
104+
### Examples
105+
106+
- Use examples to clarify complex concepts or demonstrate how to use a feature.
107+
- Prefer practical, real-world examples over abstract or contrived ones.
108+
109+
### Formatting
110+
111+
- Bold: use when referring to UI elements; prefer bold over quotes.
112+
- Italics: emphasize particular words or phrases, such as when
113+
introducing/defining a term.
114+
- Underscore: do not use; reserved for links.
115+
- Use inline code formatting for short code elements, such as variable names,
116+
function names, or command-line options.
117+
- Use block code formatting for longer code snippets or examples.
118+
119+
### Word list
120+
121+
Common terms used in this project:
122+
123+
- ToolHive - this project, an open source tool that helps you run and manage MCP
124+
servers easily and securely
125+
- Stacklok - the company behind ToolHive
126+
- GitHub Copilot
127+
- Model Context Protocol (MCP)
128+
- open source (not "open-source")
129+
- large language model (LLM)
130+
- Visual Studio Code ("VS Code" after first use)
131+
132+
Check this list for consistent use within the documentation. If you find
133+
inconsistencies, update the text to match the preferred term. If you find a term
134+
that is not listed here, consider adding it to the list for future reference.
135+
136+
## Markdown style
137+
138+
Prettier and markdownlint are used to enforce the following Markdown style
139+
conventions.
140+
141+
- Headings: use "ATX-style" headings
142+
- Use unique headings within a document
143+
- Unordered lists: use hyphens (`-`), not asterisks (`*`)
144+
- Bold: Use the `**` syntax for bold text, not `__`
145+
- Italics: Use the `__` syntax for italic text, not `*`
146+
- Ordered lists: use lazy numbering for long or verbose lists.
147+
- Note: this is a "soft" recommendation. It is also intended only for Markdown
148+
documents that are read through a rendering engine. If the Markdown will be
149+
consumed in raw form like a repo README file, use real numbering.
150+
- Code blocks: use fenced code blocks (` ``` ` to begin/end) and always declare
151+
the language. If the language is unknown or plain text like log output, use
152+
`text` as the language.
153+
- Add blank lines around headings, lists, and code blocks.
154+
- No trailing whitespace on lines.
155+
- Use the `\` character at the end of a line for a single-line break, not the
156+
two-space syntax which is easy to miss. Exception:
157+
- Line limit: wrap lines at 80 characters; exceptions for links, tables,
158+
headings, and code blocks
159+
160+
### Docusaurus specifics
161+
162+
This website is built using Docusaurus, which has some specific requirements and
163+
conventions for Markdown files:
164+
165+
- Heading 1 is reserved for the page title, typically defined in the Markdown
166+
front matter section. Sections within a page begin with Heading 2 (`##`).
167+
- Use relative file links (with .md/.mdx extensions) when referring to other
168+
pages.
169+
- Use the .mdx extension for pages containing JSX includes.
170+
- Use the front matter section on all pages. At a minimum, set the `title` (this
171+
is rendered into the page as an H1) and a short `description`.
172+
- Use the `admonition` component for notes, tips, warnings, and other
173+
annotations. This provides a consistent look and feel across the site.
174+
- Use the `:::type` syntax to define the admonition type, such as `note`,
175+
`tip`, `info`, `warning`, or `danger`.
176+
- Place images in `static/img` using WebP, PNG, or SVG format.
177+
- Use the `ThemedImage` component to provide both light and dark mode
178+
screenshots for apps/UIs that support both.
179+
- Use the `Tabs` and `TabItem` components to create tabbed content sections.
Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,23 @@
1-
| Client | Supported | Auto-configuration | Notes |
2-
| -------------------------- | :-------: | :----------------: | ---------------------------------------------- |
3-
| GitHub Copilot (VS Code) ||| v1.102+ or Insiders version ([see note][3]) |
4-
| Cursor ||| v0.50.0+ |
5-
| Roo Code (VS Code) ||| v3.19.2+ |
6-
| Cline (VS Code) ||| v3.8.5+ (sse only; streamable-http [issue][2]) |
7-
| Claude Code CLI ||| v1.0.27+ |
8-
| Windsurf IDE ||| |
9-
| Windsurf (JetBrains) ||| |
10-
| Sourcegraph Amp CLI ||| |
11-
| Sourcegraph Amp (VS Code) ||| |
12-
| Sourcegraph Amp (Cursor) ||| |
13-
| Sourcegraph Amp (Windsurf) ||| |
14-
| GitHub Copilot (JetBrains) ||| v1.5.47+ |
15-
| Continue (VS Code) ||| v1.0.14+ |
16-
| Continue (JetBrains) ||| v1.0.23+ |
17-
| PydanticAI ||| v0.2.18+ |
18-
| ChatGPT Desktop ||| See [workaround for STDIO-only clients][4] |
19-
| Claude Desktop ||| See [workaround for STDIO-only clients][4] |
20-
| Kiro ||| See [workaround for STDIO-only clients][4] |
1+
| Client | Supported | Auto-configuration | Notes |
2+
| -------------------------- | :-------: | :----------------: | ------------------------------------------- |
3+
| GitHub Copilot (VS Code) ||| v1.102+ or Insiders version ([see note][3]) |
4+
| Cursor ||| v0.50.0+ |
5+
| Roo Code (VS Code) ||| v3.19.2+ |
6+
| Cline (VS Code) ||| v3.17.10+ |
7+
| Claude Code CLI ||| v1.0.27+ |
8+
| Windsurf IDE ||| |
9+
| Windsurf (JetBrains) ||| |
10+
| Sourcegraph Amp CLI ||| |
11+
| Sourcegraph Amp (VS Code) ||| |
12+
| Sourcegraph Amp (Cursor) ||| |
13+
| Sourcegraph Amp (Windsurf) ||| |
14+
| GitHub Copilot (JetBrains) ||| v1.5.47+ |
15+
| Continue (VS Code) ||| v1.0.14+ |
16+
| Continue (JetBrains) ||| v1.0.23+ |
17+
| PydanticAI ||| v0.2.18+ |
18+
| ChatGPT Desktop ||| See [workaround for STDIO-only clients][4] |
19+
| Claude Desktop ||| See [workaround for STDIO-only clients][4] |
20+
| Kiro ||| See [workaround for STDIO-only clients][4] |
2121

22-
[2]: https://github.com/cline/cline/issues/4391
2322
[3]: /toolhive/reference/client-compatibility.mdx#vs-code-with-copilot
2423
[4]: /toolhive/reference/client-compatibility#stdio-only-client-configuration

docs/toolhive/guides-cli/client-configuration.mdx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,12 @@ Example:
6767
thv client register vscode
6868
```
6969

70+
You can register a client with a specific group using the `--group` option:
71+
72+
```bash
73+
thv client register <CLIENT_NAME> --group <GROUP_NAME>
74+
```
75+
7076
Run [`thv client register --help`](../reference/cli/thv_client_register.md) for
7177
the latest list of supported clients.
7278

@@ -87,6 +93,12 @@ To remove a client configuration:
8793
thv client remove <CLIENT_NAME>
8894
```
8995

96+
To remove a client configuration from a specific group:
97+
98+
```bash
99+
thv client remove <CLIENT_NAME> --group <GROUP_NAME>
100+
```
101+
90102
## Other clients or tools
91103

92104
If you have other clients or development libraries that ToolHive doesn't

0 commit comments

Comments
 (0)