| name | validate-release |
| description | Run full pre-release validation - tests, spec parsing, highlight coverage, build |
| disable-model-invocation | true |
Validate Release
Run comprehensive pre-release checks before tagging a release.
Steps
-
Run all corpus tests:
npm test
Must be 100% passing. Report the total test count (must be >= 96).
-
Verify spec files parse cleanly:
total_errors=0
for f in test/spec/*.sh; do
errors=$(tree-sitter parse "$f" 2>&1 | grep -c ERROR || true)
if [ "$errors" -gt 0 ]; then
echo "ERRORS in $f: $errors"
total_errors=$((total_errors + errors))
fi
done
echo "Total spec file errors: $total_errors"
Must be 0 errors.
-
Check highlight coverage: Compare keywords in grammar.js against patterns in
queries/highlights.scm. Report any uncovered keywords.
-
Build the parser:
npm run build
Must succeed without errors.
-
Verify README accuracy:
- Count rules in grammar.js and compare to the number documented in README.md
- Check that all block types, statement types, and directive types listed in README match grammar.js
-
Check EditorConfig compliance:
npx editorconfig-checker
-
Summary: Report pass/fail for each check, with details on any failures. All checks must pass for release.