ci(specs): add validate_specs.sh script and docs references#11444
Conversation
Add script/validate_specs.sh which checks that every spec subdirectory with an issue-number prefix (APP-, GH#, CODE-, QUALITY-, REMOTE-, UNTRIAGED-) has at least one product.md and one tech.md variant (any case). Contributor-named directories (e.g. zachlloyd/) are skipped. Also document the script in WARP.md (Linting and Formatting section) and in CONTRIBUTING.md (Opening a Spec PR step 1).
|
Thank you for your pull request and welcome to our community. We require contributors to sign our Contributor License Agreement, and we don't seem to have the users @okwn on file. In order for us to review and merge your code, each contributor must visit https://cla.warp.dev to read and agree to our CLA. Once you have done so, please comment |
|
This PR is not linked to an issue that is marked with Issue-state enforcement details:
To continue, link this PR to a same-repo issue such as Powered by Oz |
There was a problem hiding this comment.
This PR is not linked to an issue that is marked with ready-to-implement.
Issue-state enforcement details:
-
Associated same-repo issues checked: none
-
Required readiness label:
ready-to-implement
To continue, link this PR to a same-repo issue such as Closes #123 in the PR description, and make sure that issue has ready-to-implement.
Powered by Oz
|
@okwn I think you linked the wrong issue # for closing. The issue I reported doesn't have anything to do with spec compliance. |
Summary
Add script/validate_specs.sh — a CI-ready validation script that checks spec directories are well-formed.
The script verifies every subdirectory with an issue-number prefix contains at least one product spec and one tech spec file (case-insensitive). Contributor-named directories are skipped.
Why this matters
Contributors sometimes open spec PRs with incomplete directories — missing PRODUCT.md or TECH.md files. This adds a machine-checkable way to catch these before review.
Changes
Validation
bash
./script/validate_specs.sh
exits 0 if all spec dirs are complete, 1 if any are missing product/tech files
Risk/Compatibility
No runtime behavior changes. Only adds a CI/build-time check.
Closes #11350 (Entry::build_tree walks are not cancellable)