Add pre-commit hooks for curation files validation #1950
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.



This PR implements the missing pre-commit hooks for curation files as requested in issue #1949.
Changes Made
1. JTD Schema for Curations (
Specs/jtd/curation.jtd.json)Created a comprehensive schema that validates:
uuid,icon,color,l10n,contenttitle,subtitle,descriptionfieldscarousel,horizontal_curriculum_grid,horizontal_activity_grid, etc.activity,curriculum,curation,story2. Curation Content Validator (
Tools/Hooks/check_yaml_content_curations.py)Implemented a specialized validator that:
BaseYamlValidator(curations have different structure than activities/curriculums)3. Curation UUID Uniqueness Validator (
Tools/Hooks/check_yaml_content_curations_unique_uuid.py)Added validator to ensure all curation UUIDs are unique across the repository.
4. Content Validation Helper (
Tools/Hooks/modules/content.py)Added
find_missing_content_items()function that:5. Pre-commit Configuration (
.pre-commit-config.yaml)Added two new hooks:
check_yaml_content_curations: Validates content and schemacheck_yaml_content_curations_unique_uuid: Ensures UUID uniquenessTesting Results
All validators work correctly:
The implementation follows the same patterns as existing activity and curriculum validators, providing consistent validation across all content types.
Fixes #1949.
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.