| name | doc-sync |
| description | Audit and synchronize documentation across website, READMEs, and docs/. Use when verifying docs are aligned after feature changes, SDK updates, CLI changes, or release preparation. Detects drift between website content, markdown docs, and SDK READMEs. |
| argument-hint | feature area to audit or "full" for complete audit |
Doc Sync — Cross-Surface Documentation Alignment
Audit and synchronize documentation across all surfaces to prevent drift.
When to Use
- After adding or changing a feature, CLI flag, or SDK capability
- After updating website content (DocsContent.astro, i18n strings)
- Before a release to verify all docs reflect current behavior
- When a code review flags outdated documentation
Documentation Surfaces
| Surface | Location | Purpose |
|---|
| Website docs | src/website/src/components/DocsContent.astro | User-facing docs page with code examples |
| Website i18n | src/website/src/i18n/{en,ca,es}.ts | Translated strings for website |
| Root README | README.md | Project overview, install, quick start |
| GHA README | github-action/README.md | GitHub Action usage and inputs |
| CLI docs | docs/pull-command.md, docs/push-command.md | CLI command reference |
| GHA docs | docs/github-action.md | GitHub Action detailed docs |
| SDK READMEs | src/sdks/{dotnet,python,typescript}/README.md | SDK-specific install and usage |
| SDK examples | examples/sdk/{dotnet,python}/README.md | Example code with explanations |
| Changelogs | docs/changelogs/{cli,gha,sdk-*}.md | Per-component changelogs |
| ROADMAP | ROADMAP.md | Feature status tracking |
Procedure
1. Identify Scope
Determine which feature area to audit:
- CLI: root README,
docs/pull-command.md, docs/push-command.md, website DocsContent
- GHA:
github-action/README.md, docs/github-action.md, website DocsContent
- SDK (per runtime):
src/sdks/{runtime}/README.md, examples/sdk/{runtime}/,
website DocsContent + Sdks.astro, i18n strings
- Full: all surfaces
2. Extract Source of Truth
For each feature area, identify the authoritative source:
| Area | Source of Truth |
|---|
| CLI flags/options | src/envilder/apps/cli/Cli.ts |
| GHA inputs | github-action/action.yml |
| SDK public API | SDK source code (src/sdks/{runtime}/) |
| Providers | src/envilder/core/infrastructure/ |
| Map-file format | envilder.json (example) + copilot-instructions |
3. Audit Each Surface
For each documentation surface, check:
4. Report Drift
Present findings in a structured table:
## Documentation Drift Report
| Surface | File | Issue | Severity |
|---------|------|-------|----------|
| Website | DocsContent.astro | Missing --profile flag in CLI section | High |
| SDK README | src/sdks/python/README.md | load() example uses old API | High |
| Root README | README.md | Version badge outdated | Low |
## Alignment Actions
1. {file} — {what to update}
2. {file} — {what to update}
5. Apply Fixes
For each drift item:
- Update the documentation surface
- If i18n strings changed, update all 3 locales
- Verify the fix against the source of truth
6. Validate
- Run
pnpm lint to check for formatting issues
- For website changes, verify the build: check i18n key consistency
Cross-Reference Matrix
Use this matrix to ensure consistency when updating a feature:
| When you change... | Also update... |
|---|
CLI flag in Cli.ts | docs/pull-command.md or docs/push-command.md, root README, DocsContent, i18n |
GHA input in action.yml | github-action/README.md, docs/github-action.md, website DocsContent, i18n |
| SDK public API | SDK README, examples README, website DocsContent + Sdks.astro, i18n |
| New SDK added | Run full sdk-release-checklist skill (version badge, changelog, i18n, docs) |
| SDK version bump | Bump canonical source file; changelog entry; website picks up version at build time |
| New provider | All provider listings: root README, website Providers.astro, DocsContent, SDK READMEs |
| Map-file format | Root README, all SDK READMEs, website DocsContent |
| ROADMAP status | ROADMAP.md, website Roadmap.astro |
Constraints
- Never invent features not present in code
- Verify claims against source code before writing
- Preserve existing document structure and tone
- Keep code examples minimal and runnable