Files
adolf/.agents/skills/technical-documentation/references/build.md
alvis bedb527145
Some checks failed
ClawSweeper Dispatch / dispatch (push) Has been cancelled
CodeQL / Security High (actions) (push) Has been cancelled
CodeQL / Security High (channel-runtime-boundary) (push) Has been cancelled
CodeQL / Security High (core-auth-secrets) (push) Has been cancelled
CodeQL / Security High (mcp-process-tool-boundary) (push) Has been cancelled
CodeQL / Security High (network-ssrf-boundary) (push) Has been cancelled
CodeQL / Security High (plugin-trust-boundary) (push) Has been cancelled
CodeQL / Security High (process-exec-boundary) (push) Has been cancelled
Docs Sync Publish Repo / sync-publish-repo (push) Has been cancelled
Docs / docs (push) Has been cancelled
OpenClaw Stable Main Closeout / Resolve stable release closeout inputs (push) Has been cancelled
OpenClaw Stable Main Closeout / Verify stable main closeout (push) Has been cancelled
Workflow Sanity / no-tabs (push) Has been cancelled
Workflow Sanity / actionlint (push) Has been cancelled
Workflow Sanity / generated-doc-baselines (push) Has been cancelled
CI / runner-admission (push) Has been cancelled
CI / preflight (push) Has been cancelled
CI / security-fast (push) Has been cancelled
CI / pnpm-store-warmup (push) Has been cancelled
CI / build-artifacts (push) Has been cancelled
CI / native-i18n (push) Has been cancelled
CI / ${{ matrix.check_name }} (push) Has been cancelled
CI / ${{ matrix.checkName }} (push) Has been cancelled
CI / checks-node-compat-node22 (push) Has been cancelled
CI / check-bundled-channel-config-metadata (push) Has been cancelled
CI / check-dependencies (push) Has been cancelled
CI / check-guards (push) Has been cancelled
CI / check-lint (push) Has been cancelled
CI / check-prod-types (push) Has been cancelled
CI / check-shrinkwrap (push) Has been cancelled
CI / check-test-types (push) Has been cancelled
CI / check-additional-boundaries-a (push) Has been cancelled
CI / check-additional-boundaries-bcd (push) Has been cancelled
CI / check-additional-extension-bundled (push) Has been cancelled
CI / check-additional-extension-channels (push) Has been cancelled
CI / check-additional-extension-package-boundary (push) Has been cancelled
CI / check-additional-runtime-topology-architecture (push) Has been cancelled
CI / check-session-accessor-boundary (push) Has been cancelled
CI / check-session-transcript-reader-boundary (push) Has been cancelled
CI / check-docs (push) Has been cancelled
CI / skills-python (push) Has been cancelled
CI / macos-swift (push) Has been cancelled
CI / ios-build (push) Has been cancelled
CI / ci-timings-summary (push) Has been cancelled
Native App Locale Refresh / Refresh native fa (push) Has been cancelled
Native App Locale Refresh / Refresh native fr (push) Has been cancelled
Native App Locale Refresh / Refresh native hi (push) Has been cancelled
Native App Locale Refresh / Refresh native id (push) Has been cancelled
Native App Locale Refresh / Refresh native it (push) Has been cancelled
Native App Locale Refresh / Refresh native ja-JP (push) Has been cancelled
Control UI Locale Refresh / plan (push) Has been cancelled
Control UI Locale Refresh / Refresh ${{ matrix.locale }} (push) Has been cancelled
Control UI Locale Refresh / Commit control UI locale refresh (push) Has been cancelled
Live Media Runner Image / Build live media runner image (push) Has been cancelled
Native App Locale Refresh / Refresh native ar (push) Has been cancelled
Native App Locale Refresh / Refresh native de (push) Has been cancelled
Native App Locale Refresh / Refresh native es (push) Has been cancelled
Native App Locale Refresh / Refresh native ko (push) Has been cancelled
Native App Locale Refresh / Refresh native nl (push) Has been cancelled
Native App Locale Refresh / Refresh native pl (push) Has been cancelled
Native App Locale Refresh / Refresh native pt-BR (push) Has been cancelled
Native App Locale Refresh / Refresh native ru (push) Has been cancelled
Native App Locale Refresh / Refresh native sv (push) Has been cancelled
Native App Locale Refresh / Refresh native th (push) Has been cancelled
Native App Locale Refresh / Refresh native tr (push) Has been cancelled
Native App Locale Refresh / Refresh native uk (push) Has been cancelled
Native App Locale Refresh / Refresh native vi (push) Has been cancelled
Native App Locale Refresh / Refresh native zh-CN (push) Has been cancelled
Native App Locale Refresh / Refresh native zh-TW (push) Has been cancelled
Native App Locale Refresh / Commit native locale refresh (push) Has been cancelled
Plugin Init Scaffold Validation / Validate provider scaffold (push) Has been cancelled
Plugin NPM Release / preview_plugins_npm (push) Has been cancelled
Plugin NPM Release / Validate release publish approval (push) Has been cancelled
Plugin NPM Release / preview_plugin_pack (push) Has been cancelled
Plugin NPM Release / publish_plugins_npm (push) Has been cancelled
Sandbox Common Smoke / sandbox-common-smoke (push) Has been cancelled
Website Installer Sync / static (push) Has been cancelled
Website Installer Sync / linux-docker (push) Has been cancelled
Website Installer Sync / macos-installer (push) Has been cancelled
Website Installer Sync / windows-installer (push) Has been cancelled
Website Installer Sync / sync-website (push) Has been cancelled
Vendor OpenClaw source as Adolf fork baseline
Adolf is a fork/vendored clone of github.com/openclaw/openclaw (v2026.6.11),
free to diverge. Tree copied sans upstream .git; upstream remote added for
future syncs. Node pinned to 24 (.nvmrc); engines already require >=22.19.
Preserves docs/ARCHITECTURE.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LeqyaxJF2nbRXJtae2kNB2
2026-07-05 09:36:54 +00:00

