DocSync
Scanned@suhteevah
npx machina-cli add skill @suhteevah/docsync --openclawDocSync — Living Documentation for Your Codebase
DocSync generates documentation from your code and keeps it in sync automatically. It uses tree-sitter for multi-language AST parsing, lefthook for git hook integration, and difftastic for semantic change detection.
Commands
Free Tier (No license required)
docsync generate <file-or-directory>
Generate a one-shot README or API doc for a single file or directory.
How to execute:
bash "<SKILL_DIR>/scripts/docsync.sh" generate <target>
What it does:
- Parses the target file(s) with tree-sitter to extract symbols (functions, classes, exports, types, interfaces)
- Applies the appropriate template from
<SKILL_DIR>/templates/ - Generates a markdown documentation file alongside the source
Example usage scenarios:
- "Generate docs for src/utils/auth.ts" → runs
docsync generate src/utils/auth.ts - "Document this whole directory" → runs
docsync generate src/api/ - "Create a README for this project" → runs
docsync generate .
Pro Tier ($29/user/month — requires DOCSYNC_LICENSE_KEY)
docsync drift [directory]
Scan for documentation drift — find where code has changed but docs haven't been updated.
How to execute:
bash "<SKILL_DIR>/scripts/docsync.sh" drift [directory]
What it does:
- Validates license key from config
- Parses all source files with tree-sitter
- Compares extracted symbols against existing documentation
- Reports: new undocumented symbols, changed signatures with stale docs, deleted symbols still in docs
- Outputs a drift report with severity levels (critical/warning/info)
docsync hooks install
Install git hooks that automatically check for doc drift on every commit.
How to execute:
bash "<SKILL_DIR>/scripts/docsync.sh" hooks install
What it does:
- Validates Pro+ license
- Copies lefthook config to project root
- Installs lefthook pre-commit hook
- On every commit: analyzes staged files, blocks commit if critical drift detected, offers auto-regen
docsync hooks uninstall
Remove DocSync git hooks.
bash "<SKILL_DIR>/scripts/docsync.sh" hooks uninstall
docsync auto-fix [directory]
Auto-regenerate stale documentation for files with detected drift.
bash "<SKILL_DIR>/scripts/docsync.sh" auto-fix [directory]
Team Tier ($49/user/month — requires DOCSYNC_LICENSE_KEY with team tier)
docsync onboarding [directory]
Generate a comprehensive onboarding guide for new developers.
bash "<SKILL_DIR>/scripts/docsync.sh" onboarding [directory]
docsync architecture [directory]
Generate architecture documentation showing module relationships and data flow.
bash "<SKILL_DIR>/scripts/docsync.sh" architecture [directory]
Supported Languages
DocSync uses tree-sitter grammars and supports:
- JavaScript / TypeScript (including JSX/TSX)
- Python
- Rust
- Go
- Java
- C / C++
- Ruby
- PHP
- C#
- Swift
- Kotlin
Configuration
Users can configure DocSync in ~/.openclaw/openclaw.json:
{
"skills": {
"entries": {
"docsync": {
"enabled": true,
"apiKey": "YOUR_LICENSE_KEY_HERE",
"config": {
"outputDir": "docs",
"templateOverrides": {},
"excludePatterns": ["**/node_modules/**", "**/dist/**", "**/.git/**"],
"languages": ["typescript", "python", "go"],
"driftThreshold": "warning",
"autoFix": false
}
}
}
}
}
Important Notes
- Free tier works immediately with no configuration
- Pro/Team tiers require a license key from https://docsync.pages.dev
- All processing happens locally — no code is sent to external servers
- License validation is offline — no network calls needed
- Git hooks use lefthook which must be installed (see install metadata above)
- tree-sitter and difftastic are optional but recommended for best results; the skill falls back to regex-based parsing if unavailable
Error Handling
- If tree-sitter is not installed, fall back to regex-based symbol extraction (less accurate but functional)
- If lefthook is not installed and user tries
hooks install, prompt to install it - If license key is invalid or expired, show clear message with link to https://docsync.pages.dev/renew
- If a language grammar is not available, skip that file with a warning
When to Use DocSync
The user might say things like:
- "Generate docs for this file/project"
- "Are my docs up to date?"
- "Check for documentation drift"
- "Set up auto-docs on my commits"
- "Create an onboarding guide"
- "Document the architecture"
- "What's undocumented in this codebase?"
Overview
DocSync auto-generates documentation from your code and keeps it current. It leverages tree-sitter for multi-language AST parsing, lefthook for git hook integration, and difftastic for semantic change detection, offering a free README generator and paid living docs.
How This Skill Works
It parses source files with tree-sitter to extract symbols (functions, classes, exports, types, interfaces) and renders them into Markdown docs using templates. It integrates with git via lefthook to run drift checks on commits and uses difftastic for semantic diff to detect changes, enabling auto-regeneration with auto-fix.
When to Use It
- Generate a README or API docs directly from your code.
- Detect documentation drift after code changes.
- Enable pre-commit hooks to block commits with critical drift.
- Maintain living docs that auto-regenerate as code evolves.
- Generate onboarding and architecture docs from code structure.
Quick Start
- Step 1: Generate initial docs using the target path: bash "<SKILL_DIR>/scripts/docsync.sh" generate <target>
- Step 2: Check for drift with: bash "<SKILL_DIR>/scripts/docsync.sh" drift [directory]
- Step 3: Install pre-commit hooks to enforce drift checks: bash "<SKILL_DIR>/scripts/docsync.sh" hooks install
Best Practices
- Keep templates for each language up to date and customize them for your project.
- Register and maintain tree-sitter grammars for all languages you document.
- Run docsync generate before releases to refresh docs.
- Use a valid license key to enable Pro features like drift checks and auto-fix.
- Regularly review drift reports and validate regenerated docs.
Example Use Cases
- Generate a README and API docs for a Node.js library.
- Document a polyglot service with multi-language docs (JS/TS, Python, Go).
- Detect drift after a major refactor and refresh docs accordingly.
- Install git hooks to block commits with critical drift.
- Generate onboarding and architecture docs for a new team.