@open-agent-toolkit/cli 0.1.21 → 0.1.23
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/cli-utilities/index.md +26 -4
- package/assets/docs/contributing/documentation.md +8 -2
- package/assets/docs/contributing/markdown-features.md +2 -0
- package/assets/docs/docs-tooling/add-docs-to-a-repo.md +24 -14
- package/assets/docs/docs-tooling/commands.md +27 -14
- package/assets/docs/docs-tooling/index.md +9 -3
- package/assets/docs/docs-tooling/workflows.md +15 -8
- package/assets/docs/guide/index.md +8 -0
- package/assets/docs/index.md +2 -0
- package/assets/docs/provider-sync/index.md +26 -2
- package/assets/docs/reference/cli-reference.md +27 -12
- package/assets/docs/reference/docs-index-contract.md +42 -8
- package/assets/docs/reference/index.md +1 -1
- package/assets/docs/workflows/index.md +30 -3
- package/assets/docs/workflows/projects/implementation-execution.md +1 -1
- package/assets/docs/workflows/projects/index.md +14 -0
- 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
- package/assets/docs/cli-utilities/overview.md +0 -33
- package/assets/docs/docs-tooling/overview.md +0 -31
- package/assets/docs/provider-sync/overview.md +0 -38
- package/assets/docs/workflows/overview.md +0 -38
|
@@ -7,23 +7,46 @@ description: Standalone adoption lane for general OAT CLI surfaces outside provi
|
|
|
7
7
|
|
|
8
8
|
CLI Utilities is the OAT lane for the useful command surface that does not primarily belong to Provider Sync, Docs Tooling, or tracked workflow lifecycle execution.
|
|
9
9
|
|
|
10
|
-
Use this section when you want bootstrap guidance, tool-pack lifecycle details, configuration help, and general-purpose command references.
|
|
10
|
+
Use this section when you want bootstrap guidance, tool-pack lifecycle details, configuration help, and general-purpose command references. It covers general-purpose setup, configuration, pack-management, and diagnostic utilities that support the rest of the toolkit without being specific to provider sync, docs tooling, or tracked workflow execution.
|
|
11
11
|
|
|
12
|
-
##
|
|
12
|
+
## Contents
|
|
13
|
+
|
|
14
|
+
- [CLI Bootstrap](bootstrap.md) - Foundational `oat init` guidance outside provider-sync-specific onboarding.
|
|
15
|
+
- [Tool Packs and Installed Assets](tool-packs.md) - Bundled packs and `oat tools` lifecycle commands.
|
|
16
|
+
- [Configuration](configuration.md) - OAT configuration guidance across shared, local, user, and provider-sync surfaces.
|
|
17
|
+
- [Config and Local State](config-and-local-state.md) - Utility command groups for config, local state, diagnostics, and related inspection flows.
|
|
18
|
+
|
|
19
|
+
## What Lives Here
|
|
13
20
|
|
|
14
21
|
This section collects the command groups that help you initialize OAT, manage installed packs, inspect local or config state, and use the wider CLI without implying that you are adopting provider sync or tracked workflows.
|
|
15
22
|
|
|
23
|
+
Examples include:
|
|
24
|
+
|
|
25
|
+
- bootstrap and setup flows such as `oat init`
|
|
26
|
+
- bundled pack management through `oat tools`
|
|
27
|
+
- general configuration guidance
|
|
28
|
+
- utility command groups for config, local state, diagnostics, and related inspection flows
|
|
29
|
+
|
|
16
30
|
## Who It's For
|
|
17
31
|
|
|
18
32
|
- Users getting OAT set up in a repo
|
|
19
33
|
- Teams managing installed tool packs and local config
|
|
20
34
|
- People who need a general command map without diving into workflow lifecycle docs
|
|
21
35
|
|
|
36
|
+
## When To Use This Section
|
|
37
|
+
|
|
38
|
+
Use CLI Utilities when:
|
|
39
|
+
|
|
40
|
+
- you are first setting up OAT in a repo
|
|
41
|
+
- you need to install or update OAT packs
|
|
42
|
+
- you are looking for configuration or local-state inspection help
|
|
43
|
+
- you need the general CLI surface without committing to one of the deeper lanes yet
|
|
44
|
+
|
|
22
45
|
## Start Here
|
|
23
46
|
|
|
24
|
-
- Read [Overview](overview.md) to see what command groups live here and how this section relates to the other adoption lanes.
|
|
25
47
|
- Use [CLI Bootstrap](bootstrap.md) when you are starting with `oat init`.
|
|
26
48
|
- Go to [Tool Packs](tool-packs.md) when you are managing bundled OAT packs and installed assets.
|
|
49
|
+
- Read [Configuration](configuration.md) for config semantics, or [Config and Local State](config-and-local-state.md) for inspection and diagnostic command groups.
|
|
27
50
|
|
|
28
51
|
## Common Tasks
|
|
29
52
|
|
|
@@ -34,7 +57,6 @@ This section collects the command groups that help you initialize OAT, manage in
|
|
|
34
57
|
|
|
35
58
|
## Go Deeper
|
|
36
59
|
|
|
37
|
-
- [Overview](overview.md) - What belongs in CLI Utilities and when to use this section.
|
|
38
60
|
- [CLI Bootstrap](bootstrap.md) - Foundational `oat init` guidance outside provider-sync-specific onboarding.
|
|
39
61
|
- [Tool Packs](tool-packs.md) - Bundled packs and `oat tools` lifecycle commands.
|
|
40
62
|
- [Configuration](configuration.md) - OAT configuration guidance.
|
|
@@ -12,6 +12,8 @@ Documentation should ship with the code it explains. This page covers the core d
|
|
|
12
12
|
- Every documentation directory must contain an `index.md`.
|
|
13
13
|
- Each `index.md` must include a `## Contents` section.
|
|
14
14
|
- The `## Contents` section is the machine-readable local map for sibling pages and child directories.
|
|
15
|
+
- Use `.md`-suffixed relative links in `## Contents`: `[Page](page.md)` for leaf pages and `[Section](subdir/index.md)` for child directories.
|
|
16
|
+
- Fumadocs and MkDocs share this authored contract, but they regenerate different artifacts.
|
|
15
17
|
|
|
16
18
|
## Local workflow
|
|
17
19
|
|
|
@@ -51,19 +53,23 @@ Documentation should ship with the code it explains. This page covers the core d
|
|
|
51
53
|
|
|
52
54
|
- Keep docs aligned with the current repo behavior and current command surface.
|
|
53
55
|
- Prefer cross-links over duplicated conceptual content.
|
|
54
|
-
-
|
|
56
|
+
- Use `oat-docs-authoring` for targeted OAT/Fumadocs docs edits; it delegates
|
|
57
|
+
universal page-quality guidance to `authoring-docs` and keeps local
|
|
58
|
+
navigation, generated-index, and validation expectations in scope.
|
|
59
|
+
- When you add, remove, or rename docs pages in this Fumadocs app, refresh the generated Fumadocs root index. It is a generated file-tree manifest that should be checked against authored `docs/**/index.md` maps, not hand-edited:
|
|
55
60
|
|
|
56
61
|
```bash
|
|
57
62
|
pnpm -w run cli -- docs generate-index --docs-dir apps/oat-docs/docs --output apps/oat-docs/index.md
|
|
58
63
|
```
|
|
59
64
|
|
|
65
|
+
- In MkDocs apps, use `oat docs nav sync` to refresh `mkdocs.yml` instead. Do not use MkDocs nav sync as the Fumadocs regeneration step.
|
|
60
66
|
- Use [Markdown Features](markdown-features.md) for supported syntax and examples.
|
|
61
67
|
|
|
62
68
|
## Agent guidance
|
|
63
69
|
|
|
64
70
|
- Treat `index.md` plus its `## Contents` section as the local discovery source of truth.
|
|
65
71
|
- Prefer linking to source files and commands explicitly when documenting behavior.
|
|
66
|
-
- Regenerate the docs surface index after adding or
|
|
72
|
+
- Regenerate or freshness-check the docs surface index after adding, removing, renaming, or reordering pages.
|
|
67
73
|
|
|
68
74
|
## Related Guides
|
|
69
75
|
|
|
@@ -92,6 +92,8 @@ Tab groups use the existing tab transform syntax:
|
|
|
92
92
|
|
|
93
93
|
Standard fenced code blocks support syntax highlighting and optional file-title metadata.
|
|
94
94
|
|
|
95
|
+
Use a language identifier on every opening fence. In this docs app, use `bash` for shell commands because the existing examples and repo scripts are Bash-oriented; use `sh` only when the command is intentionally POSIX-shell-specific.
|
|
96
|
+
|
|
95
97
|
=== "Syntax"
|
|
96
98
|
|
|
97
99
|
````text
|
|
@@ -46,9 +46,10 @@ Legacy pack-specific path:
|
|
|
46
46
|
oat init tools docs
|
|
47
47
|
```
|
|
48
48
|
|
|
49
|
-
The docs pack installs `
|
|
50
|
-
`oat-
|
|
51
|
-
|
|
49
|
+
The docs pack installs `authoring-docs`, `oat-docs-authoring`,
|
|
50
|
+
`oat-docs-analyze`, `oat-docs-apply`, `oat-agent-instructions-analyze`, and
|
|
51
|
+
`oat-agent-instructions-apply`. For this quickstart, the authoring and docs
|
|
52
|
+
analysis/apply skills are the parts you need immediately.
|
|
52
53
|
|
|
53
54
|
## 3. Scaffold the docs app
|
|
54
55
|
|
|
@@ -76,7 +77,7 @@ What the skill adds over the raw CLI:
|
|
|
76
77
|
- **Build verification.** Runs install + build, classifies failures against known patterns, stops on unknown errors rather than guessing.
|
|
77
78
|
- **Config inspection.** Reads `.oat/config.json` back, verifies paths exist on disk, handles the nested-standalone dual-config case, and collects the `requireForProjectCompletion` opt-in explicitly.
|
|
78
79
|
- **Root-build explanation.** When the CLI safely patches a compatible Turbo root `build` script, the walkthrough explains why the filter was added, shows the diff shape, and documents how to adjust or revert it. When the CLI skips the patch, the walkthrough relays the recommended manual snippet.
|
|
79
|
-
- **Educational walkthrough.** Seven sections covering the `documentation` config, the
|
|
80
|
+
- **Educational walkthrough.** Seven sections covering the `documentation` config, the authored-source/generated-navigation model, the `## Contents` contract (with extension discipline), the three agent-instruction surfaces (root `AGENTS.md` pointer / docs-app `AGENTS.md` / `docs/contributing.md`), Fumadocs internals (or MkDocs Minimum Contract), and the OAT docs ecosystem (`oat-project-document`, `oat-docs-analyze`, `oat-docs-apply`).
|
|
80
81
|
- **Optional content kickoff.** Hands off to `oat-docs-analyze` + `oat-docs-apply` if you want to populate initial repo-specific content immediately.
|
|
81
82
|
|
|
82
83
|
Capability-gated: every post-patch self-ratchets off as CLI fixes land upstream. The skill's labeled markers (`<!-- FP-NN patch -->`) are how you find them later when the CLI catches up.
|
|
@@ -115,25 +116,32 @@ root `build:docs` script is available for docs-only builds. Use
|
|
|
115
116
|
`--no-root-patch` to opt out, or `--dry-run` to preview the diff without
|
|
116
117
|
writing it.
|
|
117
118
|
|
|
118
|
-
|
|
119
|
+
### 3c. Existing MkDocs content
|
|
119
120
|
|
|
120
|
-
If you have an existing MkDocs site
|
|
121
|
-
|
|
121
|
+
Bootstrap is not the migration workflow. If you have an existing MkDocs site
|
|
122
|
+
and want to switch to Fumadocs, treat that as a separate migration workstream.
|
|
123
|
+
The CLI migration helper can convert common Markdown syntax and frontmatter:
|
|
122
124
|
|
|
123
125
|
```bash
|
|
124
126
|
oat docs migrate --docs-dir docs --config mkdocs.yml --apply
|
|
125
127
|
```
|
|
126
128
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
+
Run without `--apply` first to preview changes. For a full MkDocs-to-Fumadocs
|
|
130
|
+
refactor, use the assigned migration handoff guide or project plan; do not make
|
|
131
|
+
`oat-docs-bootstrap` own that migration.
|
|
129
132
|
|
|
130
133
|
## 4. Start authoring docs with the OAT contract
|
|
131
134
|
|
|
135
|
+
Use `oat-docs-authoring` for targeted OAT/Fumadocs content edits or local
|
|
136
|
+
restructuring. It uses `authoring-docs` for the portable documentation baseline
|
|
137
|
+
and adds the OAT-specific navigation, generated-index, and validation contract.
|
|
138
|
+
|
|
132
139
|
Core rules:
|
|
133
140
|
|
|
134
141
|
- every docs directory should have an `index.md`
|
|
135
142
|
- every `index.md` should include a `## Contents` section
|
|
136
143
|
- the `## Contents` section should map sibling pages and immediate child directories
|
|
144
|
+
- `## Contents` links should use `.md`-suffixed relative targets, including `subdir/index.md` for child directories
|
|
137
145
|
|
|
138
146
|
For **MkDocs** apps, regenerate navigation after adding or moving pages:
|
|
139
147
|
|
|
@@ -141,16 +149,18 @@ For **MkDocs** apps, regenerate navigation after adding or moving pages:
|
|
|
141
149
|
oat docs nav sync --target-dir apps/my-docs
|
|
142
150
|
```
|
|
143
151
|
|
|
144
|
-
For **Fumadocs** apps, the docs index is generated
|
|
145
|
-
`predev`/`prebuild` hooks. You can also
|
|
152
|
+
For **Fumadocs** apps, the app-root docs index manifest is generated from the
|
|
153
|
+
Markdown file tree automatically via `predev`/`prebuild` hooks. You can also
|
|
154
|
+
run it manually:
|
|
146
155
|
|
|
147
156
|
```bash
|
|
148
157
|
oat docs generate-index --docs-dir docs
|
|
149
158
|
```
|
|
150
159
|
|
|
151
160
|
The generated app-root `index.md` is machine-owned and now starts with an
|
|
152
|
-
`AUTOGENERATED` warning comment. Edit authored pages
|
|
153
|
-
generated
|
|
161
|
+
`AUTOGENERATED` warning comment. Edit authored pages and `## Contents` maps
|
|
162
|
+
under `docs/`, then compare the generated manifest against those maps when
|
|
163
|
+
checking freshness.
|
|
154
164
|
|
|
155
165
|
## 5. Analyze the docs surface
|
|
156
166
|
|
|
@@ -193,7 +203,7 @@ Important:
|
|
|
193
203
|
1. `oat init --scope project`
|
|
194
204
|
2. `oat tools install docs`
|
|
195
205
|
3. `oat docs init --app-name my-docs`
|
|
196
|
-
4. (optional) `oat docs migrate --docs-dir docs --config mkdocs.yml --apply`
|
|
206
|
+
4. (optional) handle MkDocs migration as a separate workstream; use `oat docs migrate --docs-dir docs --config mkdocs.yml --apply` only for the syntax/frontmatter helper
|
|
197
207
|
5. Author docs with `index.md` + `## Contents`
|
|
198
208
|
6. `oat docs nav sync --target-dir apps/my-docs` (MkDocs) or `oat docs generate-index` (Fumadocs)
|
|
199
209
|
7. `/oat-docs-analyze`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Docs App Commands
|
|
3
|
-
description: 'Docs scaffolding CLI surface for Fumadocs/MkDocs, migration, index generation, and nav sync.'
|
|
3
|
+
description: 'Docs scaffolding CLI surface for Fumadocs/MkDocs, migration helpers, Fumadocs index generation, and MkDocs nav sync.'
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Docs App Commands
|
|
@@ -11,20 +11,29 @@ and **MkDocs Material**.
|
|
|
11
11
|
|
|
12
12
|
## Quick Look
|
|
13
13
|
|
|
14
|
-
- What it does: documents the docs-specific CLI surface for scaffolding apps, migrating markdown, generating
|
|
14
|
+
- What it does: documents the docs-specific CLI surface for scaffolding apps, migrating markdown, generating Fumadocs app-root index manifests, and syncing MkDocs navigation.
|
|
15
15
|
- When to use it: when you already know you are working on a docs surface and need the exact command-level behavior.
|
|
16
16
|
- Primary commands: `oat docs init`, `oat docs migrate`, `oat docs generate-index`, `oat docs nav sync`
|
|
17
17
|
|
|
18
18
|
## Command surface
|
|
19
19
|
|
|
20
|
-
| Command | Purpose
|
|
21
|
-
| ------------------------- |
|
|
22
|
-
| `oat docs init` | Scaffold a new docs app (Fumadocs or MkDocs).
|
|
23
|
-
| `oat docs migrate` | Convert MkDocs admonitions to GFM callouts and inject frontmatter.
|
|
24
|
-
| `oat docs generate-index` | Generate a docs index from the
|
|
25
|
-
| `oat docs nav sync` | Regenerate `mkdocs.yml` navigation from directory `index.md`
|
|
26
|
-
| `oat docs analyze` | CLI entrypoint that points users to the `oat-docs-analyze` skill.
|
|
27
|
-
| `oat docs apply` | CLI entrypoint that points users to the `oat-docs-apply` skill.
|
|
20
|
+
| Command | Purpose |
|
|
21
|
+
| ------------------------- | ----------------------------------------------------------------------------- |
|
|
22
|
+
| `oat docs init` | Scaffold a new docs app (Fumadocs or MkDocs). |
|
|
23
|
+
| `oat docs migrate` | Convert MkDocs admonitions to GFM callouts and inject frontmatter. |
|
|
24
|
+
| `oat docs generate-index` | Generate a Fumadocs app-root docs index manifest from the Markdown file tree. |
|
|
25
|
+
| `oat docs nav sync` | Regenerate MkDocs `mkdocs.yml` navigation from directory `index.md` maps. |
|
|
26
|
+
| `oat docs analyze` | CLI entrypoint that points users to the `oat-docs-analyze` skill. |
|
|
27
|
+
| `oat docs apply` | CLI entrypoint that points users to the `oat-docs-apply` skill. |
|
|
28
|
+
|
|
29
|
+
## Which Generation Command To Run
|
|
30
|
+
|
|
31
|
+
Use the framework-specific generated-artifact command:
|
|
32
|
+
|
|
33
|
+
- Fumadocs apps run `fumadocs-mdx` and `oat docs generate-index`. In this repo, `predev` and `prebuild` regenerate `apps/oat-docs/index.md` from `apps/oat-docs/docs`.
|
|
34
|
+
- MkDocs apps use `oat docs nav sync` to regenerate the `nav:` block in `mkdocs.yml` from authored directory `index.md` `## Contents` sections.
|
|
35
|
+
|
|
36
|
+
Both frameworks keep authored `## Contents` sections as the source of local discovery. The generated artifact differs by framework.
|
|
28
37
|
|
|
29
38
|
## `oat docs init`
|
|
30
39
|
|
|
@@ -109,9 +118,10 @@ oat docs migrate --docs-dir docs --config mkdocs.yml --apply
|
|
|
109
118
|
|
|
110
119
|
## `oat docs generate-index`
|
|
111
120
|
|
|
112
|
-
Use `oat docs generate-index` to produce a
|
|
113
|
-
tree.
|
|
114
|
-
|
|
121
|
+
Use `oat docs generate-index` to produce a generated Markdown manifest from the
|
|
122
|
+
docs file tree. In Fumadocs apps this is the app-root `index.md`, outside the
|
|
123
|
+
authored `docs/` source tree. The generated index lists all pages with titles
|
|
124
|
+
and descriptions, organized by directory structure.
|
|
115
125
|
|
|
116
126
|
Key behavior:
|
|
117
127
|
|
|
@@ -121,6 +131,7 @@ Key behavior:
|
|
|
121
131
|
- outputs to app root (`index.md`) by default, not inside the docs directory
|
|
122
132
|
- updates `documentation.index` in `.oat/config.json`
|
|
123
133
|
- prepends an `AUTOGENERATED` warning comment to the output and rewrites the file on every run; do not hand-edit the generated `index.md`
|
|
134
|
+
- should be freshness-checked against authored `docs/**/index.md` `## Contents` maps before treating it as navigation evidence
|
|
124
135
|
- sorting: `index.md` first, then directories before files, then lexical
|
|
125
136
|
|
|
126
137
|
Supported flags:
|
|
@@ -139,11 +150,13 @@ script hooks.
|
|
|
139
150
|
|
|
140
151
|
## `oat docs nav sync`
|
|
141
152
|
|
|
142
|
-
Use nav sync after adding, removing, or renaming docs pages.
|
|
153
|
+
Use nav sync in MkDocs apps after adding, removing, or renaming docs pages.
|
|
143
154
|
|
|
144
155
|
The command reads only the reserved `## Contents` section from each directory
|
|
145
156
|
`index.md` and regenerates the `nav:` block in `mkdocs.yml`.
|
|
146
157
|
|
|
158
|
+
For Fumadocs apps, regenerate the root markdown manifest with `oat docs generate-index` instead.
|
|
159
|
+
|
|
147
160
|
Example:
|
|
148
161
|
|
|
149
162
|
```bash
|
|
@@ -7,7 +7,13 @@ description: Standalone adoption lane for docs app setup, docs commands, and doc
|
|
|
7
7
|
|
|
8
8
|
Docs Tooling is the OAT lane for setting up, maintaining, and restructuring a documentation surface with OAT.
|
|
9
9
|
|
|
10
|
-
Use this section when you are adopting the docs app workflow in a repo, maintaining generated navigation, or using the analyze/apply docs workflows.
|
|
10
|
+
Use this section when you are adopting the docs app workflow in a repo, maintaining generated navigation, or using the analyze/apply docs workflows. OAT supports both Fumadocs and MkDocs: the site framework changes the surrounding app setup and generated artifacts, but the underlying documentation contract stays centered on `index.md` and `## Contents`.
|
|
11
|
+
|
|
12
|
+
## Contents
|
|
13
|
+
|
|
14
|
+
- [Add Docs to a New Repo](add-docs-to-a-repo.md) - Bootstrap a docs app and adopt the docs workflow in a repo.
|
|
15
|
+
- [Docs App Commands](commands.md) - Docs CLI surface for init, migration, index generation, and nav sync.
|
|
16
|
+
- [Docs Workflows](workflows.md) - How the docs CLI helpers pair with analyze/apply workflows.
|
|
11
17
|
|
|
12
18
|
## What This Section Is
|
|
13
19
|
|
|
@@ -21,9 +27,9 @@ This section explains how OAT supports docs surfaces, how the index contract wor
|
|
|
21
27
|
|
|
22
28
|
## Start Here
|
|
23
29
|
|
|
24
|
-
- Read [Overview](overview.md) for the docs-tooling model and where Fumadocs versus MkDocs matters.
|
|
25
30
|
- Use [Add Docs to a Repo](add-docs-to-a-repo.md) when you are bootstrapping a docs surface.
|
|
26
31
|
- Go to [Commands](commands.md) when you already have a docs app and need the CLI surface.
|
|
32
|
+
- Use [Workflows](workflows.md) when you want analysis-backed restructuring rather than ad hoc manual edits.
|
|
27
33
|
|
|
28
34
|
## Common Tasks
|
|
29
35
|
|
|
@@ -34,7 +40,7 @@ This section explains how OAT supports docs surfaces, how the index contract wor
|
|
|
34
40
|
|
|
35
41
|
## Go Deeper
|
|
36
42
|
|
|
37
|
-
- [Overview](overview.md) - What docs tooling is for and how the docs contract fits together.
|
|
38
43
|
- [Add Docs to a Repo](add-docs-to-a-repo.md) - Bootstrap a docs app and adopt the docs workflow in a repo.
|
|
39
44
|
- [Commands](commands.md) - Docs CLI surface for init, migration, index generation, and nav sync.
|
|
40
45
|
- [Workflows](workflows.md) - How the docs CLI helpers pair with analyze/apply workflows.
|
|
46
|
+
- [Docs Index Contract](../reference/docs-index-contract.md) - Framework-neutral `index.md` rules plus Fumadocs and MkDocs generation notes.
|
|
@@ -17,12 +17,18 @@ Install the workflow skills with `oat tools install docs` (preferred) or
|
|
|
17
17
|
|
|
18
18
|
- `oat docs init` scaffolds a docs app (Fumadocs or MkDocs)
|
|
19
19
|
- `oat docs migrate` converts MkDocs admonitions to GFM callouts and injects frontmatter
|
|
20
|
-
- `oat docs generate-index` generates a docs index from the
|
|
21
|
-
- `oat docs nav sync` regenerates mkdocs.yml nav from `index.md` `## Contents` sections
|
|
20
|
+
- `oat docs generate-index` generates a Fumadocs app-root docs index manifest from the Markdown file tree
|
|
21
|
+
- `oat docs nav sync` regenerates MkDocs `mkdocs.yml` nav from `index.md` `## Contents` sections
|
|
22
22
|
- `oat docs analyze` and `oat docs apply` expose the workflow surface in CLI help
|
|
23
23
|
|
|
24
24
|
### Skills
|
|
25
25
|
|
|
26
|
+
- `authoring-docs` is the provider-agnostic baseline for evidence-first
|
|
27
|
+
technical documentation: page types, information architecture, category
|
|
28
|
+
guidance, templates, and review rubrics
|
|
29
|
+
- `oat-docs-authoring` layers the OAT/Fumadocs docs-app contract on top of
|
|
30
|
+
`authoring-docs` for targeted authoring, restructuring, link repair, and
|
|
31
|
+
local navigation maintenance inside an existing OAT docs app
|
|
26
32
|
- `oat-docs-bootstrap` is the guided onramp for adding a docs app to a repo —
|
|
27
33
|
wraps `oat docs init` with preflight detection, richer input gathering (site
|
|
28
34
|
name distinct from package name), labeled post-patches for open CLI gaps,
|
|
@@ -55,15 +61,16 @@ skills.
|
|
|
55
61
|
## Typical flow
|
|
56
62
|
|
|
57
63
|
1. Bootstrap a docs app with `oat-docs-bootstrap` (preferred — guided, includes post-scaffold patches and walkthrough) or `oat docs init` directly (CLI-only / non-interactive workflows)
|
|
58
|
-
2. (Optional) If migrating from MkDocs
|
|
59
|
-
3.
|
|
60
|
-
4.
|
|
61
|
-
5.
|
|
64
|
+
2. (Optional) If migrating from MkDocs, handle that as a separate migration workstream; `oat docs migrate --docs-dir docs --config mkdocs.yml --apply` is only the syntax/frontmatter helper
|
|
65
|
+
3. Use `oat-docs-authoring` for targeted OAT/Fumadocs authoring work, with `authoring-docs` as the universal documentation-quality baseline
|
|
66
|
+
4. Author docs so every directory has an `index.md` with a `## Contents` section
|
|
67
|
+
5. Keep local `## Contents` sections current
|
|
68
|
+
6. Refresh generated artifacts:
|
|
62
69
|
- **MkDocs:** `oat docs nav sync`
|
|
63
70
|
- **Fumadocs:** `oat docs generate-index` (runs automatically via `predev`/`prebuild` hooks)
|
|
64
|
-
|
|
71
|
+
7. Run `oat-docs-analyze`; by default it verifies the generated analysis artifact
|
|
65
72
|
through `workflow.autoArtifactReview.analysis`
|
|
66
|
-
|
|
73
|
+
8. Review the artifact and run `oat-docs-apply`
|
|
67
74
|
|
|
68
75
|
## Progressive disclosure
|
|
69
76
|
|
|
@@ -9,6 +9,14 @@ This page is now a compatibility router.
|
|
|
9
9
|
|
|
10
10
|
The old catch-all User Guide is being split into clearer adoption lanes so new users can choose the part of OAT that matches what they actually need.
|
|
11
11
|
|
|
12
|
+
## Contents
|
|
13
|
+
|
|
14
|
+
- [Core Concepts](concepts.md) - High-level mental model while concept material is being redistributed.
|
|
15
|
+
|
|
16
|
+
## Status
|
|
17
|
+
|
|
18
|
+
This guide bucket remains visible so older links have a stable landing page. New docs should go into the canonical top-level sections below instead of adding more pages under `guide/`.
|
|
19
|
+
|
|
12
20
|
## Canonical Sections
|
|
13
21
|
|
|
14
22
|
- [Provider Sync](../provider-sync/index.md) - Provider interoperability, drift, sync, and config behavior.
|
package/assets/docs/index.md
CHANGED
|
@@ -16,6 +16,7 @@ OAT is organized as three distinct capabilities that can be used together or ind
|
|
|
16
16
|
## Contents
|
|
17
17
|
|
|
18
18
|
- [Quickstart](quickstart.md) - Canonical Start Here page for choosing the right OAT adoption path.
|
|
19
|
+
- [User Guide](guide/index.md) - Legacy compatibility router for old guide links while content continues moving into the canonical sections below.
|
|
19
20
|
- [Provider Sync](provider-sync/index.md) - Canonical section for provider interoperability, drift management, and canonical-to-provider sync.
|
|
20
21
|
- [Agentic Workflows](workflows/index.md) - Canonical section for tracked project workflows, ideas, lifecycle execution, and workflow-oriented skills.
|
|
21
22
|
- [Docs Tooling](docs-tooling/index.md) - Canonical section for docs app setup, docs commands, and docs maintenance workflows.
|
|
@@ -54,6 +55,7 @@ That page is the canonical path-selection guide. Use it to choose whether you ne
|
|
|
54
55
|
## Where To Go Next
|
|
55
56
|
|
|
56
57
|
- New to OAT: [Quickstart](quickstart.md)
|
|
58
|
+
- Following an older guide link: [User Guide](guide/index.md)
|
|
57
59
|
- Need canonical-to-provider sync: [Provider Sync](provider-sync/index.md)
|
|
58
60
|
- Need tracked project execution: [Agentic Workflows](workflows/index.md)
|
|
59
61
|
- Need docs app or docs maintenance tooling: [Docs Tooling](docs-tooling/index.md)
|
|
@@ -9,21 +9,46 @@ Provider Sync is the OAT lane for keeping a canonical rules-and-skills layout in
|
|
|
9
9
|
|
|
10
10
|
You can adopt this layer on its own. It does not require tracked OAT projects, and it is the right starting point when you mainly want interoperability and drift control.
|
|
11
11
|
|
|
12
|
+
In practice, you edit the canonical layout in `.agents/` and `.oat/`, then let OAT generate or reconcile provider-specific views for Claude Code, Cursor, Copilot, Gemini, Codex, and other supported providers.
|
|
13
|
+
|
|
14
|
+
## Contents
|
|
15
|
+
|
|
16
|
+
- [Provider Interop Commands](commands.md) - `oat status`, `oat sync`, and `oat providers ...` behavior.
|
|
17
|
+
- [Sync Config](config.md) - Provider config model, enablement, and scope semantics.
|
|
18
|
+
- [Instruction Sync](instruction-sync.md) - Project-scoped `AGENTS.md` / `CLAUDE.md` validation, repair, and Claude-only adoption.
|
|
19
|
+
- [Manifest and Drift](manifest-and-drift.md) - How OAT tracks synced state, stray files, and adoption decisions.
|
|
20
|
+
- [Providers](providers.md) - Provider-specific mappings, capabilities, and path conventions.
|
|
21
|
+
- [Provider Interop CLI Scope and Surface](scope-and-surface.md) - Canonical assets, provider views, scopes, and the sync surface area.
|
|
22
|
+
|
|
12
23
|
## What This Section Is
|
|
13
24
|
|
|
14
25
|
This section explains how OAT treats `.agents/` and `.oat/` as the source of truth, how provider views are derived from those canonical assets, and how sync/adoption workflows keep everything aligned.
|
|
15
26
|
|
|
27
|
+
## What OAT Treats As Canonical
|
|
28
|
+
|
|
29
|
+
- canonical skills, agents, and rules under `.agents/`
|
|
30
|
+
- sync state and related metadata under `.oat/`
|
|
31
|
+
- provider-specific files as derived views unless they are explicitly adopted back into canonical form
|
|
32
|
+
|
|
16
33
|
## Who It's For
|
|
17
34
|
|
|
18
35
|
- Teams adopting OAT primarily for provider interoperability
|
|
19
36
|
- Users who want one canonical asset layout instead of hand-maintaining provider copies
|
|
20
37
|
- Repos that need drift detection, adoption flows, and explicit sync control
|
|
21
38
|
|
|
39
|
+
## Typical Flow
|
|
40
|
+
|
|
41
|
+
1. Run `oat init` to create the base OAT layout and setup state.
|
|
42
|
+
2. Inspect current sync state with `oat status`.
|
|
43
|
+
3. Adjust provider enablement with `oat providers ...` if needed.
|
|
44
|
+
4. Run `oat sync` to materialize provider views from canonical assets.
|
|
45
|
+
5. Re-run `oat status` after edits to confirm whether anything drifted or needs adoption.
|
|
46
|
+
|
|
22
47
|
## Start Here
|
|
23
48
|
|
|
24
|
-
- Read [Overview](overview.md) for the plain-language model and the first-sync flow.
|
|
25
49
|
- Use [CLI Bootstrap](../cli-utilities/bootstrap.md) when you are bootstrapping OAT and want the sync-relevant setup path.
|
|
26
50
|
- Go to [Commands](commands.md) once you are actively using `oat status`, `oat sync`, and `oat providers`.
|
|
51
|
+
- Read [Scope and Surface](scope-and-surface.md) when you need the canonical/provider-view mental model.
|
|
27
52
|
|
|
28
53
|
## Common Tasks
|
|
29
54
|
|
|
@@ -35,7 +60,6 @@ This section explains how OAT treats `.agents/` and `.oat/` as the source of tru
|
|
|
35
60
|
|
|
36
61
|
## Go Deeper
|
|
37
62
|
|
|
38
|
-
- [Overview](overview.md) - What provider sync is, when to use it, and what a typical sync loop looks like.
|
|
39
63
|
- [CLI Bootstrap](../cli-utilities/bootstrap.md) - Foundational setup before first sync.
|
|
40
64
|
- [Scope and Surface](scope-and-surface.md) - Canonical assets, provider views, scopes, and the sync surface area.
|
|
41
65
|
- [Commands](commands.md) - `oat status`, `oat sync`, and `oat providers ...` behavior.
|
|
@@ -20,21 +20,36 @@ The CLI is also a standalone value path. You can use `oat init`, `oat sync`, `oa
|
|
|
20
20
|
- [Workflow & Projects](../workflows/projects/index.md) - Project lifecycle, artifacts, reviews, PR flow, and state-machine docs.
|
|
21
21
|
- [Repository PR Comment Analysis](../workflows/projects/repo-analysis.md) - Detailed `oat repo pr-comments ...` behavior.
|
|
22
22
|
|
|
23
|
+
## Full CLI Reference Expansion Path
|
|
24
|
+
|
|
25
|
+
Keep this page as the command-family map. Fuller command coverage should live either in the owning section for a command family or in generated/semi-generated reference pages that link back here.
|
|
26
|
+
|
|
27
|
+
Each full command reference should include:
|
|
28
|
+
|
|
29
|
+
- exact arguments, flags, defaults, aliases, and mutually exclusive options
|
|
30
|
+
- output examples, including `--json` shapes where the CLI supports JSON
|
|
31
|
+
- exit behavior for success, validation errors, missing state, and non-interactive blockers
|
|
32
|
+
- side effects such as file writes, generated artifacts, config mutations, branch/commit behavior, and network calls
|
|
33
|
+
- non-interactive usage guidance, including required flags and scripting-safe forms
|
|
34
|
+
- source or test references for behavior that is easy to drift, marking unknown exit-code behavior as unknown instead of inventing a contract
|
|
35
|
+
|
|
36
|
+
The first practical expansion path is to keep improving the existing owners: [Docs App Commands](../docs-tooling/commands.md), [Provider Interop Commands](../provider-sync/commands.md), [Config and Local State](../cli-utilities/config-and-local-state.md), [Tool Packs](../cli-utilities/tool-packs.md), [Workflow & Projects](../workflows/projects/index.md), and [Repository PR Comment Analysis](../workflows/projects/repo-analysis.md).
|
|
37
|
+
|
|
23
38
|
## Command Groups
|
|
24
39
|
|
|
25
|
-
| Command group | What it covers
|
|
26
|
-
| ----------------------------------------------- |
|
|
27
|
-
| `oat init` | Bootstrap canonical OAT directories, sync config, optional hooks, and guided setup.
|
|
28
|
-
| `oat tools ...` | Install, inspect, update, and remove bundled OAT tool packs and assets.
|
|
29
|
-
| `oat pjm ...` | Initialize the project-management repo-reference surface after installing the project-management pack.
|
|
30
|
-
| `oat backlog ...` / `oat local ...` | File-backed backlog helpers, local path sync, and local-only operational support.
|
|
31
|
-
| `oat config ...` / `oat instructions ...` | Config discovery, source-aware config dumps, supported mutations, and instruction-integrity helpers.
|
|
32
|
-
| `oat state ...` / `oat index ...` / `internal` | Repo dashboard refresh, repo indexing, validation helpers, and diagnostics.
|
|
33
|
-
| `oat docs ...` | Docs app bootstrap, migration, index generation, nav sync, and docs workflow entrypoints.
|
|
34
|
-
| `oat status` / `oat sync` / `oat providers ...` | Provider sync, drift inspection, provider configuration, and adoption behavior.
|
|
40
|
+
| Command group | What it covers | Go deeper |
|
|
41
|
+
| ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
|
|
42
|
+
| `oat init` | Bootstrap canonical OAT directories, sync config, optional hooks, and guided setup. | [CLI Bootstrap](../cli-utilities/bootstrap.md) |
|
|
43
|
+
| `oat tools ...` | Install, inspect, update, and remove bundled OAT tool packs and assets. | [Tool Packs](../cli-utilities/tool-packs.md) |
|
|
44
|
+
| `oat pjm ...` | Initialize the project-management repo-reference surface after installing the project-management pack. | [Install vs. initialize](../cli-utilities/tool-packs.md#install-vs-initialize) |
|
|
45
|
+
| `oat backlog ...` / `oat local ...` | File-backed backlog helpers, local path sync, and local-only operational support. | [Config and Local State](../cli-utilities/config-and-local-state.md) |
|
|
46
|
+
| `oat config ...` / `oat instructions ...` | Config discovery, source-aware config dumps, supported mutations, and instruction-integrity helpers. | [Config and Local State](../cli-utilities/config-and-local-state.md) |
|
|
47
|
+
| `oat state ...` / `oat index ...` / `internal` | Repo dashboard refresh, repo indexing, validation helpers, and diagnostics. | [Config and Local State](../cli-utilities/config-and-local-state.md) |
|
|
48
|
+
| `oat docs ...` | Docs app bootstrap, migration, index generation, nav sync, and docs workflow entrypoints. | [Docs Tooling Commands](../docs-tooling/commands.md) |
|
|
49
|
+
| `oat status` / `oat sync` / `oat providers ...` | Provider sync, drift inspection, provider configuration, and adoption behavior. | [Provider Sync](../provider-sync/index.md) |
|
|
35
50
|
| `oat project ...` / `oat cleanup ...` | Project scaffolding, active-project status inspection, tracked-project listing, plan validation, archive creation, and project/artifact cleanup commands. | [Workflow & Projects](../workflows/projects/index.md) |
|
|
36
|
-
| `oat review ...` | Review artifact discovery helpers, including latest-review resolution for project and ad-hoc review flows.
|
|
37
|
-
| `oat repo ...` | Repository-level workflows such as archive sync and PR-comment analysis.
|
|
51
|
+
| `oat review ...` | Review artifact discovery helpers, including latest-review resolution for project and ad-hoc review flows. | [Reviews](../workflows/projects/reviews.md) |
|
|
52
|
+
| `oat repo ...` | Repository-level workflows such as archive sync and PR-comment analysis. | [Repository Analysis](../workflows/projects/repo-analysis.md) |
|
|
38
53
|
|
|
39
54
|
Notable commands introduced in the current CLI surface:
|
|
40
55
|
|
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Docs Index Contract
|
|
3
|
-
description: '
|
|
3
|
+
description: 'Docs source contract: authored index.md maps, generated Fumadocs manifests, and MkDocs nav sync.'
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Docs Index Contract
|
|
7
7
|
|
|
8
|
-
OAT docs navigation
|
|
8
|
+
OAT docs navigation starts from authored `docs/**/index.md` files. Each `## Contents` section is the local source of truth for sibling pages and child directories. Generated artifacts are derived from docs source and should not be edited directly. The framework determines which generated artifact is produced, but the authored `## Contents` contract is the same for humans and agents.
|
|
9
9
|
|
|
10
10
|
## Rules
|
|
11
11
|
|
|
12
12
|
- Every documentation directory must contain an `index.md`.
|
|
13
13
|
- Every `index.md` must include a `## Contents` section.
|
|
14
|
-
- The `## Contents` section is the
|
|
14
|
+
- The `## Contents` section is the machine-readable local map for sibling pages and child directories.
|
|
15
|
+
- Every `## Contents` link should use a `.md`-suffixed relative target, including child directory links such as `subdir/index.md`.
|
|
16
|
+
- Do not hand-edit generated navigation or generated root-index artifacts.
|
|
17
|
+
- For Fumadocs, refresh or freshness-check the generated app-root manifest after adding, removing, or renaming Markdown files. Compare that manifest against authored `## Contents` maps for drift; reordering `## Contents` does not reorder the generated manifest's file-tree sort.
|
|
18
|
+
- For MkDocs, run `oat docs nav sync` after adding, removing, renaming, or reordering pages. It regenerates `mkdocs.yml` from authored `## Contents` maps and preserves the order declared in each local map.
|
|
15
19
|
|
|
16
20
|
## `## Contents` format
|
|
17
21
|
|
|
@@ -28,23 +32,53 @@ Notes:
|
|
|
28
32
|
|
|
29
33
|
- Links after `## Contents` can include short human-readable descriptions.
|
|
30
34
|
- Child directories should link to their `index.md`.
|
|
31
|
-
-
|
|
35
|
+
- Leaf pages should link to their `.md` filename.
|
|
36
|
+
- Prose outside `## Contents` is ignored by nav generation and remains freeform; it can explain scope, reader paths, or migration status.
|
|
32
37
|
|
|
33
|
-
##
|
|
38
|
+
## Fumadocs Generation
|
|
34
39
|
|
|
35
|
-
|
|
40
|
+
For this Fumadocs app, rendered page routing and sidebar data come from the Fumadocs file/source pipeline over `apps/oat-docs/docs`. The generated root manifest, `apps/oat-docs/index.md`, is an inventory for agents and tooling; it is not the rendered sidebar/page-tree source.
|
|
36
41
|
|
|
37
|
-
|
|
42
|
+
`oat docs generate-index` walks the Markdown file tree under `docs/` and writes the app-root generated manifest. The app scripts run:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
fumadocs-mdx
|
|
46
|
+
pnpm -w run cli -- docs generate-index --docs-dir apps/oat-docs/docs --output apps/oat-docs/index.md
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
`oat docs generate-index` rewrites the generated root manifest from the docs source tree. It is the command to use after adding, removing, or retiring pages in this Fumadocs app. Do not use `oat docs nav sync` as the Fumadocs regeneration step.
|
|
50
|
+
|
|
51
|
+
Fumadocs generated behavior:
|
|
52
|
+
|
|
53
|
+
- Generated entries are ordered by the file-tree generator: `index.md` first, directories before files, then lexical order.
|
|
54
|
+
- Reordering a `## Contents` block does not reorder the generated manifest's file-tree sort.
|
|
55
|
+
- Generated manifests should carry an autogen warning and are rewritten by `predev` / `prebuild`.
|
|
56
|
+
|
|
57
|
+
## MkDocs Nav Sync
|
|
58
|
+
|
|
59
|
+
MkDocs apps use `oat docs nav sync --target-dir <docs-app-dir>` to walk the docs tree from `docs/index.md` downward and regenerate the `nav:` block in `mkdocs.yml` from discovered directory `index.md` files.
|
|
60
|
+
|
|
61
|
+
MkDocs generated behavior:
|
|
38
62
|
|
|
39
63
|
- Root `docs/index.md` becomes `Home`.
|
|
40
64
|
- Child directory `index.md` files become section landing pages.
|
|
41
65
|
- Nested entries are emitted in the order they appear under each local `## Contents` block.
|
|
66
|
+
- `mkdocs.yml` may contain other configuration, but its `nav:` block is derived from authored `## Contents`.
|
|
67
|
+
|
|
68
|
+
## Generated-file boundaries
|
|
69
|
+
|
|
70
|
+
- Edit authored files under `docs/`, especially the nearest `index.md` and `## Contents`.
|
|
71
|
+
- Do not hand-edit a Fumadocs app-root generated `index.md`; regenerate it from the docs source tree.
|
|
72
|
+
- Do not hand-maintain MkDocs `nav:` entries when the local workflow uses `oat docs nav sync`.
|
|
73
|
+
- If a Fumadocs generated manifest lists pages that are missing from authored `## Contents`, treat that as authored-source drift or intentional generator-inventory behavior to verify before relying on the generated file as navigation evidence.
|
|
42
74
|
|
|
43
75
|
## Authoring guidance
|
|
44
76
|
|
|
45
77
|
- Use `index.md` as the local discovery surface for humans and agents.
|
|
46
78
|
- Add a short topic description next to each link so agents can choose the right file without opening every page.
|
|
47
|
-
- Update `## Contents` whenever you add, remove, or
|
|
79
|
+
- Update `## Contents` whenever you add, remove, rename, or reorder docs files in a directory.
|
|
80
|
+
- Regenerate the framework-specific artifact after structural changes: `generate-index` for Fumadocs root manifests, `nav sync` for MkDocs `mkdocs.yml`.
|
|
81
|
+
- Refresh or freshness-check the generated artifact before committing structural docs changes.
|
|
48
82
|
|
|
49
83
|
## If You Are Trying To...
|
|
50
84
|
|
|
@@ -13,7 +13,7 @@ Contributor how-to material now lives under `contributing/`, and user-facing rou
|
|
|
13
13
|
|
|
14
14
|
- [CLI Reference](cli-reference.md) - Shallow map of the OAT command surface with links to owning sections.
|
|
15
15
|
- [File Locations](file-locations.md) - Where core OAT files, assets, and artifacts live.
|
|
16
|
-
- [Docs Index Contract](docs-index-contract.md) -
|
|
16
|
+
- [Docs Index Contract](docs-index-contract.md) - Authored `index.md` maps, `.md` links, generated Fumadocs manifests, and MkDocs nav sync boundaries.
|
|
17
17
|
- [OAT Directory Structure](oat-directory-structure.md) - Canonical `.oat/` tree map and the role of each major directory.
|
|
18
18
|
- [Troubleshooting](troubleshooting.md) - Common issues, diagnostics, and remediation guidance.
|
|
19
19
|
|