← Back to issue list

feat: auto-generate charmcraft.yaml json schema

View original Github issue

Metadata

Project
charmcraft
Number
#2183
Type
pull request
State
merged
Author
bepri
Labels
Created
Updated
Closed

Current evaluation

Merged. Introduces automated JSON schema generation for charmcraft.yaml, a CI workflow to detect schema changes, and a Makefile recipe for regeneration. Full editor support depends on a separate SchemaStore repository merge.

Suggested action:

No scores available.

Issue body

Adds plumbing for creating a JSON schema for project files, a CI workflow to check for changes, and a Makefile recipe to regenerate the schema. Once this is merged, I will have to have a PR in the schema store to point to this repository be merged. Until then, the only way to test this is to locally point your editor to `schema/charmcraft.json` for `**/charmcraft.yaml`. Corresponding schema store PR: https://github.com/SchemaStore/schemastore/pull/4472 CRAFT-2806.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged. Introduces automated JSON schema generation for charmcraft.yaml, a CI workflow to detect schema changes, and a Makefile recipe for regeneration. Full editor support depends on a separate SchemaStore repository merge.
qwen3.6-35b-a3b-mtp-q6 Merged auto-generation plumbing for charmcraft.yaml JSON schema, adding a CI workflow and Makefile recipe. Enables local editor validation via schema/charmcraft.json. Requires a separate SchemaStore PR for official integration. Resolves CRAFT-2806.
qwen3.6-35b-a3b-mtp-q6 Merged implementation adding automated JSON schema generation for charmcraft.yaml, CI change detection, and a Makefile regeneration recipe. Requires a separate SchemaStore PR for editor integration. Resolves CRAFT-2806.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#687 Add a jsonschema for charmcraft.yaml in jsonstore charmcraft closed Closed and deferred to internal Jira ticket CRAFT-2806. Maintainers agreed to auto-generate the schema via Pydantic models and submit it to the JSON Schema Store, but the work remains unimplemented.
75%
#680 The charmcraft.yaml is not longer optional for build command (CRAFT-784). charmcraft merged Merged. The type key in charmcraft.yaml is now mandatory for the build command. Config schema validation enforces this during unmarshalling, with a default fallback for empty configs. Approved by two reviewers and passed CI.
70%