docs-sync
Sync AILANG documentation website with codebase reality. Use after releases, when features are implemented, or when website accuracy is questioned. Checks design docs vs website, validates examples, updates feature status.
$ Installieren
git clone https://github.com/sunholo-data/ailang /tmp/ailang && cp -r /tmp/ailang/.claude/skills/docs-sync ~/.claude/skills/ailang// tip: Run this command in your terminal to install the skill
name: docs-sync description: Sync AILANG documentation website with codebase reality. Use after releases, when features are implemented, or when website accuracy is questioned. Checks design docs vs website, validates examples, updates feature status.
Documentation Sync Skill
Keep the AILANG website in sync with actual implementation by checking design docs, validating examples, and tracking feature status.
Quick Start
# After a release - full sync check
# User: "sync docs for v0.5.6" or "run docs-sync"
# Check specific area
# User: "verify landing pages" or "check working examples"
When to Use This Skill
Invoke this skill when:
- After any release (post-release should trigger this)
- User questions website accuracy
- Features move from planned â implemented
- Examples may be broken or outdated
- Version constants need updating
Workflow
1. Pre-flight Checks
Run all diagnostic scripts to understand current state:
# Check design docs status
.claude/skills/docs-sync/scripts/audit_design_docs.sh
# Check version constants
.claude/skills/docs-sync/scripts/check_versions.sh
# Validate working examples
.claude/skills/docs-sync/scripts/check_examples.sh
2. Review Feature Themes
Features are grouped into themes (see resources/feature_themes.md):
| Theme | Status Page | Description |
|---|---|---|
| Core Language | /reference/language-syntax | Types, ADTs, pattern matching |
| Effect System | /reference/effects | Capabilities, IO, FS, Net |
| Module System | /reference/modules | Imports, exports, aliasing |
| Go Codegen | /guides/go-codegen | Compilation to Go |
| AI Integration | /guides/ai-integration | Prompts, benchmarks, agents |
| Testing | /guides/testing | Inline tests, property-based |
| Developer Experience | /guides/development | REPL, debugging, CLI |
| Roadmap: Execution Profiles | /roadmap/execution-profiles | v0.6.0 planned |
| Roadmap: Shared Semantic State | /roadmap/shared-semantic-state | v0.6.0 planned |
| Roadmap: Deterministic Tooling | /roadmap/deterministic-tooling | v0.7.0 planned |
3. Fix Priority Order
- Version Constants - Update
docs/src/constants/version.js - Landing Pages - intro.mdx, vision.mdx, why-ailang.mdx
- Working Examples - Ensure examples use raw-loader, all pass
- Status Banners - Add "PLANNED" banners to future features
- Feature Docs - Create missing docs for implemented features
- Roadmap Section - Move theoretical pages to roadmap
4. Update Checklist
After fixing, verify:
# Rebuild and check
cd docs && npm run build
# Verify no broken links
npm run serve # Manual check
# Commit changes
git add docs/
git commit -m "docs: sync website with v0.X.X implementation"
Scripts
| Script | Purpose |
|---|---|
audit_design_docs.sh | Compare planned vs implemented design docs |
derive_roadmap_versions.sh | Derive target versions from design doc folders |
check_versions.sh | Verify version constants match releases |
check_examples.sh | Validate example files compile/run |
generate_report.sh | Generate sync status report |
CLI Example Verification (External)
The Makefile provides CLI example verification that complements this skill:
# Verify all CLI examples documented in examples/cli_examples.txt
make verify-cli-examples
# Full verification: code examples + CLI examples
make verify-examples && make verify-cli-examples
CLI Examples File Format (examples/cli_examples.txt):
# Comment explaining the example
$ ailang run --caps IO --entry main examples/runnable/hello.ail
Hello, AILANG!
This ensures CLI syntax in documentation matches actual behavior.
Version Derivation Script
# List all planned features with derived target versions
.claude/skills/docs-sync/scripts/derive_roadmap_versions.sh
# Full lifecycle: planned + implemented features
.claude/skills/docs-sync/scripts/derive_roadmap_versions.sh --full
# Check website consistency (exits 1 if mismatches)
.claude/skills/docs-sync/scripts/derive_roadmap_versions.sh --check
# JSON output for automation
.claude/skills/docs-sync/scripts/derive_roadmap_versions.sh --json --full
# Full validation: all features + website check
.claude/skills/docs-sync/scripts/derive_roadmap_versions.sh --full --check
Resources
| Resource | Content |
|---|---|
feature_themes.md | Feature groupings and expected pages |
landing_page_checklist.md | Requirements for main pages |
Integration with Post-Release
The post-release skill should invoke docs-sync automatically:
# In post-release workflow after eval baselines
# Run docs-sync to update website
Key Principles
-
Theoretical is OK - Future features can be documented, but must:
- Link to design docs on GitHub
- Have clear status banner (e.g., "PLANNED FOR v0.6.0")
- Be in roadmap section, not current features
-
Examples Must Work - Every code example should:
- Use raw-loader to import from
examples/ - Be tested with
ailang runorailang test - Never embed code directly in MDX
- CLI commands must be added to
examples/cli_examples.txtand verified with./tools/verify_cli_examples.sh - Default entrypoint is
main- don't use--entry mainunless showing non-main entry - Test all commands before documenting:
./bin/ailang run --caps IO examples/runnable/hello.ail
Exception for Reference Documentation:
- Reference pages (e.g.,
language-syntax.md,effects.md) may use inline syntax snippets - These are small patterns showing language constructs, not complete runnable programs
- Tutorial pages (
examples.mdx,getting-started.mdx,guides/) must always import from files - Rule: If the code snippet is a complete runnable program, it MUST be imported
- Use raw-loader to import from
-
Design Docs = Ultimate Source of Truth - The folder structure tracks complete feature lifecycle:
Planned features:
design_docs/planned/v0_6_0/foo.mdâ Feature targets v0.6.0- Website pages must match:
PLANNED FOR v0.6.0banner - Website MUST link to design doc on GitHub as ultimate reference
- OVERDUE = design doc folder version †current release but not implemented
Implemented features:
design_docs/implemented/v0_5_6/foo.mdâ Feature shipped in v0.5.6- Website reference pages can link to implemented design docs
- Moving
planned/âimplemented/= feature is done
Validation:
- Run
./scripts/derive_roadmap_versions.sh --checkto validate website - Run
./scripts/derive_roadmap_versions.sh --fullto see complete lifecycle - Script checks for GitHub links in roadmap pages
-
One Source of Truth - Version comes from:
git describe --tagsâ actual versionprompts/versions.jsonâ latest prompt- These feed into
docs/src/constants/version.js
-
Themes Over Changelog - Group features by theme, not by version. Users care about "how do effects work?" not "what changed in v0.5.3?"
-
Evolving Themes - Themes should evolve as the language grows:
- When a feature doesn't fit existing themes, consider a new theme
- New themes warrant new landing pages
- Update
resources/feature_themes.mdwhen adding themes - Current themes: Core Language, Type System, Effect System, Module System, Go Codegen, Arrays, Testing, AI Integration, Developer Experience
- Roadmap themes: Execution Profiles, Deterministic Tooling, Shared Semantic State
Theme Evolution Guidelines
When reviewing new features, ask:
- Does this fit an existing theme? â Add to that theme's page
- Is this a major new capability? â Consider a new theme
- Is this cross-cutting? â May need multiple mentions but one authoritative page
Signals for a New Theme
- 3+ related features with no natural home
- A new design doc folder (e.g.,
v0_7_0/) with a coherent focus - User questions consistently asking "how do I do X?" where X isn't covered
- A planned feature graduating to implemented that's substantial
Creating a New Theme
- Add entry to
resources/feature_themes.md - Create website page at appropriate location
- Update sidebar in
docs/sidebars.js - Cross-link from related themes
- Update this skill's theme table above
Repository
