You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: align scaffold output with current ecosystem patterns (#45)
The scaffold under scaffold/templates/ drifted from the patterns adopted
across the 9 existing tool repos. New tool repos created from the scaffold
required substantial post-creation fixes to reach current standards. This
change brings scaffold output forward to current and adds CI regression
protection.
Per DTD#41, eight named gaps:
- validate.yml.j2: add validate-counts job that compares skills/ and
rules/ directory counts against README.md (DTD#39 pattern from Plaid).
- drift-check.yml.j2: new template, pinned to drift-check@v1.9 with
mode: self and gh-summary format.
- release.yml.j2: now consumes release-doc-sync@v1, adopts Blender's
initial-release version-handling branch (holds version at current
manifest value when no prior tag exists), and adds floating major and
major.minor tag automation (git tag -f then push --force).
- label-sync.yml.j2: new template using Home-Lab's self-healing per-label
gh label create --force pattern (DTD#4).
- dependabot.yml.j2: new template with github-actions ecosystem entry
plus pip ecosystem for the mcp-server directory when --mcp-server is
set.
- CLAUDE.md.j2: add **Version:** 0.1.0 / **License:** / **Author:** lines
so release-doc-sync can rewrite the version line on every release.
- ROADMAP.md.j2: add <!-- standards-version: --> marker and
**Current:** v0.1.0 line so release-doc-sync can update it.
- AGENTS.md.j2: confirmed already carries the standards-version marker;
no change needed.
Two additional gaps from the Blender v0.1.1 compliance fix:
- LICENSE.j2 (gap 9): the cc-by-nc-nd-4.0 default branch is now aligned
byte-for-byte with Plaid's LICENSE: copyright "TM Hospitality Strategies"
(the ecosystem entity name, not the GitHub org), the canonical CC text,
and a trailing SPDX-License-Identifier: CC-BY-NC-ND-4.0 line. The
previous text used {{ author_name }} (defaulting to "TMHSDigital") and
was missing the SPDX identifier.
- CONTRIBUTING.md.j2 (gap 10): standards/licensing.md mandates the
inbound DCO + license grant in every CONTRIBUTING.md (verbatim grant
paragraph plus Signed-off-by guidance). The scaffold now emits this
section. Existing tool repos that predate this change need a backfill
PR per repo, tracked separately.
Pre-existing scaffold bugs surfaced and fixed in the same diff so the
scaffold output actually parses as valid YAML now:
- pages.yml.j2 used a per-line {% raw %}${{ }}{% endraw %} pattern that
Jinja2's trim_blocks=True collapsed onto adjacent lines, producing
invalid YAML at the environment.url / runs-on boundary.
- release.yml.j2 had the same trim_blocks collapse pattern on every
${{ }} reference and additionally used the broken plain-scalar
python3 -c "..." form in the version-update step.
- validate.yml.j2 used the same broken plain-scalar python3 -c "..."
form across three steps; rewritten as block-scalar python3 << 'PYEOF'
heredocs which match Plaid's pattern.
CI regression protection (.github/workflows/validate.yml):
- validate-scaffold now installs PyYAML alongside Jinja2, and after the
dry-run runs yaml.safe_load on every emitted .yml file. This catches
any future trim_blocks-style escaping bug at PR time.
- validate-scaffold gained a Scaffold regression checks for DTD#41
patterns step that greps for each named pattern (validate-counts,
drift-check@v1.9, release-doc-sync@v1, initial-release branch,
floating major tag, self-healing labels, github-actions ecosystem,
**Version:** line, **Current:** line, standards-version markers,
TM Hospitality Strategies copyright, SPDX identifier, DCO).
- File-existence list extended to cover release.yml, stale.yml,
drift-check.yml, label-sync.yml, dependabot.yml.
Existing tool repos are unaffected by this change. Future scaffold-
generated repos land at current standards from creation, with no
post-creation cleanup required.
Closes#41
Made-with: Cursor
Copy file name to clipboardExpand all lines: scaffold/templates/CONTRIBUTING.md.j2
+18-2Lines changed: 18 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -39,6 +39,22 @@ Use [Conventional Commits](https://www.conventionalcommits.org/):
39
39
2. Update `CHANGELOG.md` if the change is user-facing
40
40
3. Use a descriptive PR title following conventional commit format
41
41
42
-
## License
42
+
## Inbound license grant and DCO
43
43
44
-
By contributing, you agree that your contributions will be licensed under the project's {{ license_spdx }} license.
44
+
This project's outbound license is {{ license_spdx }}. Contributions are accepted inbound under a broader grant via the Developer Certificate of Origin (DCO). Both pieces are required because {{ license_spdx }} alone cannot cleanly accept third-party derivatives.
45
+
46
+
### Required grant
47
+
48
+
By submitting a contribution to this repository, you certify that you have the right to do so under the Developer Certificate of Origin (DCO) 1.1, and you grant TMHSDigital a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license to use, reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute your contribution under the project's current license ({{ license_spdx }}) or any successor license chosen by the project.
49
+
50
+
### DCO sign-off
51
+
52
+
Every commit in a pull request must carry a `Signed-off-by:` trailer matching the commit author. Sign at commit time with the `-s` flag:
53
+
54
+
```bash
55
+
git commit -s -m "feat: add new skill"
56
+
```
57
+
58
+
This appends a line like `Signed-off-by: Jane Developer <jane@example.com>` to the commit message. The GitHub DCO App enforces this on every PR.
59
+
60
+
For the full inbound/outbound model and rationale, see [`standards/licensing.md`](https://github.com/TMHSDigital/Developer-Tools-Directory/blob/main/standards/licensing.md) in the Developer-Tools-Directory meta-repo.
0 commit comments