Skip to content

Commit 1097e9d

Browse files
authored
Add custom instructions (#23)
1 parent a01dbc5 commit 1097e9d

File tree

1 file changed

+145
-0
lines changed

1 file changed

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

0 commit comments

Comments
 (0)