VCS.md hardcodes someones.computer's scripts — soften the references, keep the rules #10
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
VCS.mdnames concrete scripts, Make targets and console commands that only exist insomeones.computer. A project that consumes this submodule and doesn't happen to ship themgets a rule pointing at a path that isn't there — so the rule reads as broken and gets
ignored, rather than applied in whatever form that project has.
The convention to follow already exists in this repo.
README.md, Requirements on theconsuming project:
commands/vcs-check.mdandcommands/ci-local.mdwere written to that rule and aredescribed in
README.mdas "generic by design".VCS.mdwas not, and is now the odd oneout.
What is established
Surveyed against
a90d415, every*.mdin this repo:VCS.mdcomposer test:coveragebin/coverage-gate.phpphp bin/console lint:yaml config --parse-tagsconfig/php bin/console lint:twig templatesbin/lint-markdown.sh/make lint-markdownscripts/docs-only-change.sh.github/workflows/ci.ymlactionlint,.github/actionlint.yamlcommands/audit-docs.md:36citescomposer test:coveragetoo, but as an example of acommand to verify, which is fine — it is illustrating a class, not instructing.
The fix, and the shape it should take
Soften the reference, keep the rule. The rule is almost always the valuable half and it is
usually already stated; it is only the worked example that is repo-bound. The pattern used for
the docs-only classifier in
VCS.md(added alongside this issue) is the model:*.md,*.markdownanddocs/**,and nothing else".
scripts/docs-only-change.sh", and say what a repo without one does instead.Applied to the gate, that means
VCS.mdshould defer to the consuming project's ownQuality gate table the way
/vcs-checkalready does, rather than restatingsomeones.computer's commands as if they were universal.
What is not established
the only one, this is pre-emptive — worth doing before the second consumer rather than
after, but it is not breaking anything today. Nobody has checked.
docs/Topics/Documentation-Conventions.md,frameworks/symfony/CLAUDE.mdandlanguages/php/CLAUDE.mdhave the same problem. OnlyVCS.md,README.md,CLAUDE.mdandcommands/*.mdwere surveyed. The two scoped files may be entitled toassume more, being framework- and language-specific — that is a judgement call this issue
does not make.
Done when
VCS.mdeither exists in any repo consuming this submodule,or is introduced as an example of a rule stated independently of it
CLAUDE.mdtable, theway
commands/vcs-check.mdalready does, instead of restating one project'sREADME.md's Requirements on the consuming project is referenced fromVCS.md, sothe convention is discoverable from the file that has to follow it
VCS.mdFound while adding the Pure-docs PRs skip the draft exemption, which needed a docs-only
classifier and raised the question of what a project without one should do.