generate-schema
Generate the conclaude-schema.json configuration schema file using src/bin/generate-schema.rs. USE WHEN the configuration format changes, new config fields are added, or the schema needs to be updated for release or testing.
$ Installer
git clone https://github.com/connerohnesorge/conclaude /tmp/conclaude && cp -r /tmp/conclaude/.claude/skills/generate-schema ~/.claude/skills/conclaude// tip: Run this command in your terminal to install the skill
name: generate-schema description: | Generate the conclaude-schema.json configuration schema file using src/bin/generate-schema.rs. USE WHEN the configuration format changes, new config fields are added, or the schema needs to be updated for release or testing.
Generate Schema
This skill helps you generate the conclaude-schema.json file that defines the configuration schema for conclaude. The schema is used for validation and is published as a release asset.
USE WHEN
Use this skill when:
- Adding new configuration fields to conclaude
- Modifying existing configuration structure
- Changing hook definitions or their schema
- Updating configuration validation rules
- Preparing for a new release that includes config changes
- The schema file is out of sync with the code
- Implementing new features that add configuration options
Do NOT use this skill when:
- Just reading or viewing the current schema
- Working on features that don't affect configuration
- Making non-configuration code changes
How It Works
The schema generator (src/bin/generate-schema.rs) uses the conclaude library's built-in schema generation capabilities to:
- Introspect the Rust configuration structs
- Generate a JSON Schema representation
- Write it to
conclaude-schema.jsonat the workspace root
The generated schema file is then published as a release asset for users to reference.
Instructions
Step 1: Make Your Configuration Changes
First, implement your configuration changes in the relevant Rust files (typically src/config.rs or related modules).
Step 2: Generate the Schema
Run the schema generator:
cargo run --bin generate-schema
This will:
- Generate the schema from the current configuration code
- Write it to
conclaude-schema.jsonin the workspace root - Display a success message
Step 3: Verify the Changes
Check the generated schema file:
cat conclaude-schema.json
Or use a JSON formatter:
jq . conclaude-schema.json
Look for:
- Your new fields appear with correct types
- Descriptions are accurate and helpful
- Required fields are marked appropriately
- Enum values are correct
Step 4: Commit the Schema
Include the updated schema in your commit:
git add conclaude-schema.json
git commit -m "Update schema for [your feature]"
Expected Output
When successful, you'll see:
[OK] Schema generated successfully: conclaude-schema.json
The schema file is ready to be published as a release asset.
Common Issues
Build Errors
If the generator fails to build:
- Ensure your Rust code compiles:
cargo build - Check for syntax errors in configuration structs
- Verify all dependencies are available
Schema Validation Errors
If the generated schema doesn't match expectations:
- Check your derive macros on configuration structs
- Ensure you're using the correct serde attributes
- Review the schema generation code in
src/schema.rs
File Permission Errors
If it fails to write the file:
- Ensure you have write permissions in the workspace root
- Check that
conclaude-schema.jsonisn't locked by another process
Related Files
src/bin/generate-schema.rs- The schema generator binarysrc/schema.rs- Schema generation implementationsrc/config.rs- Main configuration structuresconclaude-schema.json- The output schema file
Notes
- The schema is automatically generated from code, so manual edits to
conclaude-schema.jsonwill be overwritten - Always regenerate the schema after configuration changes
- The schema is version-controlled and should be kept in sync with the code
- The schema file is published as a release asset for external tools and IDEs
Repository
