feat/submodule-tooling #1

Merged
neerdoc merged 5 commits from feat/submodule-tooling into main 2026-07-16 07:26:49 +00:00
Owner
No description provided.
Remove everything inherited from the Standard template that has no place in a
submodule pulled into every repo: the issue/milestone Forgejo workflows,
docs/adr, update.sh, AGENTS.md, CLAUDE.md, and the now-unused mocs/scripts
.gitmodules entry.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
git silently skips non-executable hooks, so the committed 100644 mode meant
pre-commit/pre-push never ran once core.hooksPath pointed at them — enforcement
was a no-op. Commit them 100755.

pre-push: treat %G?=E (signature present but unverifiable, e.g. no
allowedSignersFile) as its own actionable error instead of mislabeling it an
invalid signature.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
These scripts live in a submodule but act on the repo that embeds them. Add
lib.sh (repo_root, yaml_dq) and resolve the superproject working tree so .env
and issues/ are read from the consuming repo, not from this submodule.

- pr.sh: source the superproject .env; honor --head from a detached HEAD
  instead of aborting.
- issue-new.sh: write issues/ under the superproject; quote the YAML title and
  milestone so ':' / '$' / backticks / quotes cannot corrupt the file.
- install-hooks.sh: drop the mocs/scripts dependency, set a submodule-relative
  core.hooksPath, and chmod +x the hooks defensively.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Replace the Python/jsonschema validator with a yq+jq script (the CI tools image
stdlib). Ship issue.schema.json here so the issue format is defined once for
every consumer; the validator enforces required fields, unknown-field
rejection, and enums from it, plus the id==filename invariant a schema cannot
express.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Describe wulf-dev as the local/dev counterpart to ci-actions, its contents, how
to consume it (submodule + install-hooks + direct paths), and the yq/jq + .env
requirements. The template's signing/CI-secrets content lives in the Standard
template, not here.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
WulfScience-FOSS/wulf-dev!1
No description provided.