6.8 KiB

Build Docs Playbook

Read principles.md first, then follow this execution flow.

1. Detect and align agent instruction and governance instructions

  • Use references/agent-and-contributing.md as the source of truth for inventory, canonical/alias mapping, and precedence/conflict handling.
  • Apply the symlink compatibility policy when in scope (.agents canonical directory with .cursor compatibility symlink when required by tooling).
  • Long-running and extensive build investigations are acceptable when needed to resolve ambiguous or conflicting documentation sources.
  • When available, use sub-agents for bounded parallel inventory/cross-check tasks and merge results into one canonical decision set.
  • Capture required constraints before writing:
    • nested-agent rules, command/test requirements, PR workflow, and style checks.
  • Use the same command and validation expectations in proposed snippets and examples.

2. Inventory product documentation surfaces (not governance only)

  • For repo-wide builds, include docs content surfaces in addition to AGENTS/CONTRIBUTING.
  • Inventory docs files and frameworks in scope (examples): README*.md, docs/**, **/*.md, **/*.mdx, **/*.mdc, **/*.rst, **/*.rsc, Fern/Mintlify config, Sphinx conf.py.
  • Build a coverage map before drafting so governance and product docs are both represented.
  • If scope is ambiguous, default to broader docs discovery first, then narrow intentionally.

3. Framework config and path mapping rules

  • Detect framework/config first (for example Fern config, Sphinx conf.py, Mintlify config, or equivalent).
  • Resolve every referenced path relative to the file/config that declares it, not assumed repo root.
  • Treat filesystem paths and published URL routes as separate mappings; do not infer one from the other without config evidence.
  • Validate both layers:
    • config -> file exists on disk
    • config/nav/routing -> URL path is consistent and reachable
  • Record path-mapping assumptions and mismatches in handoff (missing file, stale route, wrong base path).

4. Define intent and success

  • Audience, prerequisites, and job-to-be-done.
  • Expected reader outcome immediately after completion.
  • Doc type: tutorial, how-to, reference, explanation.
  • Success criteria: what must be true after publish.

