Skip to content

Commit 2a55a26

Browse files
committed
Add AGENTS.md, make CLAUDE.md a symlink
Signed-off-by: Dan Barr <[email protected]>
1 parent 4a6619e commit 2a55a26

File tree

3 files changed

+190
-183
lines changed

3 files changed

+190
-183
lines changed

.github/copilot-instructions.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,12 @@ securely. The site is built using Docusaurus and deployed with Vercel.
3131

3232
Code quality tools:
3333

34-
- Prettier for code formatting.
35-
- markdownlint for enforcing Markdown style conventions.
36-
- ESLint for JavaScript/TypeScript linting.
34+
- Prettier for code formatting - `npm run prettier` to check,
35+
`npm run prettier:fix` to auto-fix.
36+
- markdownlint for enforcing Markdown style conventions - `npm run markdownlint`
37+
to check, `npm run markdownlint:fix` to auto-fix.
38+
- ESLint for JavaScript/TypeScript linting - `npm run eslint` to check,
39+
`npm run eslint:fix` to auto-fix.
3740

3841
## Audience
3942

AGENTS.md

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

CLAUDE.md

Lines changed: 0 additions & 180 deletions
This file was deleted.

CLAUDE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
./AGENTS.md

0 commit comments

Comments
 (0)