| name | generate-docs |
| description | Generate configuration reference documentation from conclaude-schema.json using src/bin/generate-docs.rs.
USE WHEN the schema file changes, configuration options are added/modified, or documentation needs to be regenerated for the website.
|
Generate Documentation
This skill helps you generate the configuration reference documentation for conclaude. The documentation is generated from conclaude-schema.json and output as Markdown files ready for the Starlight-based documentation site.
USE WHEN
Use this skill when:
- The
conclaude-schema.json file has been updated
- New configuration sections or properties have been added
- Configuration descriptions or examples have been modified in the schema
- Documentation is out of sync with the configuration schema
- Preparing documentation updates for a release
- Setting up or rebuilding the documentation site
- Schema descriptions, types, or default values have changed
- Adding new configuration examples to the schema
Do NOT use this skill when:
- Just viewing or reading the existing documentation
- Making changes unrelated to configuration
- Working on non-documentation features
- The schema hasn't changed since last doc generation
How It Works
The documentation generator (src/bin/generate-docs.rs) processes the JSON Schema file to create structured documentation:
- Reads
conclaude-schema.json from the workspace root
- Parses the schema to extract:
- Configuration sections and their properties
- Type information and default values
- Descriptions and documentation strings
- YAML examples embedded in descriptions
- Nested type definitions
- Generates Markdown files with Starlight frontmatter:
- Overview page with quick reference table
- Individual section pages with detailed properties
- Nested type documentation
- Complete configuration examples
- Outputs to
docs/src/content/docs/reference/config/ by default
The generated documentation integrates seamlessly with the Starlight documentation site.
Instructions
Step 1: Ensure Schema is Up-to-Date
First, make sure your schema file reflects the current configuration:
cargo run --bin generate-schema
Step 2: Generate Documentation
Run the documentation generator:
cargo run --bin generate-docs
This will:
- Read the schema from
conclaude-schema.json
- Generate an overview page at
docs/src/content/docs/reference/config/configuration.md
- Create individual section pages (e.g.,
hooks.md, files.md, etc.)
- Extract and format YAML examples from schema descriptions
- Document nested types used by configuration properties
Step 3: Custom Output Directory (Optional)
To generate docs to a different location:
cargo run --bin generate-docs -- --output path/to/output/dir
Step 4: Verify Generated Documentation
Check the generated files:
ls -l docs/src/content/docs/reference/config/
cat docs/src/content/docs/reference/config/configuration.md
Look for:
- Overview page with all configuration sections listed
- Individual section pages with property tables
- Properly formatted YAML examples
- Nested type definitions where applicable
- Starlight frontmatter with title and description
Step 5: Review in the Documentation Site
If you have the docs site running locally:
cd docs
npm run dev
Navigate to /reference/config/configuration to review the generated documentation in context.
Step 6: Commit the Documentation
Include the generated docs in your commit:
git add docs/src/content/docs/reference/config/
git commit -m "Update configuration reference documentation"
Expected Output
When successful, you'll see:
Conclaude Documentation Generator
==================================
Reading schema from conclaude-schema.json...
Parsing JSON schema...
Creating output directory: docs/src/content/docs/reference/config
Generating configuration overview page...
Generating documentation for section: files
Generating documentation for section: hooks
Generating documentation for section: preventGeneratedFileEdits
Generating documentation for section: sessionStart
Documentation generation complete!
Generated files in: docs/src/content/docs/reference/config
Generated files include:
configuration.md - Overview page with quick reference
hooks.md - Hooks configuration documentation
files.md - File protection rules documentation
session-start.md - Session startup configuration
- Additional section pages as needed
Common Issues
Schema File Not Found
If the generator can't find the schema:
- Ensure
conclaude-schema.json exists in the workspace root
- Run from the workspace root directory
- Regenerate the schema:
cargo run --bin generate-schema
Build Errors
If the generator fails to build:
- Ensure Rust toolchain is installed:
cargo --version
- Check that all dependencies are available:
cargo build
- Verify
src/bin/generate-docs.rs compiles
Output Directory Creation Failed
If it fails to create the output directory:
- Check file system permissions
- Ensure parent directories exist
- Try specifying an absolute path with
--output
Missing Examples or Descriptions
If generated docs lack examples or seem incomplete:
- Check that schema descriptions include YAML examples in
```yaml code blocks
- Verify schema descriptions are properly formatted
- Ensure nested types are defined in the
definitions section
Incorrect Markdown Formatting
If the output has formatting issues:
- Review the schema descriptions for special characters
- Check that YAML examples are properly escaped
- Verify Starlight frontmatter is correctly formatted
Output File Structure
The generator creates the following structure:
docs/src/content/docs/reference/config/
├── configuration.md # Overview with quick reference table
├── hooks.md # Hooks configuration section
├── files.md # File protection rules section
├── session-start.md # Session startup configuration
└── [other-sections].md # Additional configuration sections
Each section page includes:
- Starlight frontmatter (title, description)
- Section overview
- Configuration properties table with types and defaults
- Nested type definitions (if applicable)
- Complete YAML examples
- Navigation links back to overview
Related Files
src/bin/generate-docs.rs - The documentation generator binary
conclaude-schema.json - Input JSON Schema file
docs/src/content/docs/reference/config/ - Output directory for generated docs
src/bin/generate-schema.rs - Schema generator (run before this)
Schema Description Format
For best documentation output, schema descriptions should follow this format:
The generator will:
- Extract the main description (before
# Examples)
- Parse and format YAML code blocks as separate examples
- Include type information from the schema
- Document nested types automatically
Tips for Maintaining Documentation
- Always regenerate after schema changes: Documentation should stay in sync with the schema
- Keep schema descriptions clear: They become user-facing documentation
- Include practical examples: YAML examples in schema descriptions are extracted and displayed
- Document nested types: Complex configuration structures are automatically documented
- Use consistent terminology: Match the language used in configuration files
- Review generated output: Always verify the generated docs render correctly in Starlight
Command Reference
cargo run --bin generate-docs
cargo run --bin generate-docs -- --output path/to/docs
cargo run --bin generate-docs -- --help
cargo run --bin generate-schema && cargo run --bin generate-docs
Notes
- Documentation is automatically generated from the schema, so manual edits to generated files will be overwritten
- Always regenerate documentation after updating the schema
- The generator creates deterministic output (sorted sections/properties)
- Generated files include Starlight frontmatter for proper site integration
- YAML examples are extracted from schema description fields
- Nested types are automatically detected and documented
- The documentation site must be rebuilt to see changes:
cd docs && npm run build