@docsector/docsector-reader 4.2.0 → 4.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -6
- package/bin/docsector.js +102 -5
- package/docsector.config.js +15 -0
- package/package.json +1 -1
- package/public/.well-known/agent-skills/docsector-documentation-authoring/SKILL.md +118 -0
- package/public/.well-known/agent-skills/docsector-documentation-authoring/references/authoring-patterns.md +98 -0
- package/public/.well-known/agent-skills/docsector-documentation-authoring/references/block-catalog.md +321 -0
- package/public/.well-known/agent-skills/docsector-documentation-authoring/references/mcp-webmcp.md +90 -0
- package/public/.well-known/agent-skills/docsector-documentation-authoring/references/page-structure.md +101 -0
- package/src/pages/manual/basic/agent-skills.overview.en-US.md +116 -0
- package/src/pages/manual/basic/agent-skills.overview.pt-BR.md +116 -0
- package/src/pages/manual.index.js +29 -0
package/README.md
CHANGED
|
@@ -30,6 +30,7 @@ Transform Markdown content into beautiful, navigable documentation sites — wit
|
|
|
30
30
|
- 🤖 **AI-Friendly robots.txt** — Scaffold includes a `robots.txt` explicitly allowing 23 AI crawlers (GPTBot, ClaudeBot, PerplexityBot, GrokBot, etc.)
|
|
31
31
|
- 🧭 **Content Signals** — Optional `Content-Signal` directive for declaring AI usage policy (`ai-train`, `search`, `ai-input`) in `robots.txt`
|
|
32
32
|
- 🧩 **Agent Skills Discovery Index** — Optional `/.well-known/agent-skills/index.json` with RFC v0.2.0 schema and SHA-256 digests
|
|
33
|
+
- ✍️ **Docsector Authoring Skill** — Publishable `SKILL.md` that teaches agents Docsector blocks, page patterns, MCP lookup, and WebMCP tools
|
|
33
34
|
- 🪪 **MCP Server Card** — Optional `/.well-known/mcp/server-card.json` for MCP server discovery before connection
|
|
34
35
|
- 🌐 **WebMCP Browser Tools** — Optional registration of in-page tools via `navigator.modelContext` for browser agents
|
|
35
36
|
- 🔗 **Homepage Link Headers** — Auto-generated `Link` response headers for agent discovery (`api-catalog`, `service-doc`, `service-desc`, `describedby`) per RFC 8288 / RFC 9727
|
|
@@ -50,6 +51,7 @@ Transform Markdown content into beautiful, navigable documentation sites — wit
|
|
|
50
51
|
- 🚨 **GitHub-Style Alerts** — Native support for `[!NOTE]`, `[!TIP]`, `[!IMPORTANT]`, `[!WARNING]`, and `[!CAUTION]`
|
|
51
52
|
- 🌍 **Internationalization (i18n)** — Multi-language support with HJSON locale files and per-page translations
|
|
52
53
|
- 🌗 **Dark/Light Mode** — Automatic theme switching with Quasar Dark Plugin
|
|
54
|
+
- 🧰 **Docsector CLI Skill Installer** — Install the built-in authoring skill into older scaffolds with `docsector install-skill`
|
|
53
55
|
- 🔗 **Anchor Navigation** — Right-side Table of Contents tree with stable scroll tracking, auto-scroll to the active section, and active-heading resolution based on the last heading that crossed the content threshold
|
|
54
56
|
- 🖱️ **Active Menu Item UX** — Active menu entries keep pointer cursor, clear URL hash without redundant navigation, and prevent accidental label text selection
|
|
55
57
|
- 🔎 **Search** — Menu search across all documentation content and tags
|
|
@@ -77,6 +79,7 @@ Transform Markdown content into beautiful, navigable documentation sites — wit
|
|
|
77
79
|
- 🗂️ **Cards Custom Element** — Use `<d-block-cards>` and `<d-block-card>` in Markdown to render linked content cards with optional cover images
|
|
78
80
|
- 🧾 **API JSON Reference Block** — Use `<d-block-api src="..." />` in Markdown to render Quasar-compatible API reference UIs from public JSON assets without inventing a new schema
|
|
79
81
|
- 🗂️ **API Catalog Well-Known** — Auto-generates `/.well-known/api-catalog` as Linkset JSON for machine-readable API discovery
|
|
82
|
+
- 🧠 **Docsector Authoring Skill Docs** — Documents the built-in `SKILL.md` and reference files so agents can learn Docsector blocks, page patterns, MCP lookup, and WebMCP tools from a public manual page
|
|
80
83
|
- 🗃️ **Multi-Version History** — Archive older major versions under `src/pages/.old/<version>/` and expose them at prefixed routes (e.g. `/v0.x/guide/...`) while keeping the current docs at unprefixed routes
|
|
81
84
|
- 🏷️ **Version Selector Badges** — Every version in the sidebar selector displays a color-coded badge: green for released, orange for draft, red for deprecated; fully customizable via `badge: { label, color, textColor }`
|
|
82
85
|
- 📂 **Tabbed Code Blocks** — Group consecutive fenced code blocks into tabs using the `group` and `tab` attributes in the fence info line
|
|
@@ -527,6 +530,20 @@ The generated payload follows Agent Skills Discovery RFC v0.2.0 and includes:
|
|
|
527
530
|
- `$schema`
|
|
528
531
|
- `skills[]` entries with `name`, `type`, `description`, `url`, `digest`
|
|
529
532
|
|
|
533
|
+
This repository publishes the built-in Docsector authoring skill at:
|
|
534
|
+
|
|
535
|
+
- `/.well-known/agent-skills/docsector-documentation-authoring/SKILL.md`
|
|
536
|
+
|
|
537
|
+
The skill teaches agents Docsector Markdown authoring, all documented blocks, page/source conventions, MCP lookup, and WebMCP browser tools.
|
|
538
|
+
|
|
539
|
+
For projects scaffolded before the built-in skill existed, run:
|
|
540
|
+
|
|
541
|
+
```bash
|
|
542
|
+
npx docsector install-skill
|
|
543
|
+
```
|
|
544
|
+
|
|
545
|
+
The helper copies the skill into `.github/skills/` for repository-local assistants and into `public/.well-known/agent-skills/` for published discovery. Existing folders are skipped unless `--force` is passed.
|
|
546
|
+
|
|
530
547
|
When `digest` is omitted in config, Docsector computes it automatically from the referenced local artifact and writes it as:
|
|
531
548
|
|
|
532
549
|
- `sha256:{hex}`
|
|
@@ -543,10 +560,10 @@ export default {
|
|
|
543
560
|
schema: 'https://schemas.agentskills.io/discovery/0.2.0/schema.json',
|
|
544
561
|
skills: [
|
|
545
562
|
{
|
|
546
|
-
name: '
|
|
563
|
+
name: 'docsector-documentation-authoring',
|
|
547
564
|
type: 'skill-md',
|
|
548
|
-
description: '
|
|
549
|
-
url: '/.well-known/agent-skills/
|
|
565
|
+
description: 'Author Docsector documentation with Markdown, custom blocks, MCP, and WebMCP.',
|
|
566
|
+
url: '/.well-known/agent-skills/docsector-documentation-authoring/SKILL.md'
|
|
550
567
|
}
|
|
551
568
|
]
|
|
552
569
|
}
|
|
@@ -757,10 +774,10 @@ export default {
|
|
|
757
774
|
schema: 'https://schemas.agentskills.io/discovery/0.2.0/schema.json',
|
|
758
775
|
skills: [
|
|
759
776
|
{
|
|
760
|
-
name: '
|
|
777
|
+
name: 'docsector-documentation-authoring',
|
|
761
778
|
type: 'skill-md',
|
|
762
|
-
description: '
|
|
763
|
-
url: '/.well-known/agent-skills/
|
|
779
|
+
description: 'Author Docsector documentation with Markdown, custom blocks, MCP, and WebMCP.',
|
|
780
|
+
url: '/.well-known/agent-skills/docsector-documentation-authoring/SKILL.md'
|
|
764
781
|
}
|
|
765
782
|
]
|
|
766
783
|
},
|
|
@@ -1079,6 +1096,8 @@ Notes:
|
|
|
1079
1096
|
|
|
1080
1097
|
```bash
|
|
1081
1098
|
docsector init <name> # Scaffold a new consumer project
|
|
1099
|
+
docsector install-skill # Install the built-in authoring skill
|
|
1100
|
+
docsector install-skill --force # Refresh an existing installed authoring skill
|
|
1082
1101
|
docsector dev # Start dev server (port 8181)
|
|
1083
1102
|
docsector dev --port 3000 # Custom port
|
|
1084
1103
|
docsector build # Build for production (dist/spa/)
|
package/bin/docsector.js
CHANGED
|
@@ -8,11 +8,12 @@
|
|
|
8
8
|
* docsector dev — Start development server with hot-reload
|
|
9
9
|
* docsector build — Build optimized SPA for production
|
|
10
10
|
* docsector serve — Serve the production build locally
|
|
11
|
+
* docsector install-skill — Install the built-in authoring skill into a project
|
|
11
12
|
* docsector help — Show help information
|
|
12
13
|
*/
|
|
13
14
|
|
|
14
15
|
import { spawn } from 'child_process'
|
|
15
|
-
import { existsSync, mkdirSync, writeFileSync, copyFileSync } from 'fs'
|
|
16
|
+
import { existsSync, mkdirSync, writeFileSync, copyFileSync, cpSync } from 'fs'
|
|
16
17
|
import { resolve, dirname } from 'path'
|
|
17
18
|
import { fileURLToPath } from 'url'
|
|
18
19
|
|
|
@@ -23,7 +24,25 @@ const packageRoot = resolve(__dirname, '..')
|
|
|
23
24
|
const args = process.argv.slice(2)
|
|
24
25
|
const command = args[0]
|
|
25
26
|
|
|
26
|
-
const VERSION = '4.
|
|
27
|
+
const VERSION = '4.3.1'
|
|
28
|
+
const AUTHORING_SKILL_NAME = 'docsector-documentation-authoring'
|
|
29
|
+
const AUTHORING_SKILL_DESCRIPTION = 'Author Docsector documentation with Markdown, custom blocks, MCP, and WebMCP.'
|
|
30
|
+
const AUTHORING_SKILL_PUBLIC_PATH = `/.well-known/agent-skills/${AUTHORING_SKILL_NAME}/SKILL.md`
|
|
31
|
+
const AUTHORING_SKILL_SOURCE_DIR = resolve(packageRoot, 'public', '.well-known', 'agent-skills', AUTHORING_SKILL_NAME)
|
|
32
|
+
const AUTHORING_SKILL_CONFIG_SNIPPET = `\
|
|
33
|
+
agentSkills: {
|
|
34
|
+
enabled: true,
|
|
35
|
+
path: '/.well-known/agent-skills/index.json',
|
|
36
|
+
schema: 'https://schemas.agentskills.io/discovery/0.2.0/schema.json',
|
|
37
|
+
skills: [
|
|
38
|
+
{
|
|
39
|
+
name: '${AUTHORING_SKILL_NAME}',
|
|
40
|
+
type: 'skill-md',
|
|
41
|
+
description: '${AUTHORING_SKILL_DESCRIPTION}',
|
|
42
|
+
url: '${AUTHORING_SKILL_PUBLIC_PATH}'
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
}`
|
|
27
46
|
|
|
28
47
|
const HELP = `
|
|
29
48
|
Docsector Reader v${VERSION}
|
|
@@ -37,11 +56,14 @@ const HELP = `
|
|
|
37
56
|
dev Start development server with hot-reload (port 8181)
|
|
38
57
|
build Build optimized SPA for production (output: dist/spa/)
|
|
39
58
|
serve Serve the production build locally
|
|
59
|
+
install-skill
|
|
60
|
+
Copy the built-in Docsector authoring skill into this project
|
|
40
61
|
version Show version number
|
|
41
62
|
help Show this help message
|
|
42
63
|
|
|
43
64
|
Options:
|
|
44
65
|
--port <number> Override dev server port (default: 8181)
|
|
66
|
+
--force Overwrite an existing installed authoring skill
|
|
45
67
|
|
|
46
68
|
Examples:
|
|
47
69
|
docsector init my-docs
|
|
@@ -49,6 +71,8 @@ const HELP = `
|
|
|
49
71
|
docsector dev --port 3000
|
|
50
72
|
docsector build
|
|
51
73
|
docsector serve
|
|
74
|
+
docsector install-skill
|
|
75
|
+
docsector install-skill --force
|
|
52
76
|
|
|
53
77
|
Documentation:
|
|
54
78
|
https://github.com/docsector/docsector-reader
|
|
@@ -235,10 +259,10 @@ export default {
|
|
|
235
259
|
// schema: 'https://schemas.agentskills.io/discovery/0.2.0/schema.json',
|
|
236
260
|
// skills: [
|
|
237
261
|
// {
|
|
238
|
-
// name: '
|
|
262
|
+
// name: '${AUTHORING_SKILL_NAME}',
|
|
239
263
|
// type: 'skill-md',
|
|
240
|
-
// description: '
|
|
241
|
-
// url: '
|
|
264
|
+
// description: '${AUTHORING_SKILL_DESCRIPTION}',
|
|
265
|
+
// url: '${AUTHORING_SKILL_PUBLIC_PATH}'
|
|
242
266
|
// }
|
|
243
267
|
// ]
|
|
244
268
|
// },
|
|
@@ -783,6 +807,75 @@ function run (cmd, cmdArgs = []) {
|
|
|
783
807
|
})
|
|
784
808
|
}
|
|
785
809
|
|
|
810
|
+
function copyAuthoringSkillTarget (targetDir, { force = false } = {}) {
|
|
811
|
+
if (!existsSync(AUTHORING_SKILL_SOURCE_DIR)) {
|
|
812
|
+
throw new Error(`Built-in authoring skill not found at ${AUTHORING_SKILL_SOURCE_DIR}`)
|
|
813
|
+
}
|
|
814
|
+
|
|
815
|
+
if (targetDir === AUTHORING_SKILL_SOURCE_DIR) {
|
|
816
|
+
return 'already-source'
|
|
817
|
+
}
|
|
818
|
+
|
|
819
|
+
if (existsSync(targetDir) && !force) {
|
|
820
|
+
return 'skipped'
|
|
821
|
+
}
|
|
822
|
+
|
|
823
|
+
mkdirSync(dirname(targetDir), { recursive: true })
|
|
824
|
+
cpSync(AUTHORING_SKILL_SOURCE_DIR, targetDir, {
|
|
825
|
+
recursive: true,
|
|
826
|
+
force: true
|
|
827
|
+
})
|
|
828
|
+
|
|
829
|
+
return existsSync(targetDir) ? 'installed' : 'failed'
|
|
830
|
+
}
|
|
831
|
+
|
|
832
|
+
function installAuthoringSkill ({ projectRoot = process.cwd(), force = false } = {}) {
|
|
833
|
+
const targets = [
|
|
834
|
+
{
|
|
835
|
+
label: 'Repository-local skill',
|
|
836
|
+
dir: resolve(projectRoot, '.github', 'skills', AUTHORING_SKILL_NAME)
|
|
837
|
+
},
|
|
838
|
+
{
|
|
839
|
+
label: 'Public skill artifact',
|
|
840
|
+
dir: resolve(projectRoot, 'public', '.well-known', 'agent-skills', AUTHORING_SKILL_NAME)
|
|
841
|
+
}
|
|
842
|
+
]
|
|
843
|
+
|
|
844
|
+
console.log(`\n Installing ${AUTHORING_SKILL_NAME} into ${projectRoot}...\n`)
|
|
845
|
+
|
|
846
|
+
try {
|
|
847
|
+
for (const target of targets) {
|
|
848
|
+
const result = copyAuthoringSkillTarget(target.dir, { force })
|
|
849
|
+
if (result === 'installed') {
|
|
850
|
+
console.log(` created ${target.label}: ${target.dir}`)
|
|
851
|
+
} else if (result === 'already-source') {
|
|
852
|
+
console.log(` using package ${target.label}: ${target.dir}`)
|
|
853
|
+
} else if (result === 'skipped') {
|
|
854
|
+
console.log(` skipped ${target.label}: ${target.dir}`)
|
|
855
|
+
} else {
|
|
856
|
+
throw new Error(`Unable to install ${target.label} at ${target.dir}`)
|
|
857
|
+
}
|
|
858
|
+
}
|
|
859
|
+
} catch (err) {
|
|
860
|
+
console.error(`\n Error: ${err.message}\n`)
|
|
861
|
+
process.exit(1)
|
|
862
|
+
}
|
|
863
|
+
|
|
864
|
+
if (!force) {
|
|
865
|
+
console.log('\n Existing skill folders are left untouched. Use --force to refresh them.')
|
|
866
|
+
}
|
|
867
|
+
|
|
868
|
+
console.log('\n To publish the skill discovery index, add this to docsector.config.js:\n')
|
|
869
|
+
console.log(
|
|
870
|
+
AUTHORING_SKILL_CONFIG_SNIPPET.split('\n')
|
|
871
|
+
.map(line => ` ${line}`)
|
|
872
|
+
.join('\n')
|
|
873
|
+
)
|
|
874
|
+
console.log('\n Then run:')
|
|
875
|
+
console.log(' npx docsector build')
|
|
876
|
+
console.log('')
|
|
877
|
+
}
|
|
878
|
+
|
|
786
879
|
/**
|
|
787
880
|
* Scaffold a new Docsector documentation project.
|
|
788
881
|
*/
|
|
@@ -916,6 +1009,10 @@ switch (command) {
|
|
|
916
1009
|
run('serve', ['dist/spa', '--history', ...args.slice(1)])
|
|
917
1010
|
break
|
|
918
1011
|
|
|
1012
|
+
case 'install-skill':
|
|
1013
|
+
installAuthoringSkill({ force: args.includes('--force') })
|
|
1014
|
+
break
|
|
1015
|
+
|
|
919
1016
|
case 'version':
|
|
920
1017
|
case '-v':
|
|
921
1018
|
case '--version':
|
package/docsector.config.js
CHANGED
|
@@ -55,6 +55,21 @@ export default {
|
|
|
55
55
|
toolSuffix: 'docsector'
|
|
56
56
|
},
|
|
57
57
|
|
|
58
|
+
// @ Agent Skills
|
|
59
|
+
agentSkills: {
|
|
60
|
+
enabled: true,
|
|
61
|
+
path: '/.well-known/agent-skills/index.json',
|
|
62
|
+
schema: 'https://schemas.agentskills.io/discovery/0.2.0/schema.json',
|
|
63
|
+
skills: [
|
|
64
|
+
{
|
|
65
|
+
name: 'docsector-documentation-authoring',
|
|
66
|
+
type: 'skill-md',
|
|
67
|
+
description: 'Author Docsector documentation with Markdown, custom blocks, MCP, and WebMCP.',
|
|
68
|
+
url: '/.well-known/agent-skills/docsector-documentation-authoring/SKILL.md'
|
|
69
|
+
}
|
|
70
|
+
]
|
|
71
|
+
},
|
|
72
|
+
|
|
58
73
|
// @ Home page source
|
|
59
74
|
homePage: {
|
|
60
75
|
source: 'remote-readme',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@docsector/docsector-reader",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.3.1",
|
|
4
4
|
"description": "A documentation rendering engine built with Vue 3, Quasar v2 and Vite. Transform Markdown into beautiful, navigable documentation sites.",
|
|
5
5
|
"productName": "Docsector Reader",
|
|
6
6
|
"author": "Rodrigo de Araujo Vieira",
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: docsector-documentation-authoring
|
|
3
|
+
description: "Author Docsector documentation with Markdown, d-block custom elements, page structures, blocks, MCP, WebMCP, and agent-readable docs. Use when writing or editing Docsector pages, choosing content blocks, creating examples, documenting APIs, or helping an AI understand Docsector authoring syntax."
|
|
4
|
+
argument-hint: "Describe the Docsector page, block, or documentation task"
|
|
5
|
+
user-invocable: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Docsector Documentation Authoring
|
|
9
|
+
|
|
10
|
+
## When to Use
|
|
11
|
+
|
|
12
|
+
Use this skill when creating, reviewing, or editing documentation for a site built with Docsector Reader.
|
|
13
|
+
|
|
14
|
+
Use it for:
|
|
15
|
+
|
|
16
|
+
- Choosing the right Docsector block for a content need.
|
|
17
|
+
- Writing Markdown pages with Docsector custom elements.
|
|
18
|
+
- Creating overview, showcase, guide, API reference, changelog, or landing content.
|
|
19
|
+
- Finding live Docsector docs through MCP, WebMCP, Markdown negotiation, or `llms.txt`.
|
|
20
|
+
- Teaching an AI assistant how Docsector pages, blocks, and examples are authored.
|
|
21
|
+
|
|
22
|
+
## Expected Outcome
|
|
23
|
+
|
|
24
|
+
- The page uses standard Markdown where Markdown is enough.
|
|
25
|
+
- Rich interactions use the appropriate Docsector custom element.
|
|
26
|
+
- Links, assets, examples, and API JSON use Docsector conventions.
|
|
27
|
+
- The result is easy to scan, accessible, and friendly to both humans and agents.
|
|
28
|
+
- When MCP or WebMCP is available, current Docsector documentation is queried instead of relying only on memory.
|
|
29
|
+
|
|
30
|
+
## Authoring Workflow
|
|
31
|
+
|
|
32
|
+
1. Identify the page purpose: concept, tutorial, API reference, release note, navigation hub, example showcase, or troubleshooting guide.
|
|
33
|
+
2. Use headings to shape the reading path. In normal page content, start with `##` because the page title is supplied by metadata.
|
|
34
|
+
3. Pick the simplest block that communicates the content. Prefer Markdown first, then Docsector custom elements when the layout or interaction needs it.
|
|
35
|
+
4. Keep custom element attributes short and explicit. Use `to` for internal navigation and `href` for external URLs.
|
|
36
|
+
5. Put reusable assets in stable public paths such as `/images/...`, `/files/...`, `/api/...`, or `/quasar-api/...`.
|
|
37
|
+
6. For live examples, place Vue SFCs under `src/examples/**/*.vue` and reference them with `<d-block-code-example>`.
|
|
38
|
+
7. For API references, serve JSON from a same-origin public asset and reference it with `<d-block-api>`.
|
|
39
|
+
8. Validate links, anchors, code fences, and custom element closing tags before finishing.
|
|
40
|
+
|
|
41
|
+
## Quick Block Selection
|
|
42
|
+
|
|
43
|
+
| Need | Use |
|
|
44
|
+
| ------------------------------- | ------------------------ |
|
|
45
|
+
| Narrative text | Paragraphs |
|
|
46
|
+
| Page sections and anchors | Headings |
|
|
47
|
+
| Features or requirements | Unordered lists |
|
|
48
|
+
| Sequential instructions | Ordered lists or Stepper |
|
|
49
|
+
| Progress states | Task lists |
|
|
50
|
+
| Notes, tips, warnings | Hints |
|
|
51
|
+
| Quoted text | Quotes |
|
|
52
|
+
| Commands or source snippets | Code blocks |
|
|
53
|
+
| Live Vue demos | Code examples |
|
|
54
|
+
| Flowcharts or diagrams | Mermaid diagrams |
|
|
55
|
+
| Screenshots or diagrams | Images |
|
|
56
|
+
| Downloads | Files |
|
|
57
|
+
| Videos, audio, or pens | Embedded URLs |
|
|
58
|
+
| Equations | Math and TeX |
|
|
59
|
+
| Optional detail | Expandable |
|
|
60
|
+
| Guided sequence with navigation | Stepper |
|
|
61
|
+
| Changelog or release log | Timeline |
|
|
62
|
+
| Comparisons or matrices | Tables |
|
|
63
|
+
| Custom structure | Raw HTML |
|
|
64
|
+
| Small navigation sets | Quick Links |
|
|
65
|
+
| Visual navigation grids | Cards |
|
|
66
|
+
| Structured API docs | API Reference |
|
|
67
|
+
|
|
68
|
+
For the complete syntax and guidance, read [the block catalog](./references/block-catalog.md).
|
|
69
|
+
|
|
70
|
+
## MCP and WebMCP
|
|
71
|
+
|
|
72
|
+
When a Docsector site exposes MCP, prefer live lookup for exact syntax and current examples.
|
|
73
|
+
|
|
74
|
+
Typical MCP tools are named with the configured suffix:
|
|
75
|
+
|
|
76
|
+
- `search_{suffix}` searches documentation pages.
|
|
77
|
+
- `get_page_{suffix}` returns raw Markdown for a documentation page.
|
|
78
|
+
|
|
79
|
+
This repository uses the suffix `docsector`, so the local docs tools are expected to be `search_docsector` and `get_page_docsector` when the MCP server is connected.
|
|
80
|
+
|
|
81
|
+
Use known paths such as:
|
|
82
|
+
|
|
83
|
+
- `manual/content/blocks/cards/overview`
|
|
84
|
+
- `manual/content/blocks/quick-links/overview`
|
|
85
|
+
- `manual/content/blocks/api-reference/overview`
|
|
86
|
+
- `manual/content/blocks/timeline/showcase`
|
|
87
|
+
|
|
88
|
+
Browser agents may also see WebMCP tools such as `docs.search_docs`, `docs.get_page`, `docs.navigate_to`, and `docs.copy_current_page`.
|
|
89
|
+
|
|
90
|
+
Read [MCP and WebMCP reference](./references/mcp-webmcp.md) for details and caveats.
|
|
91
|
+
|
|
92
|
+
## Page and Asset Conventions
|
|
93
|
+
|
|
94
|
+
Read [page structure reference](./references/page-structure.md) before changing page layout, localization, examples, or public assets.
|
|
95
|
+
|
|
96
|
+
Key conventions:
|
|
97
|
+
|
|
98
|
+
- Manual block docs live under `src/pages/manual/content/blocks/`.
|
|
99
|
+
- Block pages usually have `overview` and `showcase` subpages.
|
|
100
|
+
- Localized source files use suffixes such as `.en-US.md` and `.pt-BR.md`.
|
|
101
|
+
- Downloadable files should use `/files/...` paths backed by `public/files/...`.
|
|
102
|
+
- Images should use `/images/...` paths backed by `public/images/...`.
|
|
103
|
+
- API JSON should use same-origin public paths such as `/api/...` or `/quasar-api/...`.
|
|
104
|
+
|
|
105
|
+
## Authoring Patterns
|
|
106
|
+
|
|
107
|
+
Read [authoring patterns](./references/authoring-patterns.md) for common page recipes such as tutorials, changelogs, navigation hubs, API reference pages, and example showcases.
|
|
108
|
+
|
|
109
|
+
## Quality Checklist
|
|
110
|
+
|
|
111
|
+
- The page has a clear first section and predictable heading hierarchy.
|
|
112
|
+
- Every custom element has required attributes and matching closing tags unless it is intentionally self-closing.
|
|
113
|
+
- Internal links use route paths and external links use absolute URLs.
|
|
114
|
+
- Images, files, examples, and API JSON point to assets that exist or are intentionally external.
|
|
115
|
+
- Hints are reserved for semantic callouts, not general decoration.
|
|
116
|
+
- Tables are not overloaded with prose that would read better as sections or lists.
|
|
117
|
+
- Nested custom blocks are used conservatively; avoid unsupported nested Expandable and Stepper patterns.
|
|
118
|
+
- MCP or WebMCP was used for current docs when available.
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# Docsector Authoring Patterns
|
|
2
|
+
|
|
3
|
+
Use these patterns to choose a page shape before writing detailed content.
|
|
4
|
+
|
|
5
|
+
## Tutorial or Setup Guide
|
|
6
|
+
|
|
7
|
+
Use when readers must follow a sequence.
|
|
8
|
+
|
|
9
|
+
Recommended blocks:
|
|
10
|
+
|
|
11
|
+
- Headings for major phases.
|
|
12
|
+
- Stepper for guided, interactive sequences.
|
|
13
|
+
- Code blocks for commands and configuration.
|
|
14
|
+
- Hints for warnings or best practices.
|
|
15
|
+
- Files for downloadable checklists or templates.
|
|
16
|
+
|
|
17
|
+
Start with a short outcome statement, then move into steps. Keep each step focused on one action and one result.
|
|
18
|
+
|
|
19
|
+
## Concept or Overview Page
|
|
20
|
+
|
|
21
|
+
Use when readers need understanding before action.
|
|
22
|
+
|
|
23
|
+
Recommended blocks:
|
|
24
|
+
|
|
25
|
+
- Paragraphs for explanation.
|
|
26
|
+
- Headings for scannable sections.
|
|
27
|
+
- Unordered lists for capabilities and constraints.
|
|
28
|
+
- Images or Mermaid diagrams for mental models.
|
|
29
|
+
- Quick Links or Cards for next steps.
|
|
30
|
+
|
|
31
|
+
Avoid heavy custom blocks if a simple section and list are clearer.
|
|
32
|
+
|
|
33
|
+
## Navigation Hub
|
|
34
|
+
|
|
35
|
+
Use when a page primarily routes readers to other content.
|
|
36
|
+
|
|
37
|
+
Recommended blocks:
|
|
38
|
+
|
|
39
|
+
- Quick Links for compact next steps.
|
|
40
|
+
- Cards for visual destinations.
|
|
41
|
+
- Short paragraphs for framing.
|
|
42
|
+
- Headings only when the hub has multiple groups.
|
|
43
|
+
|
|
44
|
+
Use `to` for Docsector routes and `href` for external URLs.
|
|
45
|
+
|
|
46
|
+
## Changelog or Release Notes
|
|
47
|
+
|
|
48
|
+
Use when content is chronological.
|
|
49
|
+
|
|
50
|
+
Recommended blocks:
|
|
51
|
+
|
|
52
|
+
- Timeline for dated entries.
|
|
53
|
+
- Timeline tags for release channels, categories, or status.
|
|
54
|
+
- Hints for breaking changes or migration warnings.
|
|
55
|
+
- Code blocks for commands that users must run.
|
|
56
|
+
- Quick Links for related upgrade docs.
|
|
57
|
+
|
|
58
|
+
Give timeline items stable `anchor` values for important releases and migration entries.
|
|
59
|
+
|
|
60
|
+
## API Reference Page
|
|
61
|
+
|
|
62
|
+
Use when structured API data is available.
|
|
63
|
+
|
|
64
|
+
Recommended blocks:
|
|
65
|
+
|
|
66
|
+
- API Reference for Quasar-compatible JSON.
|
|
67
|
+
- Code blocks for quick usage examples.
|
|
68
|
+
- Hints for compatibility or deprecation notes.
|
|
69
|
+
- Tables only for small summaries not already covered by the API block.
|
|
70
|
+
|
|
71
|
+
Keep JSON assets under same-origin public paths such as `/api/manual/...` or `/quasar-api/...`.
|
|
72
|
+
|
|
73
|
+
## Example Showcase
|
|
74
|
+
|
|
75
|
+
Use when readers need to inspect behavior and source.
|
|
76
|
+
|
|
77
|
+
Recommended blocks:
|
|
78
|
+
|
|
79
|
+
- Code Examples for live Vue SFC previews.
|
|
80
|
+
- Code blocks for smaller standalone snippets.
|
|
81
|
+
- Expandable for optional implementation notes.
|
|
82
|
+
- Cards or Quick Links for related examples.
|
|
83
|
+
|
|
84
|
+
Use `expanded="true"` when source inspection is the main value. Set `codepen="false"` when an example cannot be exported safely.
|
|
85
|
+
|
|
86
|
+
## Troubleshooting Page
|
|
87
|
+
|
|
88
|
+
Use when readers need to diagnose and resolve problems.
|
|
89
|
+
|
|
90
|
+
Recommended blocks:
|
|
91
|
+
|
|
92
|
+
- Headings for symptoms or error messages.
|
|
93
|
+
- Hints for warnings and high-risk operations.
|
|
94
|
+
- Ordered lists for resolution steps.
|
|
95
|
+
- Code blocks for commands and logs.
|
|
96
|
+
- Expandable for verbose logs or advanced diagnostics.
|
|
97
|
+
|
|
98
|
+
Keep the shortest successful path visible and move rare details into Expandable blocks.
|
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
# Docsector Block Catalog
|
|
2
|
+
|
|
3
|
+
This catalog summarizes the Docsector authoring blocks that an agent should know before writing documentation. Each block has live manual pages at `manual/content/blocks/{slug}/overview` and usually `manual/content/blocks/{slug}/showcase`.
|
|
4
|
+
|
|
5
|
+
## Custom Element Blocks
|
|
6
|
+
|
|
7
|
+
| Block | Syntax | Use For | Manual Path |
|
|
8
|
+
| ------------- | --------------------------------------------------- | -------------------------------------------------------- | ---------------------------------------------- |
|
|
9
|
+
| Quick Links | `<d-block-quick-links>` with `<d-block-quick-link>` | Small sets of next-step links | `manual/content/blocks/quick-links/overview` |
|
|
10
|
+
| Cards | `<d-block-cards>` with `<d-block-card>` | Visual navigation grids and landing sections | `manual/content/blocks/cards/overview` |
|
|
11
|
+
| Timeline | `<d-block-timeline>` with `<d-block-timeline-item>` | Changelogs, release notes, rollout logs | `manual/content/blocks/timeline/overview` |
|
|
12
|
+
| Stepper | `<d-block-stepper>` with `<d-block-step>` | Guided multi-step flows with navigation | `manual/content/blocks/stepper/overview` |
|
|
13
|
+
| Expandable | `<d-block-expandable>` | Optional details, appendices, longer examples | `manual/content/blocks/expandable/overview` |
|
|
14
|
+
| Files | `<d-block-file>` | Download cards for attachments | `manual/content/blocks/files/overview` |
|
|
15
|
+
| Embedded URLs | `<d-block-embedded-url>` | YouTube, Vimeo, Spotify, CodePen, or link-card fallbacks | `manual/content/blocks/embedded-urls/overview` |
|
|
16
|
+
| Code Examples | `<d-block-code-example>` | Live Vue SFC previews with source inspection | `manual/content/blocks/code-examples/overview` |
|
|
17
|
+
| API Reference | `<d-block-api>` | Quasar-compatible JSON API reference UIs | `manual/content/blocks/api-reference/overview` |
|
|
18
|
+
|
|
19
|
+
### Quick Links
|
|
20
|
+
|
|
21
|
+
Use Quick Links when a page needs a compact group of destinations without a long prose list.
|
|
22
|
+
|
|
23
|
+
```html
|
|
24
|
+
<d-block-quick-links title="Get started">
|
|
25
|
+
<d-block-quick-link
|
|
26
|
+
title="Install"
|
|
27
|
+
description="Set up the project"
|
|
28
|
+
to="/guide/getting-started"
|
|
29
|
+
/>
|
|
30
|
+
<d-block-quick-link
|
|
31
|
+
title="GitHub"
|
|
32
|
+
description="Open the repository"
|
|
33
|
+
href="https://github.com/docsector/docsector-reader"
|
|
34
|
+
/>
|
|
35
|
+
</d-block-quick-links>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Use `to` for internal navigation and `href` for external URLs. Keep descriptions short.
|
|
39
|
+
|
|
40
|
+
### Cards
|
|
41
|
+
|
|
42
|
+
Use Cards for landing sections, curated resource grids, and visual navigation.
|
|
43
|
+
|
|
44
|
+
```html
|
|
45
|
+
<d-block-cards title="Explore more">
|
|
46
|
+
<d-block-card
|
|
47
|
+
title="Install"
|
|
48
|
+
description="Set up the project"
|
|
49
|
+
to="/guide/getting-started"
|
|
50
|
+
image="/images/cards/getting-started-cover.svg"
|
|
51
|
+
/>
|
|
52
|
+
<d-block-card
|
|
53
|
+
title="GitHub"
|
|
54
|
+
description="Open the repository"
|
|
55
|
+
href="https://github.com/docsector/docsector-reader"
|
|
56
|
+
icon="launch"
|
|
57
|
+
/>
|
|
58
|
+
</d-block-cards>
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Prefer `image` for landing-page tiles and `icon` for lighter cards without covers.
|
|
62
|
+
|
|
63
|
+
### Timeline
|
|
64
|
+
|
|
65
|
+
Use Timeline for chronological entries such as changelogs, release notes, migrations, and rollout journals.
|
|
66
|
+
|
|
67
|
+
```html
|
|
68
|
+
<d-block-timeline>
|
|
69
|
+
<d-block-timeline-item date="2025-12-25" anchor="brand-new-update">
|
|
70
|
+
<d-block-timeline-tag color="warning" icon="rocket_launch"
|
|
71
|
+
>beta</d-block-timeline-tag
|
|
72
|
+
>
|
|
73
|
+
<d-block-timeline-tag color="secondary" text-color="white"
|
|
74
|
+
>docs</d-block-timeline-tag
|
|
75
|
+
>
|
|
76
|
+
|
|
77
|
+
## A brand new update Use this block for release notes, product
|
|
78
|
+
announcements, migration notices, or operational updates.
|
|
79
|
+
</d-block-timeline-item>
|
|
80
|
+
</d-block-timeline>
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Every item needs `date`. Tags are optional and support text content or `label`, plus `color`, `text-color`, and `icon`. `anchor` is optional; Docsector can generate one from the date and first visible text. Headings inside timeline items are flattened so the page ToC stays stable.
|
|
84
|
+
|
|
85
|
+
### Stepper
|
|
86
|
+
|
|
87
|
+
Use Stepper when the reader should move through a guided sequence.
|
|
88
|
+
|
|
89
|
+
```html
|
|
90
|
+
<d-block-stepper>
|
|
91
|
+
<d-block-step title="Install dependencies">
|
|
92
|
+
Run `npm install` in the project root.
|
|
93
|
+
</d-block-step>
|
|
94
|
+
|
|
95
|
+
<d-block-step
|
|
96
|
+
title="Ship the release"
|
|
97
|
+
icon="rocket_launch"
|
|
98
|
+
active-icon="rocket_launch"
|
|
99
|
+
done-icon="task_alt"
|
|
100
|
+
>
|
|
101
|
+
Use icon attributes when a numbered prefix is not expressive enough.
|
|
102
|
+
</d-block-step>
|
|
103
|
+
</d-block-stepper>
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Every step needs `title`. Step bodies support common Markdown such as paragraphs, lists, hints, code fences, images, tables, and math. Avoid nested Stepper blocks and other custom Docsector blocks inside steps in the current version.
|
|
107
|
+
|
|
108
|
+
### Expandable
|
|
109
|
+
|
|
110
|
+
Use Expandable for optional material that should not interrupt the main reading path.
|
|
111
|
+
|
|
112
|
+
```html
|
|
113
|
+
<d-block-expandable title="Release checklist" open="true">
|
|
114
|
+
- Review breaking changes - Update screenshots - Run smoke tests
|
|
115
|
+
</d-block-expandable>
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Use `open="true"` to start expanded. Keep page headings outside expandable bodies because inner headings are flattened. Avoid nesting one expandable inside another.
|
|
119
|
+
|
|
120
|
+
### Files
|
|
121
|
+
|
|
122
|
+
Use Files for attachments such as checklists, PDFs, sample bundles, and release assets.
|
|
123
|
+
|
|
124
|
+
```html
|
|
125
|
+
<d-block-file
|
|
126
|
+
src="/files/manual/release-checklist.txt"
|
|
127
|
+
title="Release checklist"
|
|
128
|
+
size="1 KB"
|
|
129
|
+
>
|
|
130
|
+
Download the example attachment used in this manual.
|
|
131
|
+
</d-block-file>
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
`src` is required. `title` and `size` are optional. When `title` is omitted, Docsector falls back to the file name from `src`. Store repo-tracked attachments under `public/files/` and reference them as `/files/...`.
|
|
135
|
+
|
|
136
|
+
### Embedded URLs
|
|
137
|
+
|
|
138
|
+
Use Embedded URLs for curated public embeds while keeping Docsector's consistent card and preview treatment.
|
|
139
|
+
|
|
140
|
+
```html
|
|
141
|
+
<d-block-embedded-url
|
|
142
|
+
url="https://www.youtube.com/watch?v=M7lc1UVf-VE"
|
|
143
|
+
title="YouTube player demo"
|
|
144
|
+
>
|
|
145
|
+
Optional caption rendered as inline Markdown.
|
|
146
|
+
</d-block-embedded-url>
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
`url` is required and `title` is optional. Supported providers are YouTube, Vimeo, Spotify, and CodePen. Unsupported or private URLs render as safe external-link cards.
|
|
150
|
+
|
|
151
|
+
### Code Examples
|
|
152
|
+
|
|
153
|
+
Use Code Examples to render project Vue SFCs as live previews with source inspection.
|
|
154
|
+
|
|
155
|
+
```html
|
|
156
|
+
<d-block-code-example
|
|
157
|
+
src="manual/code-examples/basic-counter"
|
|
158
|
+
title="Basic counter"
|
|
159
|
+
/>
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
Place examples under `src/examples/**/*.vue`. The `src` value is normalized to kebab-case, so `manual/code-examples/basic-counter` resolves to `src/examples/manual/code-examples/BasicCounter.vue`. `file` is an alias for `src`.
|
|
163
|
+
|
|
164
|
+
Common attributes:
|
|
165
|
+
|
|
166
|
+
| Attribute | Purpose |
|
|
167
|
+
| ------------ | ---------------------------------------------- |
|
|
168
|
+
| `src` | Example id under `src/examples/**/*.vue` |
|
|
169
|
+
| `file` | Alias for `src` |
|
|
170
|
+
| `title` | Header title above the preview |
|
|
171
|
+
| `expanded` | Opens the source panel by default when `true` |
|
|
172
|
+
| `codepen` | Shows the CodePen action unless set to `false` |
|
|
173
|
+
| `scrollable` | Gives the preview a fixed scrollable height |
|
|
174
|
+
| `overflow` | Allows horizontal and vertical overflow |
|
|
175
|
+
| `height` | Sets a preview height such as `360` or `420px` |
|
|
176
|
+
|
|
177
|
+
### API Reference
|
|
178
|
+
|
|
179
|
+
Use API Reference blocks to render Quasar-compatible JSON API documentation.
|
|
180
|
+
|
|
181
|
+
```html
|
|
182
|
+
<d-block-api src="/quasar-api/QSeparator.json" />
|
|
183
|
+
|
|
184
|
+
<d-block-api
|
|
185
|
+
src="/api/manual/http-client.json"
|
|
186
|
+
title="HTTP Client API"
|
|
187
|
+
page-link="true"
|
|
188
|
+
/>
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
`src` is required and should point to same-origin JSON. `title` overrides the header. `page-link="true"` shows a Docs button when the JSON includes `meta.docsUrl`. Useful JSON sections include `props`, `methods`, `events`, `value`, `arg`, and `quasarConfOptions`; entries with `internal: true` are hidden.
|
|
192
|
+
|
|
193
|
+
## Markdown and Native Blocks
|
|
194
|
+
|
|
195
|
+
| Block | Syntax | Use For | Manual Path |
|
|
196
|
+
| ---------------- | -------------------------- | ------------------------------- | ------------------------------------------------- |
|
|
197
|
+
| Paragraphs | Plain Markdown text | Explanations and transitions | `manual/content/blocks/paragraphs/overview` |
|
|
198
|
+
| Headings | `##`, `###`, `####` | Sections, anchors, page ToC | `manual/content/blocks/headings/overview` |
|
|
199
|
+
| Unordered Lists | `- item` | Feature sets and requirements | `manual/content/blocks/unordered-lists/overview` |
|
|
200
|
+
| Ordered Lists | `1. item` | Sequential procedures | `manual/content/blocks/ordered-lists/overview` |
|
|
201
|
+
| Task Lists | `- [ ] item`, `- [x] item` | Static checklists | `manual/content/blocks/task-lists/overview` |
|
|
202
|
+
| Hints | `> [!WARNING]` | Semantic notes and warnings | `manual/content/blocks/hints/overview` |
|
|
203
|
+
| Quotes | `> text` | Neutral quoted text | `manual/content/blocks/quotes/overview` |
|
|
204
|
+
| Code Blocks | Fenced code | Commands and snippets | `manual/content/blocks/code-blocks/overview` |
|
|
205
|
+
| Mermaid Diagrams | Fenced `mermaid` code | Flowcharts and diagrams | `manual/content/blocks/mermaid-diagrams/overview` |
|
|
206
|
+
| Images | `` | Screenshots and illustrations | `manual/content/blocks/images/overview` |
|
|
207
|
+
| Math and TeX | `$...$`, `$$...$$` | Inline and display equations | `manual/content/blocks/math-and-tex/overview` |
|
|
208
|
+
| Tables | Markdown tables | Comparisons and matrices | `manual/content/blocks/tables/overview` |
|
|
209
|
+
| Raw HTML | HTML tags | Custom structure and attributes | `manual/content/blocks/raw-html/overview` |
|
|
210
|
+
|
|
211
|
+
### Paragraphs
|
|
212
|
+
|
|
213
|
+
Use paragraphs for narrative copy. Separate paragraphs with a blank line. Inline emphasis, links, inline code, and math work inside normal paragraphs.
|
|
214
|
+
|
|
215
|
+
### Headings
|
|
216
|
+
|
|
217
|
+
Use headings to organize the page and feed the right-side table of contents. In page content, start with `##` because the page title is generated from page metadata. Keep heading levels in order and use headings for sections that readers may bookmark or deep-link.
|
|
218
|
+
|
|
219
|
+
### Lists
|
|
220
|
+
|
|
221
|
+
Use unordered lists when order does not matter. Use ordered lists when sequence matters. Use task lists when each item should show a done or not-done state. Published task-list checkboxes are static and cannot be toggled by readers.
|
|
222
|
+
|
|
223
|
+
### Hints
|
|
224
|
+
|
|
225
|
+
Use GitHub-style alert markers in blockquotes:
|
|
226
|
+
|
|
227
|
+
```markdown
|
|
228
|
+
> [!WARNING]
|
|
229
|
+
> This operation may interrupt workers.
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
Supported markers are `NOTE`, `TIP`, `IMPORTANT`, `WARNING`, and `CAUTION`. Unknown markers fall back to regular quotes.
|
|
233
|
+
|
|
234
|
+
### Quotes
|
|
235
|
+
|
|
236
|
+
Use regular blockquotes for cited text or neutral notes that should stand apart from the main flow without semantic alert styling.
|
|
237
|
+
|
|
238
|
+
```markdown
|
|
239
|
+
> This is a regular quote.
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
### Code Blocks
|
|
243
|
+
|
|
244
|
+
Use fenced code blocks for commands and snippets. Docsector renders syntax highlighting, line numbers, copy support, grouped tabs, breadcrumbs, and file metadata.
|
|
245
|
+
|
|
246
|
+
````markdown
|
|
247
|
+
```bash :filename="install.sh";
|
|
248
|
+
npm install
|
|
249
|
+
npm run dev
|
|
250
|
+
```
|
|
251
|
+
````
|
|
252
|
+
|
|
253
|
+
Useful metadata attributes are `filename`, `group`, `tab`, and `breadcrumb` using `:attr;` syntax.
|
|
254
|
+
|
|
255
|
+
### Mermaid Diagrams
|
|
256
|
+
|
|
257
|
+
Use a fenced `mermaid` block for diagrams.
|
|
258
|
+
|
|
259
|
+
````markdown
|
|
260
|
+
```mermaid
|
|
261
|
+
flowchart TD
|
|
262
|
+
A[Start] --> B[Finish]
|
|
263
|
+
```
|
|
264
|
+
````
|
|
265
|
+
|
|
266
|
+
Docsector lazy-loads Mermaid, renders responsive SVG, adapts to light and dark mode, and shows a safe error state for invalid Mermaid syntax.
|
|
267
|
+
|
|
268
|
+
### Images
|
|
269
|
+
|
|
270
|
+
Use standard Markdown images for screenshots, illustrations, diagrams, and product UI.
|
|
271
|
+
|
|
272
|
+
```markdown
|
|
273
|
+

|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
Standalone Markdown images render as block figures with click-to-zoom. The label is used as both caption and alt text. Use raw `<figure>` and `<picture>` markup when alt text and visible caption need to differ.
|
|
277
|
+
|
|
278
|
+
### Math and TeX
|
|
279
|
+
|
|
280
|
+
Use single dollar delimiters for inline math and double dollar delimiters for display math.
|
|
281
|
+
|
|
282
|
+
```markdown
|
|
283
|
+
Use $E = mc^2$ inside a sentence.
|
|
284
|
+
|
|
285
|
+
$$
|
|
286
|
+
\int_0^1 x^2 dx
|
|
287
|
+
$$
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
Math works in paragraphs, hints, and expandable blocks. Delimiters remain literal inside inline code and fenced code blocks.
|
|
291
|
+
|
|
292
|
+
### Tables
|
|
293
|
+
|
|
294
|
+
Use tables for comparisons, option matrices, compatibility notes, and scannable row-column content.
|
|
295
|
+
|
|
296
|
+
```markdown
|
|
297
|
+
| Feature | Status | Notes |
|
|
298
|
+
| ------- | ------ | ------------------------ |
|
|
299
|
+
| Search | Done | Available in the sidebar |
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
Keep column labels short. Split very dense tables into smaller sections.
|
|
303
|
+
|
|
304
|
+
### Raw HTML
|
|
305
|
+
|
|
306
|
+
Use raw HTML only when Markdown is not expressive enough or when authoring Docsector custom elements.
|
|
307
|
+
|
|
308
|
+
```html
|
|
309
|
+
<div data-kind="secondary-note">
|
|
310
|
+
This block uses raw HTML inside the page source.
|
|
311
|
+
</div>
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
Prefer plain Markdown first. Keep raw markup readable because documentation content still needs maintenance.
|
|
315
|
+
|
|
316
|
+
## Renderer and Parser References
|
|
317
|
+
|
|
318
|
+
- `src/components/page-section-tokens.js` parses custom elements and Markdown tokens.
|
|
319
|
+
- `src/components/DPageTokens.vue` dispatches tokens to block components.
|
|
320
|
+
- `src/components/DBlockCards.vue`, `DBlockQuickLinks.vue`, `DBlockTimeline.vue`, `DBlockStepper.vue`, `DBlockExpandable.vue`, `DBlockFile.vue`, `DBlockEmbeddedUrl.vue`, `DBlockCodeExample.vue`, and `DBlockApi.vue` render custom element blocks.
|
|
321
|
+
- `src/components/DBlockSourceCode.vue`, `DBlockMermaidDiagram.vue`, `DBlockBlockquote.vue`, and `DBlockImage.vue` render richer Markdown blocks.
|
package/public/.well-known/agent-skills/docsector-documentation-authoring/references/mcp-webmcp.md
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# MCP and WebMCP Reference
|
|
2
|
+
|
|
3
|
+
Docsector can expose documentation to agents through MCP, WebMCP, Markdown negotiation, and `llms.txt`. Use these sources when an assistant needs current docs instead of only the static guidance in this skill.
|
|
4
|
+
|
|
5
|
+
## MCP Server
|
|
6
|
+
|
|
7
|
+
When configured, Docsector generates an MCP endpoint at:
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
/mcp
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
The server exposes tools named with the configured suffix:
|
|
14
|
+
|
|
15
|
+
| Tool | Purpose |
|
|
16
|
+
| ------------------- | ------------------------------------- |
|
|
17
|
+
| `search_{suffix}` | Search documentation pages by keyword |
|
|
18
|
+
| `get_page_{suffix}` | Fetch raw Markdown for a page path |
|
|
19
|
+
|
|
20
|
+
This repository configures `toolSuffix: 'docsector'`, so connected MCP clients should see:
|
|
21
|
+
|
|
22
|
+
```text
|
|
23
|
+
search_docsector
|
|
24
|
+
get_page_docsector
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## MCP Page Paths
|
|
28
|
+
|
|
29
|
+
`get_page_{suffix}` expects paths without a leading slash, trailing slash, or `.md` suffix. It can try an `/overview` fallback when the primary path is not found.
|
|
30
|
+
|
|
31
|
+
Useful examples:
|
|
32
|
+
|
|
33
|
+
```text
|
|
34
|
+
manual/content/blocks/quick-links/overview
|
|
35
|
+
manual/content/blocks/cards/overview
|
|
36
|
+
manual/content/blocks/code-examples/overview
|
|
37
|
+
manual/content/blocks/api-reference/overview
|
|
38
|
+
manual/content/blocks/timeline/showcase
|
|
39
|
+
guide/getting-started/overview
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Recommended Agent Flow
|
|
43
|
+
|
|
44
|
+
1. Use `search_{suffix}` for discovery, such as `search_docsector` with `"timeline block"`.
|
|
45
|
+
2. Use `get_page_{suffix}` with the best matching path.
|
|
46
|
+
3. Read the returned Markdown examples before authoring or changing a custom element.
|
|
47
|
+
4. Prefer the live manual page when it conflicts with this static skill.
|
|
48
|
+
5. If MCP is not connected, use Markdown URLs, `llms.txt`, or the references bundled with this skill.
|
|
49
|
+
|
|
50
|
+
## WebMCP Browser Tools
|
|
51
|
+
|
|
52
|
+
When `navigator.modelContext` is available in a secure browser context, Docsector can register browser-side tools. Typical tool names are:
|
|
53
|
+
|
|
54
|
+
| Tool | Purpose |
|
|
55
|
+
| ------------------------ | ----------------------------------------------------------------- |
|
|
56
|
+
| `docs.search_docs` | Search docs through the MCP bridge |
|
|
57
|
+
| `docs.get_page` | Fetch page Markdown through the MCP bridge |
|
|
58
|
+
| `docs.navigate_to` | Navigate the single-page app to a route and optional hash |
|
|
59
|
+
| `docs.copy_current_page` | Return the current page path, Markdown URL, and optionally source |
|
|
60
|
+
|
|
61
|
+
Use these tools when working inside a Docsector page with a browser agent. Use MCP tools directly when working from an editor or external assistant.
|
|
62
|
+
|
|
63
|
+
## Markdown and LLM Discovery
|
|
64
|
+
|
|
65
|
+
Docsector pages can expose raw Markdown in several ways:
|
|
66
|
+
|
|
67
|
+
- Append `.md` to a page URL.
|
|
68
|
+
- Send `Accept: text/markdown` to use Markdown negotiation.
|
|
69
|
+
- Use `/llms.txt` for an index of pages when `siteUrl` is configured.
|
|
70
|
+
- Use `/llms-full.txt` for concatenated full content when generated.
|
|
71
|
+
|
|
72
|
+
These are useful fallbacks when MCP is unavailable.
|
|
73
|
+
|
|
74
|
+
## Discovery Artifacts
|
|
75
|
+
|
|
76
|
+
Docsector can also publish machine-readable discovery files:
|
|
77
|
+
|
|
78
|
+
| Artifact | Purpose |
|
|
79
|
+
| -------------------------------------- | ---------------------------- |
|
|
80
|
+
| `/.well-known/mcp/server-card.json` | MCP server discovery |
|
|
81
|
+
| `/.well-known/agent-skills/index.json` | Agent Skills Discovery index |
|
|
82
|
+
| `/.well-known/api-catalog` | API catalog Linkset JSON |
|
|
83
|
+
|
|
84
|
+
## Caveats
|
|
85
|
+
|
|
86
|
+
- MCP search indexes pages, not individual component schemas.
|
|
87
|
+
- Public API JSON files under `/api/...` and `/quasar-api/...` are static assets and may not be directly searchable through MCP page search.
|
|
88
|
+
- WebMCP requires browser support for `navigator.modelContext` and a secure context, except where localhost is allowed by the browser.
|
|
89
|
+
- Generated MCP indexes are build artifacts, so a production build is required after source changes.
|
|
90
|
+
- If multiple Docsector sites are connected to the same assistant, each site should use a unique MCP tool suffix.
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# Docsector Page Structure
|
|
2
|
+
|
|
3
|
+
Use this reference when adding or editing Docsector content files, assets, examples, and API reference data.
|
|
4
|
+
|
|
5
|
+
## Page Sources
|
|
6
|
+
|
|
7
|
+
Docsector pages are registered in index files such as `src/pages/manual.index.js` and backed by localized Markdown files under `src/pages/`.
|
|
8
|
+
|
|
9
|
+
Manual content blocks follow this pattern:
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
src/pages/manual/content/blocks/{block}.overview.en-US.md
|
|
13
|
+
src/pages/manual/content/blocks/{block}.showcase.en-US.md
|
|
14
|
+
src/pages/manual/content/blocks/{block}.overview.pt-BR.md
|
|
15
|
+
src/pages/manual/content/blocks/{block}.showcase.pt-BR.md
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
The route path maps to MCP/page paths such as:
|
|
19
|
+
|
|
20
|
+
```text
|
|
21
|
+
manual/content/blocks/cards/overview
|
|
22
|
+
manual/content/blocks/cards/showcase
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Overview and Showcase
|
|
26
|
+
|
|
27
|
+
Use `overview` for conceptual explanation, syntax, attributes, and authoring notes. Use `showcase` for varied examples that demonstrate the block in realistic content.
|
|
28
|
+
|
|
29
|
+
Most block docs should include both subpages. Structure docs such as page, subpage, or books may use different subpage rules depending on their registry configuration.
|
|
30
|
+
|
|
31
|
+
## Localization
|
|
32
|
+
|
|
33
|
+
Localized Markdown files use locale suffixes such as `.en-US.md` and `.pt-BR.md`. Keep route structure and headings aligned across locales when possible so translation progress and navigation remain useful.
|
|
34
|
+
|
|
35
|
+
New repository-facing documentation and AI customization files should be written in English unless the file is explicitly a locale-specific translation.
|
|
36
|
+
|
|
37
|
+
## Assets
|
|
38
|
+
|
|
39
|
+
Use public site paths in Markdown:
|
|
40
|
+
|
|
41
|
+
| Asset Type | Repo Location | Public Path |
|
|
42
|
+
| --------------- | ----------------------- | ----------------- |
|
|
43
|
+
| Images | `public/images/...` | `/images/...` |
|
|
44
|
+
| Files | `public/files/...` | `/files/...` |
|
|
45
|
+
| Manual API JSON | `public/api/manual/...` | `/api/manual/...` |
|
|
46
|
+
| Quasar API JSON | `public/quasar-api/...` | `/quasar-api/...` |
|
|
47
|
+
|
|
48
|
+
Prefer absolute public paths in documentation so pages keep working when routes move.
|
|
49
|
+
|
|
50
|
+
## Code Examples
|
|
51
|
+
|
|
52
|
+
Live code examples are Vue SFC files discovered from `src/examples/**/*.vue`.
|
|
53
|
+
|
|
54
|
+
Reference them with:
|
|
55
|
+
|
|
56
|
+
```html
|
|
57
|
+
<d-block-code-example
|
|
58
|
+
src="manual/code-examples/basic-counter"
|
|
59
|
+
title="Basic counter"
|
|
60
|
+
/>
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
The `src` value is normalized to kebab-case and resolves to a PascalCase `.vue` file. For example, `manual/code-examples/basic-counter` resolves to `src/examples/manual/code-examples/BasicCounter.vue`.
|
|
64
|
+
|
|
65
|
+
Use `file` as an alias for `src` only when migrating from Quasar Docs-style examples.
|
|
66
|
+
|
|
67
|
+
## API Reference JSON
|
|
68
|
+
|
|
69
|
+
API blocks fetch JSON from same-origin public assets:
|
|
70
|
+
|
|
71
|
+
```html
|
|
72
|
+
<d-block-api
|
|
73
|
+
src="/api/manual/http-client.json"
|
|
74
|
+
title="HTTP Client API"
|
|
75
|
+
page-link="true"
|
|
76
|
+
/>
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
The JSON can follow Quasar's API schema. Useful sections include `props`, `methods`, `events`, `value`, `arg`, and `quasarConfOptions`. Entries marked `internal: true` are hidden.
|
|
80
|
+
|
|
81
|
+
## Navigation and Metadata
|
|
82
|
+
|
|
83
|
+
Page registry entries in `src/pages/*.index.js` define titles, status, icons, books, menu placement, subpage availability, descriptions, and search tags.
|
|
84
|
+
|
|
85
|
+
When adding new content, check the nearest existing entry and keep metadata consistent with that section.
|
|
86
|
+
|
|
87
|
+
## Authoring Rules
|
|
88
|
+
|
|
89
|
+
- Prefer Markdown for simple content.
|
|
90
|
+
- Use custom elements only when they add structure, interaction, or a clearer reading path.
|
|
91
|
+
- Use `to` for internal Docsector routes and `href` for external URLs.
|
|
92
|
+
- Avoid repeating the same Markdown source in multiple routes.
|
|
93
|
+
- Keep page headings outside Expandable, Stepper, and Timeline bodies when they are meant to appear in the page-level table of contents.
|
|
94
|
+
- Avoid unsupported nested custom block combinations unless current manual docs explicitly show the pattern.
|
|
95
|
+
|
|
96
|
+
## Validation Pointers
|
|
97
|
+
|
|
98
|
+
- Parser behavior is centered in `src/components/page-section-tokens.js`.
|
|
99
|
+
- Rendering is dispatched by `src/components/DPageTokens.vue`.
|
|
100
|
+
- Manual block registration is covered by `tests/manual-content-showcases.spec.js`.
|
|
101
|
+
- Parser and block edge cases are covered by focused tests such as `tests/page-section-tokens.spec.js`, `tests/code-example-source.spec.js`, `tests/embedded-url-providers.spec.js`, and `tests/api-block-model.spec.js`.
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
## Overview
|
|
2
|
+
|
|
3
|
+
Docsector Reader ships a public authoring skill for AI agents that need to understand how Docsector documentation works.
|
|
4
|
+
|
|
5
|
+
The skill is a `SKILL.md` file with companion references. It explains Docsector Markdown conventions, every documented block, page structure, asset paths, authoring patterns, MCP lookup, and WebMCP browser tools.
|
|
6
|
+
|
|
7
|
+
## Public URLs
|
|
8
|
+
|
|
9
|
+
The built-in skill is published as a static artifact:
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
/.well-known/agent-skills/docsector-documentation-authoring/SKILL.md
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
The discovery index points agents to the same file and includes a SHA-256 digest:
|
|
16
|
+
|
|
17
|
+
```text
|
|
18
|
+
/.well-known/agent-skills/index.json
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## What the Skill Contains
|
|
22
|
+
|
|
23
|
+
<d-block-quick-links title="Skill references">
|
|
24
|
+
<d-block-quick-link
|
|
25
|
+
title="SKILL.md"
|
|
26
|
+
description="The compact workflow agents load first"
|
|
27
|
+
href="/.well-known/agent-skills/docsector-documentation-authoring/SKILL.md"
|
|
28
|
+
/>
|
|
29
|
+
<d-block-quick-link
|
|
30
|
+
title="Block catalog"
|
|
31
|
+
description="All Docsector blocks, syntax, and when-to-use guidance"
|
|
32
|
+
href="/.well-known/agent-skills/docsector-documentation-authoring/references/block-catalog.md"
|
|
33
|
+
/>
|
|
34
|
+
<d-block-quick-link
|
|
35
|
+
title="Page structure"
|
|
36
|
+
description="Page files, locales, assets, examples, and API JSON conventions"
|
|
37
|
+
href="/.well-known/agent-skills/docsector-documentation-authoring/references/page-structure.md"
|
|
38
|
+
/>
|
|
39
|
+
<d-block-quick-link
|
|
40
|
+
title="MCP and WebMCP"
|
|
41
|
+
description="How agents can search, fetch, navigate, and copy live docs"
|
|
42
|
+
href="/.well-known/agent-skills/docsector-documentation-authoring/references/mcp-webmcp.md"
|
|
43
|
+
/>
|
|
44
|
+
</d-block-quick-links>
|
|
45
|
+
|
|
46
|
+
## Local and Published Copies
|
|
47
|
+
|
|
48
|
+
Docsector keeps two synchronized copies of the same skill:
|
|
49
|
+
|
|
50
|
+
- `.github/skills/docsector-documentation-authoring/` for repository-local assistants such as GitHub Copilot in VS Code.
|
|
51
|
+
- `public/.well-known/agent-skills/docsector-documentation-authoring/` for the built documentation site.
|
|
52
|
+
|
|
53
|
+
During build, Docsector copies the public artifact into `dist/spa/.well-known/agent-skills/` and generates the discovery index.
|
|
54
|
+
|
|
55
|
+
## Retrofitting Older Scaffolds
|
|
56
|
+
|
|
57
|
+
Projects scaffolded before this skill existed can import it with the CLI helper:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
npx docsector install-skill
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
The command copies the built-in skill into both expected locations:
|
|
64
|
+
|
|
65
|
+
- `.github/skills/docsector-documentation-authoring/`
|
|
66
|
+
- `public/.well-known/agent-skills/docsector-documentation-authoring/`
|
|
67
|
+
|
|
68
|
+
Existing folders are skipped so local edits are not overwritten. Use `--force` when you intentionally want to refresh the installed copy from the package:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
npx docsector install-skill --force
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
The helper does not rewrite `docsector.config.js`. After installing the files, enable discovery with:
|
|
75
|
+
|
|
76
|
+
```javascript
|
|
77
|
+
agentSkills: {
|
|
78
|
+
enabled: true,
|
|
79
|
+
path: '/.well-known/agent-skills/index.json',
|
|
80
|
+
schema: 'https://schemas.agentskills.io/discovery/0.2.0/schema.json',
|
|
81
|
+
skills: [
|
|
82
|
+
{
|
|
83
|
+
name: 'docsector-documentation-authoring',
|
|
84
|
+
type: 'skill-md',
|
|
85
|
+
description: 'Author Docsector documentation with Markdown, custom blocks, MCP, and WebMCP.',
|
|
86
|
+
url: '/.well-known/agent-skills/docsector-documentation-authoring/SKILL.md'
|
|
87
|
+
}
|
|
88
|
+
]
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Then run `npx docsector build` to generate `/.well-known/agent-skills/index.json` with the computed digest.
|
|
93
|
+
|
|
94
|
+
## How Agents Should Use It
|
|
95
|
+
|
|
96
|
+
Agents should load `SKILL.md` first, then open reference files only when a task needs more detail.
|
|
97
|
+
|
|
98
|
+
For current page examples, agents can combine the skill with Docsector's MCP tools:
|
|
99
|
+
|
|
100
|
+
```text
|
|
101
|
+
search_docsector
|
|
102
|
+
get_page_docsector
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Browser agents can also use WebMCP tools when `navigator.modelContext` is available:
|
|
106
|
+
|
|
107
|
+
- `docs.search_docs`
|
|
108
|
+
- `docs.get_page`
|
|
109
|
+
- `docs.navigate_to`
|
|
110
|
+
- `docs.copy_current_page`
|
|
111
|
+
|
|
112
|
+
## When to Publish Your Own Skill
|
|
113
|
+
|
|
114
|
+
Publish a project-specific skill when your documentation has domain rules that are not covered by the built-in Docsector authoring skill.
|
|
115
|
+
|
|
116
|
+
Use Docsector's `agentSkills` config to expose the skill through `/.well-known/agent-skills/index.json`, and keep the artifact under `public/.well-known/agent-skills/...` when you want Docsector to compute the digest automatically.
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
## Visão Geral
|
|
2
|
+
|
|
3
|
+
O Docsector Reader publica uma skill de autoria para agentes de IA que precisam entender como a documentação Docsector funciona.
|
|
4
|
+
|
|
5
|
+
A skill é um arquivo `SKILL.md` com referências complementares. Ela explica as convenções de Markdown do Docsector, todos os blocos documentados, estrutura de páginas, caminhos de assets, padrões de autoria, busca via MCP e ferramentas WebMCP no navegador.
|
|
6
|
+
|
|
7
|
+
## URLs Públicas
|
|
8
|
+
|
|
9
|
+
A skill embutida é publicada como artefato estático:
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
/.well-known/agent-skills/docsector-documentation-authoring/SKILL.md
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
O índice de descoberta aponta os agentes para o mesmo arquivo e inclui um digest SHA-256:
|
|
16
|
+
|
|
17
|
+
```text
|
|
18
|
+
/.well-known/agent-skills/index.json
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## O Que a Skill Contém
|
|
22
|
+
|
|
23
|
+
<d-block-quick-links title="Referências da skill">
|
|
24
|
+
<d-block-quick-link
|
|
25
|
+
title="SKILL.md"
|
|
26
|
+
description="O fluxo compacto que os agentes carregam primeiro"
|
|
27
|
+
href="/.well-known/agent-skills/docsector-documentation-authoring/SKILL.md"
|
|
28
|
+
/>
|
|
29
|
+
<d-block-quick-link
|
|
30
|
+
title="Catálogo de blocos"
|
|
31
|
+
description="Todos os blocos Docsector, sintaxe e orientação de uso"
|
|
32
|
+
href="/.well-known/agent-skills/docsector-documentation-authoring/references/block-catalog.md"
|
|
33
|
+
/>
|
|
34
|
+
<d-block-quick-link
|
|
35
|
+
title="Estrutura de páginas"
|
|
36
|
+
description="Arquivos de página, locales, assets, exemplos e convenções de API JSON"
|
|
37
|
+
href="/.well-known/agent-skills/docsector-documentation-authoring/references/page-structure.md"
|
|
38
|
+
/>
|
|
39
|
+
<d-block-quick-link
|
|
40
|
+
title="MCP e WebMCP"
|
|
41
|
+
description="Como agentes podem buscar, ler, navegar e copiar docs ao vivo"
|
|
42
|
+
href="/.well-known/agent-skills/docsector-documentation-authoring/references/mcp-webmcp.md"
|
|
43
|
+
/>
|
|
44
|
+
</d-block-quick-links>
|
|
45
|
+
|
|
46
|
+
## Cópias Local e Publicada
|
|
47
|
+
|
|
48
|
+
O Docsector mantém duas cópias sincronizadas da mesma skill:
|
|
49
|
+
|
|
50
|
+
- `.github/skills/docsector-documentation-authoring/` para assistentes locais do repositório, como o GitHub Copilot no VS Code.
|
|
51
|
+
- `public/.well-known/agent-skills/docsector-documentation-authoring/` para o site de documentação gerado.
|
|
52
|
+
|
|
53
|
+
Durante o build, o Docsector copia o artefato público para `dist/spa/.well-known/agent-skills/` e gera o índice de descoberta.
|
|
54
|
+
|
|
55
|
+
## Retrocompatibilidade Com Scaffolds Antigos
|
|
56
|
+
|
|
57
|
+
Projetos criados antes dessa skill existir podem importá-la com o helper da CLI:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
npx docsector install-skill
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
O comando copia a skill embutida para os dois locais esperados:
|
|
64
|
+
|
|
65
|
+
- `.github/skills/docsector-documentation-authoring/`
|
|
66
|
+
- `public/.well-known/agent-skills/docsector-documentation-authoring/`
|
|
67
|
+
|
|
68
|
+
Pastas existentes são ignoradas para não sobrescrever edições locais. Use `--force` quando quiser atualizar a cópia instalada a partir do pacote:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
npx docsector install-skill --force
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
O helper não reescreve `docsector.config.js`. Depois de instalar os arquivos, habilite a descoberta com:
|
|
75
|
+
|
|
76
|
+
```javascript
|
|
77
|
+
agentSkills: {
|
|
78
|
+
enabled: true,
|
|
79
|
+
path: '/.well-known/agent-skills/index.json',
|
|
80
|
+
schema: 'https://schemas.agentskills.io/discovery/0.2.0/schema.json',
|
|
81
|
+
skills: [
|
|
82
|
+
{
|
|
83
|
+
name: 'docsector-documentation-authoring',
|
|
84
|
+
type: 'skill-md',
|
|
85
|
+
description: 'Author Docsector documentation with Markdown, custom blocks, MCP, and WebMCP.',
|
|
86
|
+
url: '/.well-known/agent-skills/docsector-documentation-authoring/SKILL.md'
|
|
87
|
+
}
|
|
88
|
+
]
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Depois execute `npx docsector build` para gerar `/.well-known/agent-skills/index.json` com o digest calculado.
|
|
93
|
+
|
|
94
|
+
## Como Agentes Devem Usar
|
|
95
|
+
|
|
96
|
+
Agentes devem carregar primeiro o `SKILL.md` e abrir os arquivos de referência apenas quando a tarefa precisar de mais detalhes.
|
|
97
|
+
|
|
98
|
+
Para exemplos atuais de páginas, agentes podem combinar a skill com as ferramentas MCP do Docsector:
|
|
99
|
+
|
|
100
|
+
```text
|
|
101
|
+
search_docsector
|
|
102
|
+
get_page_docsector
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Agentes no navegador também podem usar ferramentas WebMCP quando `navigator.modelContext` estiver disponível:
|
|
106
|
+
|
|
107
|
+
- `docs.search_docs`
|
|
108
|
+
- `docs.get_page`
|
|
109
|
+
- `docs.navigate_to`
|
|
110
|
+
- `docs.copy_current_page`
|
|
111
|
+
|
|
112
|
+
## Quando Publicar Sua Própria Skill
|
|
113
|
+
|
|
114
|
+
Publique uma skill específica do projeto quando sua documentação tiver regras de domínio que não são cobertas pela skill de autoria embutida do Docsector.
|
|
115
|
+
|
|
116
|
+
Use a configuração `agentSkills` do Docsector para expor a skill por `/.well-known/agent-skills/index.json`, e mantenha o artefato em `public/.well-known/agent-skills/...` quando quiser que o Docsector calcule o digest automaticamente.
|
|
@@ -265,6 +265,35 @@ export default {
|
|
|
265
265
|
}
|
|
266
266
|
},
|
|
267
267
|
|
|
268
|
+
'/basic/agent-skills': {
|
|
269
|
+
config: {
|
|
270
|
+
icon: 'psychology',
|
|
271
|
+
status: 'new',
|
|
272
|
+
version: 'v4.3.0',
|
|
273
|
+
meta: {
|
|
274
|
+
description: {
|
|
275
|
+
'en-US': 'Agent Skills — Documentation of Docsector Reader',
|
|
276
|
+
'pt-BR': 'Skills de Agentes — Documentacao do Docsector Reader'
|
|
277
|
+
}
|
|
278
|
+
},
|
|
279
|
+
book: 'manual',
|
|
280
|
+
menu: {},
|
|
281
|
+
subpages: {
|
|
282
|
+
showcase: false
|
|
283
|
+
}
|
|
284
|
+
},
|
|
285
|
+
data: {
|
|
286
|
+
'en-US': { title: 'Agent Skills' },
|
|
287
|
+
'pt-BR': { title: 'Skills de Agentes' }
|
|
288
|
+
},
|
|
289
|
+
metadata: {
|
|
290
|
+
tags: {
|
|
291
|
+
'en-US': 'agent skills skill md authoring blocks references mcp webmcp ai discovery well-known copilot',
|
|
292
|
+
'pt-BR': 'skills agentes skill md autoria blocos referências mcp webmcp ia descoberta well-known copilot'
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
},
|
|
296
|
+
|
|
268
297
|
// =========================================================================
|
|
269
298
|
// Content
|
|
270
299
|
// =========================================================================
|