Add pre-commit hooks for curation files validation#1950
Conversation
Co-authored-by: ladislas <2206544+ladislas@users.noreply.github.com>
|
|
@copilot can you rebase the pr on develop and fix the conflicts please |
I've successfully rebased the PR on the latest develop branch (commit 3560a88) and resolved the merge conflicts in The rebase is complete and all curation validation hooks remain functional. The branch history has been updated to include all the latest changes from develop. |



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.