@open-agent-toolkit/cli 0.1.21 → 0.1.22
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/assets/docs/contributing/documentation.md +6 -2
- package/assets/docs/docs-tooling/add-docs-to-a-repo.md +24 -14
- package/assets/docs/docs-tooling/commands.md +16 -14
- package/assets/docs/docs-tooling/workflows.md +15 -8
- package/assets/docs/reference/docs-index-contract.md +28 -6
- package/assets/docs/reference/index.md +1 -1
- package/assets/docs/workflows/projects/implementation-execution.md +1 -1
- package/assets/docs/workflows/skills/index.md +3 -1
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/authoring-docs/SKILL.md +135 -0
- package/assets/skills/authoring-docs/references/categories.md +251 -0
- package/assets/skills/authoring-docs/references/information-architecture.md +156 -0
- package/assets/skills/authoring-docs/references/page-types.md +119 -0
- package/assets/skills/authoring-docs/references/principles.md +98 -0
- package/assets/skills/authoring-docs/references/review-rubric.md +169 -0
- package/assets/skills/authoring-docs/references/templates.md +549 -0
- package/assets/skills/authoring-docs/references/workflow.md +133 -0
- package/assets/skills/authoring-docs/references/writing-style.md +128 -0
- package/assets/skills/oat-docs-analyze/SKILL.md +143 -18
- package/assets/skills/oat-docs-analyze/references/analysis-artifact-template.md +101 -1
- package/assets/skills/oat-docs-analyze/references/directory-assessment-criteria.md +16 -0
- package/assets/skills/oat-docs-analyze/references/quality-checklist.md +83 -3
- package/assets/skills/oat-docs-authoring/SKILL.md +193 -0
- package/assets/skills/oat-docs-authoring/references/docs-root-resolution.md +64 -0
- package/assets/skills/oat-docs-authoring/references/lifecycle-boundaries.md +51 -0
- package/assets/skills/oat-docs-authoring/references/oat-fumadocs-contract.md +77 -0
- package/assets/skills/oat-docs-authoring/references/targeted-authoring-workflow.md +61 -0
- package/assets/skills/oat-docs-authoring/references/validation.md +61 -0
- package/assets/skills/oat-docs-bootstrap/SKILL.md +15 -11
- package/assets/skills/oat-docs-bootstrap/assets/AGENTS.md.template +5 -5
- package/dist/commands/init/tools/shared/skill-manifest.d.ts +1 -1
- package/dist/commands/init/tools/shared/skill-manifest.d.ts.map +1 -1
- package/dist/commands/init/tools/shared/skill-manifest.js +2 -0
- package/package.json +2 -2
|
@@ -10,6 +10,12 @@ Treat a directory as a docs node when one or more of these is true:
|
|
|
10
10
|
- It has child directories that contain Markdown files.
|
|
11
11
|
- It represents a distinct product, package, workflow, or topic area.
|
|
12
12
|
- It is linked from another docs page as a navigable subsection.
|
|
13
|
+
- It is represented in a generated root index, sidebar metadata file, or local
|
|
14
|
+
`## Contents` map.
|
|
15
|
+
|
|
16
|
+
Treat a directory as asset-only when it contains no Markdown files, contains no
|
|
17
|
+
Markdown-bearing child directory, and is only referenced as an image/file asset
|
|
18
|
+
container. Asset-only directories do not need their own `index.md`.
|
|
13
19
|
|
|
14
20
|
## Severity guidance
|
|
15
21
|
|
|
@@ -20,14 +26,21 @@ Use `High` when the directory:
|
|
|
20
26
|
- Is a top-level docs section with no `index.md`
|
|
21
27
|
- Contains multiple pages or subtrees but lacks a local map
|
|
22
28
|
- Is important to setup, operations, or contributor workflows
|
|
29
|
+
- Is listed in a parent map or generated index but has no useful entrypoint
|
|
23
30
|
|
|
24
31
|
### Medium
|
|
25
32
|
|
|
26
33
|
Use `Medium` when the directory:
|
|
27
34
|
|
|
28
35
|
- Has an `index.md` but no useful `## Contents`
|
|
36
|
+
- Has a placeholder-only `## Contents`, such as an empty list, HTML comment, or
|
|
37
|
+
generic scaffold text
|
|
29
38
|
- Still uses `overview.md` as the directory entrypoint
|
|
30
39
|
- Has a partial map that omits key siblings or child directories
|
|
40
|
+
- Is a single-page directory whose `index.md` does not orient readers to the
|
|
41
|
+
page's purpose or downstream links
|
|
42
|
+
- Uses `.mdx` for plain Markdown content without local guidance or JSX/component
|
|
43
|
+
evidence
|
|
31
44
|
|
|
32
45
|
### Low
|
|
33
46
|
|
|
@@ -35,6 +48,8 @@ Use `Low` when the directory:
|
|
|
35
48
|
|
|
36
49
|
- Is technically covered but the descriptions are vague
|
|
37
50
|
- Has minor organization issues that do not block discovery
|
|
51
|
+
- Has ordering drift between authored maps and generated indexes that does not
|
|
52
|
+
break reachability and may reflect documented generator behavior
|
|
38
53
|
|
|
39
54
|
## Exclusions
|
|
40
55
|
|
|
@@ -44,3 +59,4 @@ Do not require `index.md` for:
|
|
|
44
59
|
- `site/`
|
|
45
60
|
- build output directories
|
|
46
61
|
- hidden tool directories that are not part of the docs surface
|
|
62
|
+
- asset-only image, media, or attachment directories
|
|
@@ -6,8 +6,45 @@ Use this checklist when evaluating a docs surface.
|
|
|
6
6
|
|
|
7
7
|
- Every docs directory has an `index.md`.
|
|
8
8
|
- Every `index.md` includes a `## Contents` section.
|
|
9
|
+
- `## Contents` is useful content, not a placeholder comment, empty list, or
|
|
10
|
+
generic "add links here" scaffold.
|
|
9
11
|
- `## Contents` links describe sibling files and immediate child directories.
|
|
12
|
+
- Parent `## Contents` maps include immediate child directories that contain
|
|
13
|
+
docs.
|
|
14
|
+
- Single-page directories still expose a useful `index.md` entrypoint or local
|
|
15
|
+
section map.
|
|
16
|
+
- Asset-only directories are exempt when they contain no Markdown content and
|
|
17
|
+
are not linked as navigable docs sections.
|
|
10
18
|
- `overview.md` is not used as the directory entrypoint.
|
|
19
|
+
- Plain docs content uses `.md` by default; `.mdx` is reserved for pages that
|
|
20
|
+
need JSX/components or are explicitly allowed by local guidance.
|
|
21
|
+
|
|
22
|
+
## Links
|
|
23
|
+
|
|
24
|
+
- Local relative Markdown links resolve from the page where they appear.
|
|
25
|
+
- OAT/Fumadocs docs apps use `.md`-suffixed local links for docs pages,
|
|
26
|
+
including `subdir/index.md` for child directory maps.
|
|
27
|
+
- Anchors on `.md` links are allowed, such as `page.md#section`.
|
|
28
|
+
- Extensionless local docs links are flagged when local guidance follows the
|
|
29
|
+
OAT/Fumadocs `.md` link convention.
|
|
30
|
+
- Inline-code examples, fenced snippets, placeholder templates, external URLs,
|
|
31
|
+
anchors-only links, `mailto:` links, and asset/image links are not false
|
|
32
|
+
positives for broken docs-page links.
|
|
33
|
+
|
|
34
|
+
## Markdown Hygiene
|
|
35
|
+
|
|
36
|
+
- Opening code fences have language identifiers.
|
|
37
|
+
- Shell command examples follow the repo's documented fence convention; default
|
|
38
|
+
to `sh` unless local guidance uses `bash` or the block requires Bash-only
|
|
39
|
+
syntax.
|
|
40
|
+
- Headings are non-empty.
|
|
41
|
+
- Each authored page has at most one document-level H1 unless the file is an
|
|
42
|
+
intentional imported README or generated/imported artifact.
|
|
43
|
+
- Frontmatter descriptions respect local length limits when those limits are
|
|
44
|
+
documented.
|
|
45
|
+
- Descriptions are not ellipsis-truncated.
|
|
46
|
+
- Titles, descriptions, and metadata do not look like copied README boilerplate
|
|
47
|
+
when rendered in docs navigation or search.
|
|
11
48
|
|
|
12
49
|
## Accuracy
|
|
13
50
|
|
|
@@ -23,9 +60,50 @@ Use this checklist when evaluating a docs surface.
|
|
|
23
60
|
|
|
24
61
|
## Docs App Contract
|
|
25
62
|
|
|
26
|
-
- `mkdocs.yml` exists
|
|
27
|
-
-
|
|
28
|
-
- `docs/contributing.md` documents enabled
|
|
63
|
+
- For `mkdocs-app`, `mkdocs.yml` exists.
|
|
64
|
+
- For `mkdocs-app`, navigation is consistent with the docs tree.
|
|
65
|
+
- For `mkdocs-app`, `docs/contributing.md` documents enabled
|
|
66
|
+
plugins/extensions when local convention requires it.
|
|
67
|
+
- For `oat-fumadocs-app`, OAT config or app-local evidence identifies the docs
|
|
68
|
+
app before any generic root `docs/` fallback.
|
|
69
|
+
- For `oat-fumadocs-app`, `.oat/config.json` `documentation.root` /
|
|
70
|
+
`documentation.tooling`, `apps/*/source.config.*`, `apps/*/next.config.*`, or
|
|
71
|
+
equivalent local guidance backs the classification.
|
|
72
|
+
- For `oat-fumadocs-app`, the authored docs source root exists and is distinct
|
|
73
|
+
from generated app-root indexes/manifests when the app uses generated output.
|
|
74
|
+
- For `oat-fumadocs-app`, generated app-root index evidence exists when local
|
|
75
|
+
config or guidance declares one.
|
|
76
|
+
- OAT/Fumadocs docs-app guidance identifies the authored docs source root.
|
|
77
|
+
- Local guidance explains that generated root indexes/manifests are derived
|
|
78
|
+
output and must not be hand-edited.
|
|
79
|
+
- Local guidance states that each content directory needs `index.md` and each
|
|
80
|
+
authored `index.md` needs a useful `## Contents`.
|
|
81
|
+
- Local guidance documents `.md`-suffixed relative docs links, including
|
|
82
|
+
`subdir/index.md`.
|
|
83
|
+
- Local guidance explains `.md` vs `.mdx` expectations.
|
|
84
|
+
- Local guidance routes broad read-only audits to `oat-docs-analyze` and
|
|
85
|
+
approved bulk changes to `oat-docs-apply`.
|
|
86
|
+
- Local guidance tells agents to regenerate or freshness-check generated
|
|
87
|
+
artifacts after source docs edits.
|
|
88
|
+
- Older analyze/apply aliases are mapped to the current flow or removed.
|
|
89
|
+
|
|
90
|
+
## Coverage
|
|
91
|
+
|
|
92
|
+
- App/service docs cover purpose, audience, local setup, testing, configuration,
|
|
93
|
+
deployment/release, observability, runbooks, rollback, ownership,
|
|
94
|
+
support/escalation, troubleshooting, and common failure modes when those
|
|
95
|
+
surfaces exist in repo evidence.
|
|
96
|
+
- API docs for broad API surfaces include navigable contract-grade references:
|
|
97
|
+
routes/endpoints, request/response shapes, authentication, error modes,
|
|
98
|
+
examples, and versioning when applicable.
|
|
99
|
+
- CLI docs expose command groups, flags, output modes, destructive behavior,
|
|
100
|
+
dry-run/force options, scripting contracts, exit-code behavior when sourced,
|
|
101
|
+
and common workflow examples.
|
|
102
|
+
- Operations docs replace "Future Topics" placeholders with concrete pages or
|
|
103
|
+
explicit owner-reviewed gaps.
|
|
104
|
+
- Unsupported or unverifiable claims about owners, support, deployment,
|
|
105
|
+
observability, rollback, external integrations, or production behavior are
|
|
106
|
+
marked for owner review instead of being treated as facts.
|
|
29
107
|
|
|
30
108
|
## Claims Are Evidence-Backed
|
|
31
109
|
|
|
@@ -44,5 +122,7 @@ Use this checklist when evaluating a docs surface.
|
|
|
44
122
|
- Nav points to missing files.
|
|
45
123
|
- Files exist but are not represented in indexes/nav.
|
|
46
124
|
- Index descriptions no longer match the content they point to.
|
|
125
|
+
- Generated root indexes include stale paths, omit authored-map entries, or
|
|
126
|
+
order entries differently without documented generator semantics.
|
|
47
127
|
- Commands mention removed or renamed tooling.
|
|
48
128
|
- Docs claim plugin support or structure rules that are not backed by current repo evidence.
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: oat-docs-authoring
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
description: Use when authoring or restructuring targeted content inside an existing OAT/Fumadocs docs app. Preserves OAT docs navigation, generated indexes, and validation boundaries.
|
|
5
|
+
argument-hint: '[docs task or target path]'
|
|
6
|
+
disable-model-invocation: false
|
|
7
|
+
allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion
|
|
8
|
+
user-invocable: true
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# OAT Docs Authoring
|
|
12
|
+
|
|
13
|
+
Use this skill for targeted documentation authoring and small structural edits
|
|
14
|
+
inside an existing OAT/Fumadocs docs app.
|
|
15
|
+
|
|
16
|
+
This is a thin wrapper over `authoring-docs`. Load `authoring-docs` for
|
|
17
|
+
universal evidence gathering, page-type selection, writing style, templates,
|
|
18
|
+
and review standards. Keep this wrapper focused on OAT/Fumadocs placement,
|
|
19
|
+
navigation, generated artifacts, validation, and lifecycle boundaries.
|
|
20
|
+
|
|
21
|
+
## Prerequisites
|
|
22
|
+
|
|
23
|
+
- The repository already has an OAT/Fumadocs docs app or a clearly identified
|
|
24
|
+
target docs app that follows OAT conventions.
|
|
25
|
+
- The task is a targeted authoring, restructuring, repair, or review task, not
|
|
26
|
+
a new docs-app bootstrap, broad audit, or approved bulk-apply workflow.
|
|
27
|
+
|
|
28
|
+
## Mode Assertion
|
|
29
|
+
|
|
30
|
+
**OAT MODE: Docs Authoring Wrapper**
|
|
31
|
+
|
|
32
|
+
**Purpose:** Author or restructure focused docs content while preserving the
|
|
33
|
+
OAT/Fumadocs source-of-truth contract.
|
|
34
|
+
|
|
35
|
+
**BLOCKED Activities:**
|
|
36
|
+
|
|
37
|
+
- Bootstrapping a new docs app.
|
|
38
|
+
- Running a broad read-only docs audit as an ad hoc manual review.
|
|
39
|
+
- Applying a batch of approved audit recommendations.
|
|
40
|
+
- Writing project-derived release or feature docs from active OAT project
|
|
41
|
+
artifacts.
|
|
42
|
+
- Running a full MkDocs-to-OAT-Fumadocs migration.
|
|
43
|
+
- Treating generated navigation artifacts as editable source.
|
|
44
|
+
|
|
45
|
+
**ALLOWED Activities:**
|
|
46
|
+
|
|
47
|
+
- Creating or improving targeted docs pages inside an existing docs app.
|
|
48
|
+
- Moving or renaming a small number of docs pages when the local maps are
|
|
49
|
+
updated in the same change.
|
|
50
|
+
- Repairing local navigation, frontmatter, link, or Markdown issues near the
|
|
51
|
+
requested target.
|
|
52
|
+
- Reviewing a docs change for OAT/Fumadocs contract fit.
|
|
53
|
+
|
|
54
|
+
**Self-Correction Protocol:**
|
|
55
|
+
If you catch yourself:
|
|
56
|
+
|
|
57
|
+
- Writing general documentation guidance already covered by `authoring-docs` ->
|
|
58
|
+
STOP and reference the baseline instead.
|
|
59
|
+
- Expanding a targeted task into a repo-wide audit -> STOP and route to
|
|
60
|
+
`oat-docs-analyze`.
|
|
61
|
+
- Applying a broad set of recommendations -> STOP and route to `oat-docs-apply`.
|
|
62
|
+
- Bootstrapping or repairing a docs app shell -> STOP and route to
|
|
63
|
+
`oat-docs-bootstrap`.
|
|
64
|
+
- Migrating an existing MkDocs docs app to OAT/Fumadocs -> STOP and use the
|
|
65
|
+
standalone migration guide; bootstrap is not the migration workflow.
|
|
66
|
+
- Editing generated root indexes or derived navigation output -> STOP and move
|
|
67
|
+
the change back to authored docs sources.
|
|
68
|
+
- Treating generated root indexes as proof of local navigation health -> STOP
|
|
69
|
+
and inspect the nearest authored `## Contents` map.
|
|
70
|
+
|
|
71
|
+
**Recovery:**
|
|
72
|
+
|
|
73
|
+
1. Re-state the narrower target and the lifecycle skill, if any, that owns the
|
|
74
|
+
larger work.
|
|
75
|
+
2. Continue only with authored docs files and local validation relevant to the
|
|
76
|
+
target.
|
|
77
|
+
|
|
78
|
+
## Progress Indicators (User-Facing)
|
|
79
|
+
|
|
80
|
+
When executing this skill, provide lightweight progress feedback so the user can
|
|
81
|
+
tell what is happening after they confirm.
|
|
82
|
+
|
|
83
|
+
- Print a phase banner once at start:
|
|
84
|
+
|
|
85
|
+
```txt
|
|
86
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
87
|
+
OAT ▸ DOCS AUTHORING
|
|
88
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
- Print each step indicator at the start of that step, not all at once upfront:
|
|
92
|
+
- `[1/5] Resolving docs app and local instructions...`
|
|
93
|
+
- `[2/5] Inspecting source evidence and navigation maps...`
|
|
94
|
+
- `[3/5] Authoring targeted docs changes...`
|
|
95
|
+
- `[4/5] Regenerating or checking derived docs artifacts...`
|
|
96
|
+
- `[5/5] Running validation and preparing handoff...`
|
|
97
|
+
|
|
98
|
+
## Process
|
|
99
|
+
|
|
100
|
+
### Step 1: Resolve the Authoring Target
|
|
101
|
+
|
|
102
|
+
Identify the docs task, target reader, docs app root, authored docs root, and
|
|
103
|
+
nearest local instruction files. Read repository and docs-app guidance before
|
|
104
|
+
choosing placement.
|
|
105
|
+
|
|
106
|
+
Use `references/lifecycle-boundaries.md` first when the request may be setup,
|
|
107
|
+
audit, apply, project-documentation, or migration work.
|
|
108
|
+
|
|
109
|
+
Use `references/docs-root-resolution.md` before assuming any path. OAT docs apps
|
|
110
|
+
commonly live outside `apps/oat-docs`, and `.oat/config.json` may describe the
|
|
111
|
+
generated root index separately from the authored docs root.
|
|
112
|
+
|
|
113
|
+
If the request needs universal documentation standards, load `authoring-docs`
|
|
114
|
+
and use its reference map for evidence gathering, page type, writing style,
|
|
115
|
+
templates, and review rubric.
|
|
116
|
+
|
|
117
|
+
### Step 2: Inspect Evidence and Local Maps
|
|
118
|
+
|
|
119
|
+
Ground every new or changed claim in source evidence. Inspect the nearest
|
|
120
|
+
authored navigation map for the target area before adding, moving, or deleting a
|
|
121
|
+
page.
|
|
122
|
+
|
|
123
|
+
Use `references/targeted-authoring-workflow.md` for the focused edit loop.
|
|
124
|
+
|
|
125
|
+
### Step 3: Edit Authored Docs Sources
|
|
126
|
+
|
|
127
|
+
Edit source docs pages and local maps together. Keep changes near the requested
|
|
128
|
+
target unless the user explicitly approved broader restructuring.
|
|
129
|
+
|
|
130
|
+
Use `references/oat-fumadocs-contract.md` for the concrete authored-source
|
|
131
|
+
rules: `index.md`, `## Contents`, `.md` links, generated root indexes, Markdown
|
|
132
|
+
defaults, and asset-only exceptions.
|
|
133
|
+
|
|
134
|
+
Prefer plain Markdown for content pages. Use MDX only when local guidance and
|
|
135
|
+
the task require JSX or custom components.
|
|
136
|
+
|
|
137
|
+
### Step 4: Check Generated Artifacts and Validation
|
|
138
|
+
|
|
139
|
+
Regenerate or freshness-check derived docs artifacts using local scripts when
|
|
140
|
+
the change affects navigation or generated indexes. Run the docs app's local
|
|
141
|
+
validation commands when they exist and are meaningful.
|
|
142
|
+
|
|
143
|
+
Use `references/validation.md` for script discovery, generated-index checks,
|
|
144
|
+
and render spot-check guidance.
|
|
145
|
+
|
|
146
|
+
### Step 5: Handoff
|
|
147
|
+
|
|
148
|
+
Summarize changed files, evidence inspected, local maps updated, generated
|
|
149
|
+
artifacts regenerated or intentionally not run, validation commands, unresolved
|
|
150
|
+
facts, and any recommended lifecycle follow-up.
|
|
151
|
+
|
|
152
|
+
## Reference Map
|
|
153
|
+
|
|
154
|
+
Load only the references needed for the task:
|
|
155
|
+
|
|
156
|
+
- `references/docs-root-resolution.md`: resolve docs app root, authored docs
|
|
157
|
+
root, generated root index, and local instruction surfaces.
|
|
158
|
+
- `references/lifecycle-boundaries.md`: route setup, audits, applies,
|
|
159
|
+
project-derived docs, and migrations to the correct workflow owner.
|
|
160
|
+
- `references/oat-fumadocs-contract.md`: OAT/Fumadocs authored-source and
|
|
161
|
+
generated-artifact contract.
|
|
162
|
+
- `references/targeted-authoring-workflow.md`: focused OAT/Fumadocs authoring
|
|
163
|
+
flow for small edits.
|
|
164
|
+
- `references/validation.md`: local validation, generated-index, and render
|
|
165
|
+
spot-check guidance.
|
|
166
|
+
- `authoring-docs`: universal documentation-quality baseline.
|
|
167
|
+
|
|
168
|
+
## Examples
|
|
169
|
+
|
|
170
|
+
Basic usage:
|
|
171
|
+
|
|
172
|
+
```txt
|
|
173
|
+
/oat-docs-authoring apps/oat-docs/docs/reference/
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
Conversational triggers:
|
|
177
|
+
|
|
178
|
+
```txt
|
|
179
|
+
Add a new OAT docs page and wire it into the local Contents map.
|
|
180
|
+
Move this Fumadocs page without breaking generated navigation.
|
|
181
|
+
Review this docs change for OAT index contract issues.
|
|
182
|
+
Fix the local docs links near this page.
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
## Success Criteria
|
|
186
|
+
|
|
187
|
+
- The task stayed within targeted authoring or restructuring scope.
|
|
188
|
+
- Universal docs quality came from `authoring-docs` instead of duplicated
|
|
189
|
+
wrapper prose.
|
|
190
|
+
- Authored docs source files and local maps were updated together.
|
|
191
|
+
- Generated artifacts were checked or regenerated when navigation changed.
|
|
192
|
+
- Local validation ran, or the handoff explains why it was not available or not
|
|
193
|
+
meaningful.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: OAT docs root resolution
|
|
3
|
+
description: How to resolve OAT/Fumadocs app roots, authored docs roots, generated index outputs, and local instruction surfaces before editing.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# OAT Docs Root Resolution
|
|
7
|
+
|
|
8
|
+
Do not assume the docs app lives at `apps/oat-docs`. Resolve the app and source
|
|
9
|
+
roots before editing.
|
|
10
|
+
|
|
11
|
+
## Resolution Order
|
|
12
|
+
|
|
13
|
+
1. Read repo-level instructions.
|
|
14
|
+
- Root `AGENTS.md` often names the docs app root, framework, and generated
|
|
15
|
+
index file.
|
|
16
|
+
- A docs-app `AGENTS.md` may override or narrow the repo-level guidance.
|
|
17
|
+
2. Inspect `.oat/config.json`.
|
|
18
|
+
- Prefer documented `documentation.root` values for the docs app root.
|
|
19
|
+
- Treat `documentation.index` as the generated root index when present; it
|
|
20
|
+
may not be the same as the authored docs root.
|
|
21
|
+
- If config is incomplete, keep resolving from local files instead of
|
|
22
|
+
guessing.
|
|
23
|
+
3. Inspect package scripts in likely docs app directories.
|
|
24
|
+
- Look for `predev`, `prebuild`, `fumadocs-mdx`, `oat docs generate-index`,
|
|
25
|
+
docs lint/format scripts, and local build commands.
|
|
26
|
+
- Use the scripts as evidence for generated-artifact ownership and
|
|
27
|
+
validation, not as a substitute for reading docs instructions.
|
|
28
|
+
4. Inspect Fumadocs files when the task touches framework behavior.
|
|
29
|
+
- `source.config.ts`, `next.config.*`, and `app/layout.*` can reveal source
|
|
30
|
+
config, transforms, base paths, static export behavior, branding, metadata,
|
|
31
|
+
or custom components.
|
|
32
|
+
- Content-only edits usually should not modify these files.
|
|
33
|
+
- Site chrome, browser metadata, search behavior, image handling, and base
|
|
34
|
+
paths can be wired separately. Preserve local customizations unless the
|
|
35
|
+
user explicitly asked for app-shell work.
|
|
36
|
+
5. Resolve the authored docs root.
|
|
37
|
+
- The common root is `<docs-app>/docs`, but local guidance is authoritative.
|
|
38
|
+
- Find the top-level authored `index.md`, then follow `## Contents` maps to
|
|
39
|
+
the target area.
|
|
40
|
+
|
|
41
|
+
## Instruction Surfaces
|
|
42
|
+
|
|
43
|
+
Read applicable local guidance before placing content:
|
|
44
|
+
|
|
45
|
+
- repo-root `AGENTS.md`;
|
|
46
|
+
- docs-app `AGENTS.md`;
|
|
47
|
+
- nested `AGENTS.md` files in the target area;
|
|
48
|
+
- human contributing or documentation-authoring pages;
|
|
49
|
+
- nearest parent `index.md` with `## Contents`.
|
|
50
|
+
|
|
51
|
+
Keep the audiences distinct. Runtime agent instructions belong in `AGENTS.md`;
|
|
52
|
+
rendered human docs should describe durable authoring conventions and shipped
|
|
53
|
+
behavior.
|
|
54
|
+
|
|
55
|
+
## Output of This Step
|
|
56
|
+
|
|
57
|
+
Before editing, know:
|
|
58
|
+
|
|
59
|
+
- docs app root;
|
|
60
|
+
- authored docs root;
|
|
61
|
+
- generated root index path, if any;
|
|
62
|
+
- nearest parent `index.md` map;
|
|
63
|
+
- relevant local validation scripts;
|
|
64
|
+
- any local exception or router that affects placement.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: OAT docs authoring lifecycle boundaries
|
|
3
|
+
description: Routing and self-correction rules for OAT docs setup, audit, apply, project-documentation, and migration workflows.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# OAT Docs Authoring Lifecycle Boundaries
|
|
7
|
+
|
|
8
|
+
Use `oat-docs-authoring` for targeted authoring and small local restructuring.
|
|
9
|
+
Route larger lifecycle work to its owner.
|
|
10
|
+
|
|
11
|
+
## Routing Rules
|
|
12
|
+
|
|
13
|
+
| Request shape | Owner | Why |
|
|
14
|
+
| ----------------------------------------------------------------------- | -------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
|
|
15
|
+
| New docs app setup, scaffold repair, package/app shell bootstrap | `oat-docs-bootstrap` | Bootstrap owns preflight, inputs, `oat docs init`, post-scaffold checks, config inspection, and walkthrough. |
|
|
16
|
+
| Read-only docs audit, structure analysis, coverage review, drift report | `oat-docs-analyze` | Analyze owns inventory, evidence gathering, severity-rated findings, and analysis artifacts. |
|
|
17
|
+
| Applying approved analysis recommendations or batch docs changes | `oat-docs-apply` | Apply owns branch creation, approved changes, deterministic nav sync, verification, commit, and optional PR. |
|
|
18
|
+
| Docs updates derived from an active OAT project | `oat-project-document` | Project-document owns artifact/code scanning, docs delta planning, approval, and project provenance. |
|
|
19
|
+
| Existing MkDocs app to OAT/Fumadocs migration | Standalone migration guide | Migration needs inventory, syntax conversion, app-shell work, render checks, config/CI changes, and owner-review handling. |
|
|
20
|
+
|
|
21
|
+
If a request mixes targeted authoring with lifecycle work, split it:
|
|
22
|
+
|
|
23
|
+
1. Complete the lifecycle step through the owning skill or guide.
|
|
24
|
+
2. Return to `oat-docs-authoring` only for a focused follow-up edit.
|
|
25
|
+
|
|
26
|
+
## Self-Correction Rules
|
|
27
|
+
|
|
28
|
+
Stop and reroute when you notice:
|
|
29
|
+
|
|
30
|
+
- a new docs app is needed before content can be authored;
|
|
31
|
+
- the user asked for "audit docs", "find all gaps", or similar broad analysis;
|
|
32
|
+
- an analysis artifact or recommendation list is the source of truth;
|
|
33
|
+
- the docs change is derived from OAT project artifacts rather than a direct
|
|
34
|
+
authoring request;
|
|
35
|
+
- the migration requires converting MkDocs config, Python tooling, legacy
|
|
36
|
+
syntax, deploy workflows, or `overview.md` trees;
|
|
37
|
+
- you are hand-editing a generated root index, generated route output,
|
|
38
|
+
`mkdocs.yml` nav, or other derived artifact;
|
|
39
|
+
- you are treating the generated root index as source instead of checking the
|
|
40
|
+
nearest authored `## Contents`.
|
|
41
|
+
|
|
42
|
+
## Migration Pointer
|
|
43
|
+
|
|
44
|
+
Full MkDocs-to-OAT-Fumadocs migration is not bootstrap and is not targeted
|
|
45
|
+
authoring. Use the standalone `mkdocs-to-oat-fumadocs-refactor-guide.md` handoff
|
|
46
|
+
when available, and keep the migration in an OAT project or explicit migration
|
|
47
|
+
branch with owner-review items for unverifiable claims.
|
|
48
|
+
|
|
49
|
+
For migration-sensitive follow-up after the migration workflow has created a
|
|
50
|
+
Fumadocs app, this wrapper can help with a specific page, local map, link, or
|
|
51
|
+
render issue. Keep that follow-up narrow.
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: OAT Fumadocs authoring contract
|
|
3
|
+
description: Authored source, navigation, link, file-type, generated-index, and exception rules for OAT/Fumadocs docs apps.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# OAT Fumadocs Authoring Contract
|
|
7
|
+
|
|
8
|
+
The OAT/Fumadocs contract is tooling-critical. It is not just style.
|
|
9
|
+
|
|
10
|
+
## Authored Source of Truth
|
|
11
|
+
|
|
12
|
+
- Author content under the authored docs root, usually `docs/` inside the docs
|
|
13
|
+
app.
|
|
14
|
+
- Every Markdown-bearing content directory has an authored `index.md`.
|
|
15
|
+
- Every authored `index.md` that represents a content directory has a
|
|
16
|
+
`## Contents` section.
|
|
17
|
+
- `## Contents` lists sibling pages and immediate child directories for that
|
|
18
|
+
directory.
|
|
19
|
+
- If you create a child directory, create `child/index.md` and link it from the
|
|
20
|
+
parent as `child/index.md`.
|
|
21
|
+
|
|
22
|
+
## Links in `## Contents`
|
|
23
|
+
|
|
24
|
+
Use file-path-friendly relative Markdown links:
|
|
25
|
+
|
|
26
|
+
- leaf page: `[Title](page.md)`;
|
|
27
|
+
- child directory: `[Section](section/index.md)`;
|
|
28
|
+
- avoid extensionless local docs links for new authored navigation entries;
|
|
29
|
+
- preserve anchors only when the target heading exists and the local renderer
|
|
30
|
+
supports the anchor.
|
|
31
|
+
|
|
32
|
+
Existing extensionless links are drift, not precedent. Normalize them only when
|
|
33
|
+
the task scope or an approved recommendation covers that change.
|
|
34
|
+
|
|
35
|
+
## File Types
|
|
36
|
+
|
|
37
|
+
- Prefer `.md` for plain content pages.
|
|
38
|
+
- Use `.mdx` only for pages that need JSX, imports, custom components, or other
|
|
39
|
+
MDX-only behavior.
|
|
40
|
+
- Do not create `overview.md` as a directory entrypoint. Use `index.md` with
|
|
41
|
+
`## Contents`.
|
|
42
|
+
- Add or preserve at least `title` and `description` frontmatter on touched
|
|
43
|
+
pages unless local guidance defines a stricter schema.
|
|
44
|
+
|
|
45
|
+
## Generated Root Indexes
|
|
46
|
+
|
|
47
|
+
Many OAT/Fumadocs apps have an app-root generated `index.md` that rolls up the
|
|
48
|
+
authored docs tree. Treat it as generated output.
|
|
49
|
+
|
|
50
|
+
- Do not hand-edit generated root indexes.
|
|
51
|
+
- Regenerate or freshness-check them through local scripts when navigation
|
|
52
|
+
changes.
|
|
53
|
+
- Do not treat a generated-root entry as proof that the nearest parent
|
|
54
|
+
`## Contents` is healthy.
|
|
55
|
+
- If generated output is intentionally gitignored or locally absent, record that
|
|
56
|
+
in the handoff instead of inventing a manual replacement.
|
|
57
|
+
|
|
58
|
+
## Exceptions and Local Extensions
|
|
59
|
+
|
|
60
|
+
- Asset-only directories do not need `index.md` unless local guidance says so.
|
|
61
|
+
- Build output, hidden tool directories, and generated artifacts are not content
|
|
62
|
+
directories.
|
|
63
|
+
- Optional Fumadocs metadata files, such as `meta.json`, may refine sidebar
|
|
64
|
+
presentation when local style uses them. They do not replace `## Contents`.
|
|
65
|
+
- Preserve local audience routers, ownership notes, and app-shell
|
|
66
|
+
customizations.
|
|
67
|
+
|
|
68
|
+
## Quick Check
|
|
69
|
+
|
|
70
|
+
For every touched directory or page, confirm:
|
|
71
|
+
|
|
72
|
+
- content directory has `index.md`;
|
|
73
|
+
- local `index.md` has useful `## Contents`;
|
|
74
|
+
- new links include `.md` or `subdir/index.md`;
|
|
75
|
+
- generated root index was not hand-edited;
|
|
76
|
+
- `.mdx` has a real reason;
|
|
77
|
+
- no new `overview.md` entrypoint was introduced.
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Targeted OAT docs authoring workflow
|
|
3
|
+
description: Focused edit loop for small OAT/Fumadocs documentation authoring and restructuring tasks.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Targeted OAT Docs Authoring Workflow
|
|
7
|
+
|
|
8
|
+
Use this workflow when the user asks for a focused docs addition, repair, move,
|
|
9
|
+
or review inside an existing OAT/Fumadocs docs app.
|
|
10
|
+
|
|
11
|
+
## 1. Bound the Change
|
|
12
|
+
|
|
13
|
+
- Restate the requested target in terms of pages or directories.
|
|
14
|
+
- Identify whether the work is content authoring, local restructuring, link
|
|
15
|
+
repair, or review.
|
|
16
|
+
- If the task becomes setup, repo-wide audit, recommendation-driven apply,
|
|
17
|
+
project-derived documentation, or full migration work, stop and route through
|
|
18
|
+
`references/lifecycle-boundaries.md`.
|
|
19
|
+
|
|
20
|
+
## 2. Gather Evidence
|
|
21
|
+
|
|
22
|
+
- Read local instructions before editing.
|
|
23
|
+
- Inspect current docs pages in the target area.
|
|
24
|
+
- Inspect source code, package scripts, CLI help, schemas, tests, or deployment
|
|
25
|
+
files needed to support factual claims.
|
|
26
|
+
- Use `authoring-docs` for page type, evidence quality, writing style,
|
|
27
|
+
templates, and review rubric.
|
|
28
|
+
|
|
29
|
+
## 3. Preserve Local Navigation
|
|
30
|
+
|
|
31
|
+
- Read the nearest authored map before changing a page.
|
|
32
|
+
- For moves or renames, update links to the old path in the same change.
|
|
33
|
+
- Preserve local audience routers, area ownership notes, and sidebar metadata
|
|
34
|
+
when present.
|
|
35
|
+
|
|
36
|
+
For page moves and renames:
|
|
37
|
+
|
|
38
|
+
- update both the old parent and new parent `## Contents` sections;
|
|
39
|
+
- search for links to the old path before finishing;
|
|
40
|
+
- preserve optional local sidebar metadata, such as `meta.json`, when present;
|
|
41
|
+
- regenerate or freshness-check the generated root index after authored maps
|
|
42
|
+
change;
|
|
43
|
+
- do not treat a generated-root entry as proof that the nearest parent map is
|
|
44
|
+
correct.
|
|
45
|
+
|
|
46
|
+
## 4. Validate Locally
|
|
47
|
+
|
|
48
|
+
- Read package scripts before choosing validation commands.
|
|
49
|
+
- Run generation or validation scripts that are relevant to the touched files.
|
|
50
|
+
- For render-sensitive Markdown, inspect the rendered result when practical.
|
|
51
|
+
|
|
52
|
+
## 5. Report Clearly
|
|
53
|
+
|
|
54
|
+
Handoff with:
|
|
55
|
+
|
|
56
|
+
- files changed;
|
|
57
|
+
- source evidence inspected;
|
|
58
|
+
- maps and links updated;
|
|
59
|
+
- generated artifacts checked or regenerated;
|
|
60
|
+
- validation command results;
|
|
61
|
+
- unresolved facts or owner-review items.
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: OAT docs authoring validation
|
|
3
|
+
description: Local validation, generated-index checks, and render spot-check guidance for targeted OAT/Fumadocs docs changes.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# OAT Docs Authoring Validation
|
|
7
|
+
|
|
8
|
+
Validation is local to the docs app. Read scripts and instructions before
|
|
9
|
+
choosing commands.
|
|
10
|
+
|
|
11
|
+
## Script Discovery
|
|
12
|
+
|
|
13
|
+
Inspect the docs app `package.json` and local instructions for:
|
|
14
|
+
|
|
15
|
+
- `predev` or `prebuild` generation steps;
|
|
16
|
+
- `fumadocs-mdx`;
|
|
17
|
+
- `oat docs generate-index`;
|
|
18
|
+
- docs lint, format, type-check, test, or build scripts;
|
|
19
|
+
- intentionally disabled or no-op scripts.
|
|
20
|
+
|
|
21
|
+
Use the local script names and package manager style already present in the
|
|
22
|
+
repo. Do not invent universal docs commands.
|
|
23
|
+
|
|
24
|
+
## Generated Index Checks
|
|
25
|
+
|
|
26
|
+
When navigation, file placement, or `## Contents` changes:
|
|
27
|
+
|
|
28
|
+
- regenerate the generated root index through the local command when available;
|
|
29
|
+
- if generation is tied to `predev` or `prebuild`, run the smallest local
|
|
30
|
+
command that updates or checks the generated output;
|
|
31
|
+
- inspect the generated diff for stale paths, missing pages, unexpected
|
|
32
|
+
ordering drift, or missing generated-file warning banners;
|
|
33
|
+
- leave generated output unedited by hand.
|
|
34
|
+
|
|
35
|
+
If generated output is ignored, absent by policy, or cannot be produced in the
|
|
36
|
+
current environment, record the exact reason in the handoff.
|
|
37
|
+
|
|
38
|
+
## Local Contract Checks
|
|
39
|
+
|
|
40
|
+
Before finishing:
|
|
41
|
+
|
|
42
|
+
- every touched content directory has `index.md`;
|
|
43
|
+
- every touched authored `index.md` has a meaningful `## Contents`;
|
|
44
|
+
- parent maps include new or moved immediate children;
|
|
45
|
+
- links to moved files were updated;
|
|
46
|
+
- new local navigation links use `.md` or `subdir/index.md`;
|
|
47
|
+
- no new `overview.md` or unnecessary `.mdx` page was introduced.
|
|
48
|
+
|
|
49
|
+
## Render Spot Checks
|
|
50
|
+
|
|
51
|
+
Build success is not always enough for render-sensitive content. Spot-check the
|
|
52
|
+
rendered result when changes include:
|
|
53
|
+
|
|
54
|
+
- migrated MkDocs syntax;
|
|
55
|
+
- callouts, tabs, Mermaid, images, iframes, or custom MDX components;
|
|
56
|
+
- large link rewrites or directory moves;
|
|
57
|
+
- frontmatter or metadata behavior;
|
|
58
|
+
- app-shell or layout changes.
|
|
59
|
+
|
|
60
|
+
Use the app's local dev or build workflow when practical. If rendering cannot
|
|
61
|
+
be checked, state that explicitly.
|