원클릭으로
docs-style
// Patchies documentation style guide. Load when writing or editing topic docs in ui/static/content/topics/ or ui/static/content/objects/. Describes the voice, structure, and formatting conventions for all Patchies docs.
// Patchies documentation style guide. Load when writing or editing topic docs in ui/static/content/topics/ or ui/static/content/objects/. Describes the voice, structure, and formatting conventions for all Patchies docs.
| name | docs-style |
| description | Patchies documentation style guide. Load when writing or editing topic docs in ui/static/content/topics/ or ui/static/content/objects/. Describes the voice, structure, and formatting conventions for all Patchies docs. |
| paths | ui/static/content/**/*.md |
Use this guide whenever writing or editing documentation in ui/static/content/.
Follow this order — omit sections that don't apply:
> ✨ [Try this patch](/?id=...) — brief description.### sub-headings per exercise.## section per major concept, separated by ---## for major sections### for sub-sections and exercises# heading<!-- WRONG -->
**Exercise — Simple tone**
<!-- RIGHT -->
### Exercise — Simple tone
Use blockquote callouts for tips, warnings, and try-it links:
> ✨ [Try this patch](/?id=abc123) — brief description.
> **Tip**: Use the `logger.js` preset to inspect messages.
> **Note**: Objects like `expr` use hot and cold inlets.
> **Important**: Always connect to `out~` to hear audio.
440 not n, use 0.3 not value)// WRONG — too abstract
setInterval(callback, ms)
// RIGHT — copy-pasteable and clear
setInterval(() => {
send({type: 'bang'})
}, 500)
Always include a spaced separator row:
| Column A | Column B | Column C |
| -------- | -------- | -------- |
| value | value | value |
Prefer numbered lists for sequential steps, bullets for unordered options. Keep bullets short — one line each when possible.
Use plain text for signal flow — it's clear and universal:
[osc~ 440] → [gain~ 0.5] → [out~]
Always explain the mental model before listing functions:
<!-- WRONG — starts with API -->
Use `setPortCount(inletCount, outletCount)` to set inlets.
<!-- RIGHT — concept first -->
Each js object starts with one inlet and one outlet.
Use `setPortCount()` to add more when your logic needs them:
message-passing.md owns message concepts; javascript-runner.md owns the JS APIEvery topic doc should have at least one hands-on exercise. Format:
### Exercise — Descriptive name
1. Create a `foo` object (`Enter` → type `foo`)
2. Connect it to a `bar` object
3. Do something — you should see/hear the result
End every topic doc with a See Also section. Format:
## See Also
- [Page Title](/docs/slug) — one-line description of what it covers
- [Object Name](/docs/objects/name) — what the object does
ui/static/content/topics/<slug>.mdui/static/content/objects/<name>.mdui/src/routes/docs/docs-nav.ts