@open-agent-toolkit/cli 0.3.28 → 0.3.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/assets/bundle-metadata.json +1 -1
- package/assets/docs/docs-tooling/add-docs-to-a-repo.md +2 -0
- package/assets/docs/docs-tooling/commands.md +111 -3
- package/assets/docs/docs-tooling/workflows.md +16 -0
- package/assets/docs/reference/cli-reference.md +2 -0
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/authoring-docs/SKILL.md +2 -2
- package/assets/skills/authoring-docs/references/information-architecture.md +5 -2
- package/assets/skills/authoring-docs/references/page-templates/alert-runbook.md +63 -0
- package/assets/skills/authoring-docs/references/page-templates/command-reference.md +55 -0
- package/assets/skills/authoring-docs/references/page-templates/decisions-pointer.md +44 -0
- package/assets/skills/authoring-docs/references/page-templates/engineering-feature.md +53 -0
- package/assets/skills/authoring-docs/references/page-templates/per-area-agents.md +42 -0
- package/assets/skills/authoring-docs/references/page-templates/product-feature.md +49 -0
- package/assets/skills/authoring-docs/references/page-templates/qa-validation.md +59 -0
- package/assets/skills/authoring-docs/references/page-templates/screen-spec.md +51 -0
- package/assets/skills/authoring-docs/references/page-templates/skill-command-guide.md +44 -0
- package/assets/skills/authoring-docs/references/page-templates/solution-record.md +43 -0
- package/assets/skills/authoring-docs/references/templates.md +22 -2
- package/assets/skills/oat-docs-analyze/SKILL.md +89 -3
- package/assets/skills/oat-docs-analyze/references/analysis-artifact-template.md +23 -0
- package/assets/skills/oat-docs-analyze/references/quality-checklist.md +18 -0
- package/assets/skills/oat-docs-bootstrap/SKILL.md +11 -5
- package/dist/commands/docs/index.d.ts.map +1 -1
- package/dist/commands/docs/index.js +2 -0
- package/dist/commands/docs/init/content.d.ts +23 -0
- package/dist/commands/docs/init/content.d.ts.map +1 -0
- package/dist/commands/docs/init/content.js +361 -0
- package/dist/commands/docs/init/index.d.ts.map +1 -1
- package/dist/commands/docs/init/index.js +32 -1
- package/dist/commands/docs/init/markdown.d.ts.map +1 -1
- package/dist/commands/docs/init/markdown.js +21 -2
- package/dist/commands/docs/init/resolve-options.d.ts +4 -1
- package/dist/commands/docs/init/resolve-options.d.ts.map +1 -1
- package/dist/commands/docs/init/resolve-options.js +4 -0
- package/dist/commands/docs/init/scaffold.d.ts.map +1 -1
- package/dist/commands/docs/init/scaffold.js +20 -1
- package/dist/commands/docs/literals/evidence.d.ts +39 -0
- package/dist/commands/docs/literals/evidence.d.ts.map +1 -0
- package/dist/commands/docs/literals/evidence.js +205 -0
- package/dist/commands/docs/literals/literals.d.ts +3 -0
- package/dist/commands/docs/literals/literals.d.ts.map +1 -0
- package/dist/commands/docs/literals/literals.js +50 -0
- package/dist/release/public-package-contract.d.ts.map +1 -1
- package/dist/release/public-package-contract.js +10 -0
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -45,10 +45,14 @@ Additional useful entry points:
|
|
|
45
45
|
|
|
46
46
|
`oat docs init --framework fumadocs --app-name my-docs` creates a docs app with app-root `AGENTS.md`, a reader-first Getting Started stub and contributor/toolchain guides. The CLI owns these templates for both Fumadocs and legacy MkDocs; the bootstrap skill guides inspection and setup. Existing files and plain Markdown adoption are preserved.
|
|
47
47
|
|
|
48
|
+
For an approved fresh reader model, pass `--ia-preset <preset> --planned-pages <count>` together. The six presets materialize reader tracks at 15 or more anticipated pages, or grouped flat headings below 15; `flat-small` always stays flat. Canonical page templates go under excluded `contributing/templates/`, with a track table in framework app-root AGENTS or Markdown contributing guidance. Existing surfaces route to analyze/apply. See [preset selection and template subsets](../../apps/oat-docs/docs/docs-tooling/commands.md#approved-preset-readers). Direct init without both inputs retains its starter; selection does not create an IA decision.
|
|
49
|
+
|
|
48
50
|
Fumadocs static exports include `llms.txt`, `llms-full.txt` and `llms/<page-slugs>/content.md` (root `llms/content.md`) for loaded `.md` readers. These retain authored Markdown and source-relative-link guidance; configured non-readers and MDX are excluded. Use authored Contents maps and `oat docs nav sync`, followed by `--check`, for navigation changes.
|
|
49
51
|
|
|
50
52
|
`oat docs check [--target-dir <dir>] [--rule <id>...] [--json]` performs read-only reader, navigation, contributor-command and Mermaid/SVG checks without a site build. Errors exit 1; warnings exit 0. Configure validated severities, numeric thresholds and reason-bearing exceptions under `documentation.check`. Mermaid syntax parsing lazily uses a real DOM with strict sanitization and no script/resource execution; Node 22.17 remains the minimum. See [checker rules and configuration](../../apps/oat-docs/docs/docs-tooling/check.md).
|
|
51
53
|
|
|
54
|
+
`oat docs literals [--target-dir <dir>] --page <content-relative-reader.md> --source-root <repo-relative-dir> [--source-exclude <pattern>] --json` supplies read-only inline-code occurrence candidates for a matching triad IA mirror. Repeat each single-value selection flag as needed. Sources stay within narrow explicit implementation roots; searched/skipped evidence and first source physical lines are reported. Once-only strict HTML entity decoding and case-sensitive line-local substring matching do not establish runtime validity; analyze judges canonical relevance and authored IA acceptance. Completed not-found/not-applicable exits 0, input/config errors 1, unexpected failures 2. See [literal helper scope and limits](../../apps/oat-docs/docs/docs-tooling/commands.md#oat-docs-literals).
|
|
55
|
+
|
|
52
56
|
Fumadocs starters constrain `mdast-util-to-markdown` to 2.1.2 for the current upstream handler compatibility defect. New independent install roots get `pnpm-workspace.yaml`; workspace members get manual setup advice for the existing root YAML, with approval/conflict preservation in bootstrap. No member-local boundary or root dependency-policy merge is performed; `--no-root-patch` still controls build scripts only. Keep the effective policy and lockfile and verify actual resolution before building.
|
|
53
57
|
|
|
54
58
|
Framework starters expose `docs:check` and run it before build; MkDocs `test` is a real check. Bootstrap proposes approved PR CI edits with explicit generated-manifest freshness. Markdown needs neither an app build nor a default manifest.
|
|
@@ -63,6 +63,8 @@ Choose Markdown files or a framework app, using the guided skill or direct CLI.
|
|
|
63
63
|
|
|
64
64
|
The docs-bootstrap skill offers Markdown, Fumadocs, and MkDocs. Configured tooling is authoritative; framework evidence is checked before plain-directory evidence. A root README alone does not trigger adoption, and an empty selected target stays fresh setup. Markdown uses file checks and an adopt/audit handoff, with no app questions, dependencies, framework patches, docs-root AGENTS, or site build.
|
|
65
65
|
|
|
66
|
+
For fresh empty targets, the skill obtains explicit IA approval with an anticipated reader-page count, probes `--ia-preset` and `--planned-pages`, then passes both to CLI init. The CLI materializes the selected model at 15 or more pages and collapses it into grouped root headings below 15 (always flat for `flat-small`). It also supplies relevant non-reader page templates. Existing surfaces use analyze and individually approved apply; adoption receives no preset flags. See [preset mappings and template subsets](commands.md#approved-preset-readers). Selection guidance does not replace the existing IA decision/adoption flow.
|
|
67
|
+
|
|
66
68
|
For framework apps, it wraps `oat docs init` with a seven-step guided flow: preflight detection (repo shape + existing-setup conflict surfacing), richer input gathering (including a site name distinct from the package name), the CLI invocation itself, CLI-owned scaffold inspection, install + build verification, post-scaffold config inspection, and a chunked educational walkthrough.
|
|
67
69
|
|
|
68
70
|
What the framework path adds over the raw CLI:
|
|
@@ -13,7 +13,7 @@ or **MkDocs Material**.
|
|
|
13
13
|
|
|
14
14
|
- What it does: documents the docs-specific CLI surface for scaffolding apps, migrating markdown, generating Fumadocs app-root index manifests, and syncing MkDocs or Fumadocs 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
|
-
- Primary commands: `oat docs init`, `oat docs migrate`, `oat docs generate-index`, `oat docs nav sync`, `oat docs check`
|
|
16
|
+
- Primary commands: `oat docs init`, `oat docs migrate`, `oat docs generate-index`, `oat docs nav sync`, `oat docs check`, `oat docs literals`
|
|
17
17
|
|
|
18
18
|
## Command surface
|
|
19
19
|
|
|
@@ -24,6 +24,7 @@ or **MkDocs Material**.
|
|
|
24
24
|
| `oat docs generate-index` | Generate a manifest from Markdown files, outside authored content. |
|
|
25
25
|
| `oat docs nav sync` | Regenerate `mkdocs.yml` nav or Fumadocs `meta.json` from `index.md` maps. |
|
|
26
26
|
| `oat docs check` | Read-only reader, navigation, command and diagram checks; errors fail, warnings pass. |
|
|
27
|
+
| `oat docs literals` | Read-only occurrence candidates for explicitly selected Product/QA pages in a triad. |
|
|
27
28
|
| `oat docs analyze` | CLI entrypoint that points users to the `oat-docs-analyze` skill. |
|
|
28
29
|
| `oat docs apply` | CLI entrypoint that points users to the `oat-docs-apply` skill. |
|
|
29
30
|
|
|
@@ -60,9 +61,53 @@ Key behavior:
|
|
|
60
61
|
- for framework apps, when the repo root exposes a compatible Turbo `scripts.build`, patches it to exclude the new docs app from the default root build and adds a root-level `build:docs` script
|
|
61
62
|
- prints a unified diff before writing the root `package.json` change and returns a manual snippet when the patch is skipped because the build script is missing, non-Turbo, or ambiguous
|
|
62
63
|
|
|
63
|
-
|
|
64
|
+
### Approved preset readers
|
|
65
|
+
|
|
66
|
+
Opt into an approved reader model with `--ia-preset <preset> --planned-pages <count>`.
|
|
67
|
+
Both flags are required together; the count is an integer of at least 1 and covers
|
|
68
|
+
anticipated reader pages, excluding contributor/toolchain/template content. No flags
|
|
69
|
+
keeps the existing starter. Preset init requires an empty target and refuses existing
|
|
70
|
+
docs config/ownership; use analyze and individually approved apply for existing trees.
|
|
71
|
+
|
|
72
|
+
| Preset | Reader directories at 15 or more anticipated pages | Templates |
|
|
73
|
+
| ------------------------ | ----------------------------------------------------- | ------------------------------------------- |
|
|
74
|
+
| `product-engineering-qa` | `product/`, `engineering/`, `qa/` | All ten |
|
|
75
|
+
| `consumer-maintainer` | `consumer/`, `maintainer/` | Six support shapes |
|
|
76
|
+
| `domain-engineering` | `engineering/` | Engineering feature plus six support shapes |
|
|
77
|
+
| `task-type` | `tutorials/`, `how-to/`, `reference/`, `explanation/` | Six support shapes |
|
|
78
|
+
| `toolkit-cli` | `tools/`, `workflows/` | Six support shapes |
|
|
79
|
+
| `flat-small` | Always grouped headings in one flat root index | Six support shapes |
|
|
80
|
+
|
|
81
|
+
Below 15 pages, each model uses grouped root headings and flat reader pages while
|
|
82
|
+
retaining its template subset. Track entries have purpose, entry principle and
|
|
83
|
+
useful sections. Engineering is hybrid: domain/implementation contracts alongside
|
|
84
|
+
paired feature pages; Product/QA enter by feature or journey.
|
|
85
|
+
|
|
86
|
+
Templates live under `contributing/templates/`: Product feature, Engineering
|
|
87
|
+
feature, QA validation, conditional Screen spec, Alert runbook, incident Solution
|
|
88
|
+
record, Command reference, Skill or command guide, Decisions pointer and Per-area
|
|
89
|
+
AGENTS. The six support shapes are the last six in that list. Screen pages and
|
|
90
|
+
per-track AGENTS are never automatically instantiated. Bodies come from canonical
|
|
91
|
+
`authoring-docs` assets, with verified-literal rules and separate planned automation,
|
|
92
|
+
implemented assertions and dated execution evidence.
|
|
93
|
+
|
|
94
|
+
The CLI merges `contributing/templates/**` into `documentation.nonReaderPaths`
|
|
95
|
+
before nav generation. These drafts stay out of reader Contents, navigation,
|
|
96
|
+
checker inventory and manifests; `excludes` remains manifest-only. Pinned MkDocs
|
|
97
|
+
1.4.2 can still render excluded routes and retains `use_directory_urls: false`.
|
|
98
|
+
Framework app-root AGENTS gets the track table; Markdown uses `contributing.md`,
|
|
99
|
+
with no docs-root AGENTS, dependencies, sidebar, build or default manifest.
|
|
100
|
+
Selection guidance is not a persisted IA decision: bootstrap still requires explicit
|
|
101
|
+
approval and the existing adoption/`record-ia` flow, without implicit PJM adoption.
|
|
64
102
|
|
|
65
|
-
|
|
103
|
+
```bash
|
|
104
|
+
oat docs init --framework markdown --ia-preset toolkit-cli --planned-pages 14 --yes
|
|
105
|
+
oat docs init --framework fumadocs --ia-preset product-engineering-qa --planned-pages 30 --yes
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Default Markdown setup
|
|
109
|
+
|
|
110
|
+
- Without preset inputs, creates only authored root `index.md` and `contributing.md` baseline pages,
|
|
66
111
|
with metadata, context and real relative `.md` Contents links.
|
|
67
112
|
- Records literal root/tooling/authored index and managed root guidance; no
|
|
68
113
|
docs-root AGENTS, app package, dependencies, package/Turbo patch or site build.
|
|
@@ -112,6 +157,7 @@ Supported flags:
|
|
|
112
157
|
- `--framework <markdown|fumadocs|mkdocs>` (default: `fumadocs` in non-interactive mode)
|
|
113
158
|
- `--site-name <name>` (site display title or Markdown documentation title)
|
|
114
159
|
- `--description <text>` (documentation description, optional)
|
|
160
|
+
- `--ia-preset <preset>` and `--planned-pages <count>` (approved fresh selection; pair required, integer count >= 1)
|
|
115
161
|
- `--lint <none|markdownlint-cli2>`
|
|
116
162
|
- `--format <oxfmt|none>`
|
|
117
163
|
- `--adopt` (Markdown only; add missing baseline files, preserve existing bytes)
|
|
@@ -270,6 +316,68 @@ Related reference:
|
|
|
270
316
|
|
|
271
317
|
- [`../reference/docs-index-contract.md`](../reference/docs-index-contract.md)
|
|
272
318
|
|
|
319
|
+
## `oat docs literals`
|
|
320
|
+
|
|
321
|
+
After `oat-docs-analyze` confirms the authored accepted IA and config mirror
|
|
322
|
+
agree on `verification: triad`, select Product/QA reader pages and narrow
|
|
323
|
+
canonical implementation directories:
|
|
324
|
+
|
|
325
|
+
```bash
|
|
326
|
+
oat docs literals --target-dir manual \
|
|
327
|
+
--page experience/save.md --page verify/save.md \
|
|
328
|
+
--source-root src/ui --source-exclude src/ui/generated/ --json
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
`--target-dir` is optional and uses the same configured-root/app/content
|
|
332
|
+
resolution as check. `--page` and `--source-root` are required, repeatable
|
|
333
|
+
single-value flags. Pages are content-relative Markdown (`.md` or `.mdx`,
|
|
334
|
+
without evaluating JSX); roots are repo-relative directories, never the repo
|
|
335
|
+
root. Source roots must also use their canonical on-disk spelling (including case).
|
|
336
|
+
Pages must use their canonical on-disk spelling (including case) and be
|
|
337
|
+
readable readers within the real content tree, outside `nonReaderPaths`,
|
|
338
|
+
with no symlink components below the resolved content root
|
|
339
|
+
(including page files and directory aliases). Sources must remain within the
|
|
340
|
+
repository; nested symlinks are skipped, never traversed. Invalid/escaping selections, unreadable traversal
|
|
341
|
+
and an empty effective text inventory fail visibly. Select implementation
|
|
342
|
+
roots and explicit exclusions to omit docs, fixtures, generated output and
|
|
343
|
+
vendor code as evidence. The helper does not automatically exclude documentation
|
|
344
|
+
from selected source roots. A match to documentation itself is not canonical
|
|
345
|
+
implementation support; inspect the citation and judge its relevance.
|
|
346
|
+
|
|
347
|
+
`--source-exclude` is optional/repeatable, using the existing bounded POSIX
|
|
348
|
+
exclusion grammar in **repository** coordinates: segment `*`, whole-segment
|
|
349
|
+
`**`, trailing `/` for directories; other metacharacters are literal. Parent
|
|
350
|
+
segments, absolute patterns and backslashes are invalid. `documentation.excludes`
|
|
351
|
+
remains manifest-only; `nonReaderPaths` remains content-relative.
|
|
352
|
+
|
|
353
|
+
Only a matching mirror declaring triad enables extraction. Other overlays,
|
|
354
|
+
absent IA or an unrelated explicit target return `not-applicable` with reason
|
|
355
|
+
and empty candidates before selected pages/sources are read. This gate does
|
|
356
|
+
not establish authored acceptance; the skill judges that separately.
|
|
357
|
+
|
|
358
|
+
JSON completion has `status: ok`, `scope: {contentRoot, pages, sourceRoots,
|
|
359
|
+
sourceExcludes}`, `searched` source paths, `skipped: [{path, reason}]`, and
|
|
360
|
+
`literals: [{path, line, literal, normalized, status, source?}]`. Candidate
|
|
361
|
+
status is `found` or `not-found`; source is `{path, line}`. Docs locations are
|
|
362
|
+
content-relative; contentRoot/source scope is repo-relative POSIX. Duplicate
|
|
363
|
+
pages/overlapping inventories are deduplicated. Page order and source file
|
|
364
|
+
order are lexical, then physical line order; the first source occurrence is
|
|
365
|
+
reported. Skipped reasons include symlink, binary, non-UTF8 and non-regular.
|
|
366
|
+
No source snippets, severity or runtime verdict are emitted.
|
|
367
|
+
|
|
368
|
+
Extraction uses Markdown AST inline code and ignores fenced blocks. Matching
|
|
369
|
+
applies one strict HTML entity decode to each value and each physical source
|
|
370
|
+
line, then a case-sensitive substring search. CommonMark may normalize multiline
|
|
371
|
+
spans; source matching stays per physical line. There is no whitespace/Unicode
|
|
372
|
+
folding, JS escape decoding, interpolation, i18n loading or runtime evaluation.
|
|
373
|
+
A comment, dead code or longer text can match. Inspect canonical relevance;
|
|
374
|
+
`not-found` starts as unverified, and explained concepts require judgment.
|
|
375
|
+
|
|
376
|
+
Exit 0 means completed evidence, including not-found/not-applicable; exit 1 is
|
|
377
|
+
an actionable input/config error; exit 2 is an unexpected runtime failure.
|
|
378
|
+
Global `--json`/`--cwd` work as usual. This helper is separate from check's G5
|
|
379
|
+
rules, and `oat docs analyze` remains a guidance entrypoint.
|
|
380
|
+
|
|
273
381
|
## `oat docs analyze` and `oat docs apply`
|
|
274
382
|
|
|
275
383
|
These CLI commands intentionally reserve the docs workflow surface without
|
|
@@ -508,6 +508,22 @@ consumer and agent coverage. A top-level misroute is High when it blocks normal
|
|
|
508
508
|
first success/verification, Medium when it causes material detours; cosmetic
|
|
509
509
|
organization stays Low. Missing IA/owner raises `ask_user`.
|
|
510
510
|
|
|
511
|
+
When the authored accepted IA and its mirror agree on triad verification,
|
|
512
|
+
analyze also checks six source-related concerns: mapped feature slug parity,
|
|
513
|
+
real peer links/anchors (including QA Scope pairing), quoted literals versus
|
|
514
|
+
explained concepts, exact membership in the repository's own test-ID registry,
|
|
515
|
+
scoped duplicate/contradictory scenarios, and raw Contents links to templates
|
|
516
|
+
even when nav excludes them. Roles come from the decision/local guidance,
|
|
517
|
+
including renamed tracks and hybrid Engineering; flat layouts may be not
|
|
518
|
+
applicable. Missing mapping/registry stays unverified / `ask_user`. Other
|
|
519
|
+
overlays continue ordinary analysis unchanged.
|
|
520
|
+
|
|
521
|
+
The [literal occurrence helper](commands.md#oat-docs-literals) supplies bounded
|
|
522
|
+
text candidates for selected Product/QA pages. A found substring requires
|
|
523
|
+
canonical-source judgment; not-found is initially unverified. It cannot prove
|
|
524
|
+
runtime behavior, registry membership or scenario correctness. Accepted IA,
|
|
525
|
+
source citations and existing recommendation approval classes still govern.
|
|
526
|
+
|
|
511
527
|
For framework apps, offline drift compares installed `@open-agent-toolkit/docs-*` packages to the
|
|
512
528
|
running CLI's bundled `public-package-versions.json`, never registry latest.
|
|
513
529
|
Missing installations are unverified. The recommendation includes the exact
|
|
@@ -80,6 +80,8 @@ Lifecycle](../workflows/backlog-and-planning/backlog-lifecycle.md).
|
|
|
80
80
|
|
|
81
81
|
`oat docs check [--target-dir <dir>] [--rule <id>...] [--json]` validates reader structure, links, navigation, contributor commands and diagrams without a site build. Errors exit 1; warning-only exits 0. See [Check Documentation](../docs-tooling/check.md) for rules/config and JSON.
|
|
82
82
|
|
|
83
|
+
`oat docs literals --page <reader.md> --source-root <implementation-dir> [--target-dir <dir>] [--source-exclude <pattern>] --json` reports bounded inline-code occurrence candidates for triad IA mirrors. Pages and roots are repeatable single-value flags in content/repository coordinates respectively. Found candidates require canonical-source judgment. See [literal helper scope, JSON and limits](../docs-tooling/commands.md#oat-docs-literals).
|
|
84
|
+
|
|
83
85
|
## Command Groups
|
|
84
86
|
|
|
85
87
|
| Command group | What it covers | Go deeper |
|
|
@@ -6,7 +6,7 @@ disable-model-invocation: false
|
|
|
6
6
|
allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion
|
|
7
7
|
user-invocable: true
|
|
8
8
|
metadata:
|
|
9
|
-
version: 1.
|
|
9
|
+
version: 1.2.0
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
# Authoring Docs
|
|
@@ -116,7 +116,7 @@ Load only the references needed for the current task:
|
|
|
116
116
|
- `references/categories.md`: API, CLI, app, service, library, framework,
|
|
117
117
|
monorepo, architecture, operations, and audience-specific guidance.
|
|
118
118
|
- `references/writing-style.md`: plain technical writing and Markdown rules.
|
|
119
|
-
- `references/templates.md`: reusable page and handoff templates.
|
|
119
|
+
- `references/templates.md`: reusable page and handoff templates, linking canonical copyable Markdown under `references/page-templates/`. Fresh approved preset init consumes those same bodies; local templates remain preferred.
|
|
120
120
|
- `references/review-rubric.md`: readiness checklist and review rubric.
|
|
121
121
|
|
|
122
122
|
## Examples
|
|
@@ -123,8 +123,11 @@ use filename/slug parity for paired features and reciprocal links. A Product
|
|
|
123
123
|
feature must link to its QA validation and Engineering counterpart (and back).
|
|
124
124
|
Quote exact UI literals only when verified against source; distinguish a user
|
|
125
125
|
concept from literal screen text. Do not fabricate test IDs or independent
|
|
126
|
-
verification needs.
|
|
127
|
-
|
|
126
|
+
verification needs. Use the [Product feature](page-templates/product-feature.md),
|
|
127
|
+
[Engineering feature](page-templates/engineering-feature.md) and
|
|
128
|
+
[QA validation](page-templates/qa-validation.md) templates alongside the page-type
|
|
129
|
+
guidance and IA Proposal template. A shared screen spec is conditional on several
|
|
130
|
+
journeys using the same screen; do not manufacture one per feature.
|
|
128
131
|
|
|
129
132
|
## Navigation Principles
|
|
130
133
|
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Alert runbook
|
|
3
|
+
description: Triage, recovery and verification for a specific operational alert.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Alert runbook
|
|
7
|
+
|
|
8
|
+
## When to use and entry criteria
|
|
9
|
+
|
|
10
|
+
Name the alert/symptoms and checks that establish this runbook applies.
|
|
11
|
+
|
|
12
|
+
## Production context
|
|
13
|
+
|
|
14
|
+
Identify environment, affected components, customer impact and access prerequisites.
|
|
15
|
+
|
|
16
|
+
## Ownership
|
|
17
|
+
|
|
18
|
+
Name the responding role, escalation route and owner-review gaps.
|
|
19
|
+
|
|
20
|
+
## First-five-minutes triage
|
|
21
|
+
|
|
22
|
+
| Signal | Check | Interpretation | Next action |
|
|
23
|
+
| ------------------ | ----------------- | -------------------------- | ----------------------------- |
|
|
24
|
+
| <observed symptom> | <read-only check> | <supported interpretation> | <numbered step or escalation> |
|
|
25
|
+
|
|
26
|
+
## Procedure
|
|
27
|
+
|
|
28
|
+
1. Establish scope with a read-only check.
|
|
29
|
+
**Verify:** state the expected observation and stop/escalate condition.
|
|
30
|
+
2. Perform the reviewed recovery action.
|
|
31
|
+
**Verify:** state the successful observation and failure response.
|
|
32
|
+
|
|
33
|
+
Warn immediately before any destructive command, state its scope and require the
|
|
34
|
+
reviewed dry run first. Do not invent runnable production commands or dry-run flags.
|
|
35
|
+
|
|
36
|
+
## Why this approach
|
|
37
|
+
|
|
38
|
+
Explain the evidence and tradeoffs behind the recovery sequence.
|
|
39
|
+
|
|
40
|
+
## Rollback
|
|
41
|
+
|
|
42
|
+
Describe the inverse action, recovery prerequisites and verification, or state why
|
|
43
|
+
rollback is unavailable and give the escalation route.
|
|
44
|
+
|
|
45
|
+
## Verification checklist
|
|
46
|
+
|
|
47
|
+
- Confirm service health and the original alert condition.
|
|
48
|
+
- Confirm customer-visible recovery and absence of new side effects.
|
|
49
|
+
- Record dated evidence and unresolved owner-reviewed gaps.
|
|
50
|
+
|
|
51
|
+
## Writing and evidence rules
|
|
52
|
+
|
|
53
|
+
Use backticks only for literals verified verbatim in source, such as commands,
|
|
54
|
+
errors, labels and identifiers. Write concepts in ordinary prose. Cite the
|
|
55
|
+
source location for each verified literal; label unknown facts as unknown.
|
|
56
|
+
Remove drafting prompts before publishing and retain owner-review gaps explicitly.
|
|
57
|
+
|
|
58
|
+
Keep these three evidence classes separate:
|
|
59
|
+
|
|
60
|
+
- Planned automation: intended coverage, with owner and remaining work.
|
|
61
|
+
- Implemented assertions: the test path and the exact assertion it implements.
|
|
62
|
+
- Dated execution evidence: date, environment/configuration, result and evidence
|
|
63
|
+
location. Implemented assertions alone do not prove a successful execution.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Command reference
|
|
3
|
+
description: Verified command inputs, outputs and mutation boundaries.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Command reference
|
|
7
|
+
|
|
8
|
+
Source: <source location for the command registration and handler, or unknown>
|
|
9
|
+
|
|
10
|
+
## Production impact
|
|
11
|
+
|
|
12
|
+
State affected environments, access and operational risks; say unknown when unknown.
|
|
13
|
+
|
|
14
|
+
## Command group index
|
|
15
|
+
|
|
16
|
+
| Command | Purpose | Mutates |
|
|
17
|
+
| --------------------- | ------------- | -------------------------- |
|
|
18
|
+
| <verified invocation> | <reader goal> | <yes/no/unknown and scope> |
|
|
19
|
+
|
|
20
|
+
## Shared flags
|
|
21
|
+
|
|
22
|
+
List verified spelling, defaults, accepted values and applicability.
|
|
23
|
+
|
|
24
|
+
## Per-command arguments
|
|
25
|
+
|
|
26
|
+
For each command, describe positional arguments, flags, required combinations,
|
|
27
|
+
validation and defaults. State unknown rather than inferring behavior from a name.
|
|
28
|
+
|
|
29
|
+
## Outputs and JSON
|
|
30
|
+
|
|
31
|
+
Describe human output and the verified --json schema where supported; otherwise
|
|
32
|
+
state unsupported or unknown. Show examples only when verified from source or a run.
|
|
33
|
+
|
|
34
|
+
## Exit codes
|
|
35
|
+
|
|
36
|
+
List known categorical outcomes and their codes, including partial results.
|
|
37
|
+
|
|
38
|
+
## Side effects
|
|
39
|
+
|
|
40
|
+
Name file, config, service and remote mutations, overwrite behavior and dry-run
|
|
41
|
+
support. Mark unverified effects unknown and identify the reviewing owner.
|
|
42
|
+
|
|
43
|
+
## Writing and evidence rules
|
|
44
|
+
|
|
45
|
+
Use backticks only for literals verified verbatim in source, such as commands,
|
|
46
|
+
errors, labels and identifiers. Write concepts in ordinary prose. Cite the
|
|
47
|
+
source location for each verified literal; label unknown facts as unknown.
|
|
48
|
+
Remove drafting prompts before publishing and retain owner-review gaps explicitly.
|
|
49
|
+
|
|
50
|
+
Keep these three evidence classes separate:
|
|
51
|
+
|
|
52
|
+
- Planned automation: intended coverage, with owner and remaining work.
|
|
53
|
+
- Implemented assertions: the test path and the exact assertion it implements.
|
|
54
|
+
- Dated execution evidence: date, environment/configuration, result and evidence
|
|
55
|
+
location. Implemented assertions alone do not prove a successful execution.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Decisions pointer
|
|
3
|
+
description: A curated guide to consequential decisions, not a ledger or an ADR.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Decisions pointer
|
|
7
|
+
|
|
8
|
+
## Where records live
|
|
9
|
+
|
|
10
|
+
Link the repository's authoritative decision store. This page is not a ledger and
|
|
11
|
+
is not an ADR; it routes readers to records without copying their full content.
|
|
12
|
+
|
|
13
|
+
## How records are created
|
|
14
|
+
|
|
15
|
+
Describe the existing repository process and required review. Do not initialize a
|
|
16
|
+
new decision system or imply adoption because this template was scaffolded.
|
|
17
|
+
|
|
18
|
+
## Selected decisions
|
|
19
|
+
|
|
20
|
+
Curate 3–8 real records relevant to this audience, each with a one-line consequence.
|
|
21
|
+
Remove the drafting row and do not fabricate records to fill a quota.
|
|
22
|
+
|
|
23
|
+
| Record | Consequence | Staleness flag |
|
|
24
|
+
| ------------------ | ------------------------------------ | --------------------------------- |
|
|
25
|
+
| <real record link> | <current effect on reader decisions> | <current/superseded/needs review> |
|
|
26
|
+
|
|
27
|
+
## Staleness and review
|
|
28
|
+
|
|
29
|
+
Identify superseded guidance, last verification and owner-review gaps. Keep the
|
|
30
|
+
canonical record authoritative when this pointer becomes stale.
|
|
31
|
+
|
|
32
|
+
## Writing and evidence rules
|
|
33
|
+
|
|
34
|
+
Use backticks only for literals verified verbatim in source, such as commands,
|
|
35
|
+
errors, labels and identifiers. Write concepts in ordinary prose. Cite the
|
|
36
|
+
source location for each verified literal; label unknown facts as unknown.
|
|
37
|
+
Remove drafting prompts before publishing and retain owner-review gaps explicitly.
|
|
38
|
+
|
|
39
|
+
Keep these three evidence classes separate:
|
|
40
|
+
|
|
41
|
+
- Planned automation: intended coverage, with owner and remaining work.
|
|
42
|
+
- Implemented assertions: the test path and the exact assertion it implements.
|
|
43
|
+
- Dated execution evidence: date, environment/configuration, result and evidence
|
|
44
|
+
location. Implemented assertions alone do not prove a successful execution.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Engineering feature
|
|
3
|
+
description: Implementation contracts and testing seams for one feature.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Engineering feature
|
|
7
|
+
|
|
8
|
+
## Routes and params
|
|
9
|
+
|
|
10
|
+
List verified routes, parameters, defaults and validation boundaries.
|
|
11
|
+
|
|
12
|
+
## Primary files
|
|
13
|
+
|
|
14
|
+
Link implementation entry points and explain each file's responsibility.
|
|
15
|
+
|
|
16
|
+
## Data and state
|
|
17
|
+
|
|
18
|
+
Describe ownership, lifecycle, persistence and shared contracts; link domain references.
|
|
19
|
+
|
|
20
|
+
## Flags
|
|
21
|
+
|
|
22
|
+
List verified flags and rollout/configuration behavior; state unknown when unverified.
|
|
23
|
+
|
|
24
|
+
## Failure modes and constraints
|
|
25
|
+
|
|
26
|
+
Describe failure propagation, recovery and supported limits with source references.
|
|
27
|
+
|
|
28
|
+
## Testing seams
|
|
29
|
+
|
|
30
|
+
Identify setup, injection boundaries and observable assertions without claiming coverage.
|
|
31
|
+
|
|
32
|
+
## Paired documentation
|
|
33
|
+
|
|
34
|
+
Link the Product feature and QA validation pages. Engineering is hybrid: domain and
|
|
35
|
+
implementation contracts coexist with paired feature pages, without duplicating facts.
|
|
36
|
+
|
|
37
|
+
## Source references
|
|
38
|
+
|
|
39
|
+
Cite source paths and symbols supporting each implementation claim.
|
|
40
|
+
|
|
41
|
+
## Writing and evidence rules
|
|
42
|
+
|
|
43
|
+
Use backticks only for literals verified verbatim in source, such as commands,
|
|
44
|
+
errors, labels and identifiers. Write concepts in ordinary prose. Cite the
|
|
45
|
+
source location for each verified literal; label unknown facts as unknown.
|
|
46
|
+
Remove drafting prompts before publishing and retain owner-review gaps explicitly.
|
|
47
|
+
|
|
48
|
+
Keep these three evidence classes separate:
|
|
49
|
+
|
|
50
|
+
- Planned automation: intended coverage, with owner and remaining work.
|
|
51
|
+
- Implemented assertions: the test path and the exact assertion it implements.
|
|
52
|
+
- Dated execution evidence: date, environment/configuration, result and evidence
|
|
53
|
+
location. Implemented assertions alone do not prove a successful execution.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Per-area AGENTS
|
|
3
|
+
description: Local authoring instructions excluded from reader navigation.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Per-area AGENTS
|
|
7
|
+
|
|
8
|
+
## Audience
|
|
9
|
+
|
|
10
|
+
Name the reader and agent work contexts this area serves.
|
|
11
|
+
|
|
12
|
+
## Voice
|
|
13
|
+
|
|
14
|
+
Describe the area's vocabulary, level of detail and evidence expectations.
|
|
15
|
+
|
|
16
|
+
## Belongs here versus elsewhere
|
|
17
|
+
|
|
18
|
+
State the entry principle, canonical facts owned here and routes to adjacent areas.
|
|
19
|
+
|
|
20
|
+
## Cross-area triggers
|
|
21
|
+
|
|
22
|
+
Name changes requiring paired Product/Engineering/QA pages or shared-contract review.
|
|
23
|
+
|
|
24
|
+
## Verification
|
|
25
|
+
|
|
26
|
+
List the actual checks and review process for this area. Keep this instruction file
|
|
27
|
+
out of reader Contents and navigation. This copyable template does not automatically
|
|
28
|
+
create per-track AGENTS files; reconcile ancestor instructions before adopting it.
|
|
29
|
+
|
|
30
|
+
## Writing and evidence rules
|
|
31
|
+
|
|
32
|
+
Use backticks only for literals verified verbatim in source, such as commands,
|
|
33
|
+
errors, labels and identifiers. Write concepts in ordinary prose. Cite the
|
|
34
|
+
source location for each verified literal; label unknown facts as unknown.
|
|
35
|
+
Remove drafting prompts before publishing and retain owner-review gaps explicitly.
|
|
36
|
+
|
|
37
|
+
Keep these three evidence classes separate:
|
|
38
|
+
|
|
39
|
+
- Planned automation: intended coverage, with owner and remaining work.
|
|
40
|
+
- Implemented assertions: the test path and the exact assertion it implements.
|
|
41
|
+
- Dated execution evidence: date, environment/configuration, result and evidence
|
|
42
|
+
location. Implemented assertions alone do not prove a successful execution.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Product feature
|
|
3
|
+
description: Intended behavior and reader-visible boundaries for one feature or journey.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Product feature
|
|
7
|
+
|
|
8
|
+
## Availability and entry points
|
|
9
|
+
|
|
10
|
+
Describe who can use the feature, prerequisites and supported entry points.
|
|
11
|
+
Identify unavailable contexts without guessing rollout status.
|
|
12
|
+
|
|
13
|
+
## Expected journey
|
|
14
|
+
|
|
15
|
+
Describe the reader's goal, starting state, numbered actions and observable result.
|
|
16
|
+
|
|
17
|
+
## Behavior rules
|
|
18
|
+
|
|
19
|
+
State the rules and permissions that determine the result; link canonical shared rules.
|
|
20
|
+
|
|
21
|
+
## States and edge cases
|
|
22
|
+
|
|
23
|
+
Cover loading, empty, success, denied and failed states that source supports.
|
|
24
|
+
|
|
25
|
+
## External boundary
|
|
26
|
+
|
|
27
|
+
Name external systems and where this feature stops owning behavior.
|
|
28
|
+
|
|
29
|
+
## Paired documentation
|
|
30
|
+
|
|
31
|
+
Link the Engineering feature and QA validation pages using matching feature names.
|
|
32
|
+
|
|
33
|
+
## Evidence and owner-review gaps
|
|
34
|
+
|
|
35
|
+
Cite implementation/product evidence and name unconfirmed behavior and its reviewer.
|
|
36
|
+
|
|
37
|
+
## Writing and evidence rules
|
|
38
|
+
|
|
39
|
+
Use backticks only for literals verified verbatim in source, such as commands,
|
|
40
|
+
errors, labels and identifiers. Write concepts in ordinary prose. Cite the
|
|
41
|
+
source location for each verified literal; label unknown facts as unknown.
|
|
42
|
+
Remove drafting prompts before publishing and retain owner-review gaps explicitly.
|
|
43
|
+
|
|
44
|
+
Keep these three evidence classes separate:
|
|
45
|
+
|
|
46
|
+
- Planned automation: intended coverage, with owner and remaining work.
|
|
47
|
+
- Implemented assertions: the test path and the exact assertion it implements.
|
|
48
|
+
- Dated execution evidence: date, environment/configuration, result and evidence
|
|
49
|
+
location. Implemented assertions alone do not prove a successful execution.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: QA validation
|
|
3
|
+
description: Reproducible behavioral validation for one feature or journey.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# QA validation
|
|
7
|
+
|
|
8
|
+
## Scope
|
|
9
|
+
|
|
10
|
+
Name the behavior, supported platforms and paired Product and Engineering pages.
|
|
11
|
+
|
|
12
|
+
## Named seeds
|
|
13
|
+
|
|
14
|
+
Name each reproducible account/data seed, setup procedure and preconditions. Do not
|
|
15
|
+
include credentials or real personal data; document safe provisioning instead.
|
|
16
|
+
|
|
17
|
+
## Configuration matrix
|
|
18
|
+
|
|
19
|
+
List relevant versions, flags, permissions, data states and platform combinations.
|
|
20
|
+
|
|
21
|
+
## Scenarios
|
|
22
|
+
|
|
23
|
+
| ID | Priority | Given | When | Then (exact copy) | Evidence | Automation |
|
|
24
|
+
| ----------- | ---------- | ---------------------- | -------- | --------------------------------------- | ------------------------------ | --------------------------------------- |
|
|
25
|
+
| <stable ID> | <priority> | <named seed and state> | <action> | <verified observable result or unknown> | <dated result link or not run> | <planned or implemented test reference> |
|
|
26
|
+
|
|
27
|
+
## Ready signal
|
|
28
|
+
|
|
29
|
+
State the observable signal that setup and asynchronous work are ready before acting.
|
|
30
|
+
|
|
31
|
+
## Cleanup
|
|
32
|
+
|
|
33
|
+
Give reset/removal steps and verify that seeds and side effects are cleaned up.
|
|
34
|
+
|
|
35
|
+
## Platform deltas
|
|
36
|
+
|
|
37
|
+
Document supported differences, including locators and expected results.
|
|
38
|
+
|
|
39
|
+
## External boundary
|
|
40
|
+
|
|
41
|
+
Name external behavior that requires another owner or test environment.
|
|
42
|
+
|
|
43
|
+
## Out of scope
|
|
44
|
+
|
|
45
|
+
Explain excluded behaviors and who verifies them. Keep owner-review gaps visible.
|
|
46
|
+
|
|
47
|
+
## Writing and evidence rules
|
|
48
|
+
|
|
49
|
+
Use backticks only for literals verified verbatim in source, such as commands,
|
|
50
|
+
errors, labels and identifiers. Write concepts in ordinary prose. Cite the
|
|
51
|
+
source location for each verified literal; label unknown facts as unknown.
|
|
52
|
+
Remove drafting prompts before publishing and retain owner-review gaps explicitly.
|
|
53
|
+
|
|
54
|
+
Keep these three evidence classes separate:
|
|
55
|
+
|
|
56
|
+
- Planned automation: intended coverage, with owner and remaining work.
|
|
57
|
+
- Implemented assertions: the test path and the exact assertion it implements.
|
|
58
|
+
- Dated execution evidence: date, environment/configuration, result and evidence
|
|
59
|
+
location. Implemented assertions alone do not prove a successful execution.
|