5. Build structure before prose

  • Follow the funnel: what/why, quickstart, next steps.
  • Keep headings informative and scannable.
  • Open each section with the takeaway sentence.
  • Add decision points with concrete branch guidance.
  • For OpenClaw docs work, choose a page type from references/openclaw.md before drafting.
  • Keep task-critical OpenClaw configuration inline; link exhaustive defaults, enums, schemas, generated references, and rare debugging workflows.

6. Build AGENTS.md and CONTRIBUTING.md intentionally

  • Keep AGENTS.md structure consistent with agents.md ecosystem patterns:
    • include YAML frontmatter when present in repo style (name, description).
    • state persona scope and explicit instruction boundaries: Always, Ask first, Never.
    • include concrete commands and representative code examples.
  • For CONTRIBUTING.md, prioritize issue triage flow, PR expectations, setup/test commands, and review gates.
  • Add Code of Conduct, Testing, Local checks, and PR expectations sections when missing but required by the repo.
  • If CONTRIBUTING.md is becoming too large, split by scope into linked docs (for example, framework/tool-specific setup and release workflows) and keep the root file as a concise entry point.
  • Keep cross-file consistency: links from CONTRIBUTING.md to AGENTS.md (and vice versa) should be accurate and non-circular.
  • If multiple AGENTS.md files exist, document the directory-level scope and avoid conflicting advice.
  • If a required canonical entry file is missing (for example referenced README.md under a major directory), create the file in the same pass instead of adding a caveat-only note.
  • For new entry files, keep them minimal and actionable: purpose, prerequisites, concrete run commands, and pointers to deeper docs.

7. Keep agent context tight

  • Author once, expose twice:
    • keep one shared policy core and avoid duplicating guidance in separate agent-specific files.
    • publish that core through bounded glob-friendly files for Cursor/Claude plus explicit path references for Codex.
  • For Cursor and Claude-style agents, avoid broad references. Use minimal globbing and narrow rule files that each serve one concern (for example, repo-wide setup, test rules, security checks).
  • Keep AGENTS and alias files short-to-medium; move detailed runbooks to linked docs.
  • For Codex, prefer explicit file references and concrete paths for exact reuse.
  • Avoid adding unrelated historical or process details to avoid token/context drift during future tool reads.

8. Brownfield build mode

  • Match existing terminology, navigation, and component patterns.
  • Preserve existing IA unless there is a documented migration plan.
  • For rewrites, include a migration note from old to new paths.
  • Prefer smallest safe change set that improves utility.

9. Evergreen build mode

  • Prefer stable concepts over release-tied narrative.
  • Isolate volatile details under clearly marked version sections.
  • Include maintenance signals: owners, refresh triggers, stale criteria.
  • Include lifecycle notes: deprecation and replacement paths.

10. Writing constraints

  • Use precise language and short, imperative instructions.
  • Keep code examples copy-ready and self-contained.
  • Include common failure modes and safe defaults.
  • Avoid placeholder guidance that cannot be executed.

11. Agent and automation readiness

  • Keep key facts in text (not image-only).
  • Prefer structured lists/tables when choices matter.
  • Add links and anchors that allow deterministic navigation.
  • Document what can be checked automatically in CI.

12. Build validation

  • Validate commands and snippets where possible.
  • Verify links and references in changed sections.
  • Run a reference existence sweep for every path/command you introduced.
  • Verify docs-framework consistency when in scope (for example Sphinx/Fern config and referenced doc paths).
  • For OpenClaw docs work, apply the validation checklist in references/openclaw.md.

13. Multilingual parity mode (when applicable)

  • Pick one source-of-truth language for technical accuracy and release timing.
  • Define parity target: full parity, staged parity, or intentional divergence per section.
  • Keep structure aligned across locales (headings, anchors, section order) when possible.
  • Preserve command/code correctness first; localize explanatory text second.
  • If parity is not feasible, add a visible note with missing scope and expected sync window.
  • Run a locale parity check for changed sections (added/removed steps, warnings, prerequisites).
  • Record unresolved checks explicitly in handoff.