@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.
Files changed (34) hide show
  1. package/assets/docs/contributing/documentation.md +6 -2
  2. package/assets/docs/docs-tooling/add-docs-to-a-repo.md +24 -14
  3. package/assets/docs/docs-tooling/commands.md +16 -14
  4. package/assets/docs/docs-tooling/workflows.md +15 -8
  5. package/assets/docs/reference/docs-index-contract.md +28 -6
  6. package/assets/docs/reference/index.md +1 -1
  7. package/assets/docs/workflows/projects/implementation-execution.md +1 -1
  8. package/assets/docs/workflows/skills/index.md +3 -1
  9. package/assets/public-package-versions.json +4 -4
  10. package/assets/skills/authoring-docs/SKILL.md +135 -0
  11. package/assets/skills/authoring-docs/references/categories.md +251 -0
  12. package/assets/skills/authoring-docs/references/information-architecture.md +156 -0
  13. package/assets/skills/authoring-docs/references/page-types.md +119 -0
  14. package/assets/skills/authoring-docs/references/principles.md +98 -0
  15. package/assets/skills/authoring-docs/references/review-rubric.md +169 -0
  16. package/assets/skills/authoring-docs/references/templates.md +549 -0
  17. package/assets/skills/authoring-docs/references/workflow.md +133 -0
  18. package/assets/skills/authoring-docs/references/writing-style.md +128 -0
  19. package/assets/skills/oat-docs-analyze/SKILL.md +143 -18
  20. package/assets/skills/oat-docs-analyze/references/analysis-artifact-template.md +101 -1
  21. package/assets/skills/oat-docs-analyze/references/directory-assessment-criteria.md +16 -0
  22. package/assets/skills/oat-docs-analyze/references/quality-checklist.md +83 -3
  23. package/assets/skills/oat-docs-authoring/SKILL.md +193 -0
  24. package/assets/skills/oat-docs-authoring/references/docs-root-resolution.md +64 -0
  25. package/assets/skills/oat-docs-authoring/references/lifecycle-boundaries.md +51 -0
  26. package/assets/skills/oat-docs-authoring/references/oat-fumadocs-contract.md +77 -0
  27. package/assets/skills/oat-docs-authoring/references/targeted-authoring-workflow.md +61 -0
  28. package/assets/skills/oat-docs-authoring/references/validation.md +61 -0
  29. package/assets/skills/oat-docs-bootstrap/SKILL.md +15 -11
  30. package/assets/skills/oat-docs-bootstrap/assets/AGENTS.md.template +5 -5
  31. package/dist/commands/init/tools/shared/skill-manifest.d.ts +1 -1
  32. package/dist/commands/init/tools/shared/skill-manifest.d.ts.map +1 -1
  33. package/dist/commands/init/tools/shared/skill-manifest.js +2 -0
  34. 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 when the repo is using an OAT docs app.
27
- - Navigation is consistent with the docs tree.
28
- - `docs/contributing.md` documents enabled plugins/extensions when an MkDocs app exists.
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.