Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: TMHSDigital/Developer-Tools-Directory
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.9
Choose a base ref
...
head repository: TMHSDigital/Developer-Tools-Directory
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v1.16
Choose a head ref
  • 19 commits
  • 38 files changed
  • 4 contributors

Commits on May 23, 2026

  1. chore: broaden scaffold test output gitignore (#59)

    Add _scaffold*/ glob to cover _scaffold_output/ and any future
    underscore-prefixed scaffold output directories. The existing output/
    entry was too narrow and did not match the _scaffold_output/ name
    produced by local scaffold test runs.
    
    Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com>
    TMHSDigital authored May 23, 2026
    Configuration menu
    Copy the full SHA
    765d320 View commit details
    Browse the repository at this point in the history
  2. docs: reconcile narrative docs with v1.9.5 reality (#60)

    - Update standards-doc count to 18 in .cursorrules, AGENTS.md,
      CLAUDE.md, and CONTRIBUTING.md (was 9 or 17 depending on file)
    - docs/index.html: standards grid expanded from 8 to 18 cards
      matching standards/README.md order; footer version updated from
      v1.5.0 to v1.9.5; standards count badge corrected to 18
    - ROADMAP.md: Current Status updated to v1.9.5 with accurate
      prior-milestone list; Release Plan table updated with six Released
      range rows for v1.7.x through v1.9.x; speculative v1.7.0,
      v1.8.0, v1.9.0 narrative sections replaced with accurate content
      derived from git history and release notes; new sections added for
      v1.7.1-v1.7.5, v1.8.1-v1.8.5, and v1.9.1-v1.9.5
    
    Patch range rows in the Release Plan table are deliberate: they
    group closely related patch series by theme rather than listing each
    patch individually. This is not a per-patch policy but a readability
    choice for series that shipped in rapid succession.
    
    standards/drift-checker.config.json intentionally left unstaged
    (Windows CRLF phantom, no content change).
    
    Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com>
    TMHSDigital authored May 23, 2026
    Configuration menu
    Copy the full SHA
    73affd8 View commit details
    Browse the repository at this point in the history
  3. feat: add required-workflows drift check and bump VERSION to 1.10.0 (#62

    )
    
    Adds RequiredWorkflowsCheck to the drift checker. The check reads
    required_workflows lists from drift-checker.config.json per repo type
    (cursor-plugin, mcp-server) and emits an error finding for each absent
    workflow. Policy is additive across config tiers (globals -> type ->
    repo); extra workflows are never flagged; skip_checks suppresses the
    check entirely.
    
    New files:
    - scripts/drift_check/checks/required_workflows.py
    - tests/test_required_workflows.py (9 tests, all pass)
    
    Changed files:
    - types.py: adds required_workflows to RepoConfig, present_workflows to
      RepoSnapshot, and tier-union logic in DriftConfig.resolve()
    - snapshot.py: discovers .github/workflows/ filenames into present_workflows
    - cli.py: wires RequiredWorkflowsCheck into the check pipeline
    - checks/__init__.py: exports RequiredWorkflowsCheck
    - standards/drift-checker.config.json: adds required_workflows arrays for
      cursor-plugin and mcp-server types
    
    On first run the check correctly flags two real gaps:
    - steam-mcp: missing stale.yml (known from the prior manual audit)
    - Mobile-App-Developer-Tools: missing stale.yml (caught by the check;
      missed by the manual audit)
    
    Both are follow-up fix: PRs in their respective repos. They are not
    suppressed here; the check is working as intended.
    
    file=None findings render cleanly in both markdown and gh-summary
    renderers (both use `if f.file else "-"`).
    
    Signed-off-by: fOuttaMyPaint <tmhospitalitystrategies@gmail.com>
    Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com>
    TMHSDigital authored May 23, 2026
    Configuration menu
    Copy the full SHA
    063ae7a View commit details
    Browse the repository at this point in the history
  4. docs: clarify core vs optional workflows and add MCP-server variation…

    …s to ci-cd.md (#61)
    
    * docs: clarify core vs optional workflows and add MCP-server variations to ci-cd.md
    
    Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com>
    
    * docs: clarify validate.yml not required for mcp-server in ci-cd.md
    
    The MCP-server Variations section opened with "follow the same core
    requirement as cursor-plugin repos," implying validate.yml was required.
    It is not. All validate.yml checks assume plugin.json; mcp-server repos
    have no plugin.json.
    
    Rewrites the section to state the three required workflows explicitly
    (drift-check.yml, stale.yml, publish.yml) and explains why validate.yml
    is absent. Also updates the doc intro to distinguish cursor-plugin (four
    required) from mcp-server (three required).
    
    This brings the prose into exact agreement with the machine-readable
    config in standards/drift-checker.config.json.
    
    Signed-off-by: fOuttaMyPaint <tmhospitalitystrategies@gmail.com>
    Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com>
    
    ---------
    
    Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com>
    Signed-off-by: fOuttaMyPaint <tmhospitalitystrategies@gmail.com>
    TMHSDigital authored May 23, 2026
    Configuration menu
    Copy the full SHA
    063e150 View commit details
    Browse the repository at this point in the history

Commits on May 24, 2026

  1. ci: run drift_check tests in validate.yml (#63)

    Adds a test-drift-check job to validate.yml that installs pytest from
    the new requirements-test.txt and runs pytest tests/ -v on every PR and
    push to main.
    
    The 9 tests in tests/test_required_workflows.py are pytest-discoverable
    as-is (functions named test_*). No conversion needed. The test file adds
    scripts/ to sys.path so no PYTHONPATH config is required.
    
    Signed-off-by: fOuttaMyPaint <tmhospitalitystrategies@gmail.com>
    Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com>
    TMHSDigital authored May 24, 2026
    Configuration menu
    Copy the full SHA
    5053e7a View commit details
    Browse the repository at this point in the history
  2. chore(deps): bump actions/dependency-review-action from 4 to 5 (#58)

    Bumps [actions/dependency-review-action](https://github.com/actions/dependency-review-action) from 4 to 5.
    - [Release notes](https://github.com/actions/dependency-review-action/releases)
    - [Commits](actions/dependency-review-action@v4...v5)
    
    ---
    updated-dependencies:
    - dependency-name: actions/dependency-review-action
      dependency-version: '5'
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored May 24, 2026
    Configuration menu
    Copy the full SHA
    6434174 View commit details
    Browse the repository at this point in the history
  3. chore(deps): bump actions/setup-python from 5 to 6 (#57)

    Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5 to 6.
    - [Release notes](https://github.com/actions/setup-python/releases)
    - [Commits](actions/setup-python@v5...v6)
    
    ---
    updated-dependencies:
    - dependency-name: actions/setup-python
      dependency-version: '6'
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored May 24, 2026
    Configuration menu
    Copy the full SHA
    a0ead02 View commit details
    Browse the repository at this point in the history
  4. chore(deps): bump actions/checkout from 5 to 6 (#56)

    Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
    - [Release notes](https://github.com/actions/checkout/releases)
    - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
    - [Commits](actions/checkout@v5...v6)
    
    ---
    updated-dependencies:
    - dependency-name: actions/checkout
      dependency-version: '6'
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored May 24, 2026
    Configuration menu
    Copy the full SHA
    5d5e14f View commit details
    Browse the repository at this point in the history
  5. feat: register developer-tools-mcp in ecosystem registry (#64)

    * feat: register developer-tools-mcp in ecosystem registry
    
    Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com>
    
    * chore: bump VERSION to 1.11.0 for feat/register-developer-tools-mcp
    
    Signed-off-by: fOuttaMyPaint <tmhospitalitystrategies@gmail.com>
    Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com>
    
    ---------
    
    Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com>
    Signed-off-by: fOuttaMyPaint <tmhospitalitystrategies@gmail.com>
    TMHSDigital authored May 24, 2026
    Configuration menu
    Copy the full SHA
    03a9f42 View commit details
    Browse the repository at this point in the history
  6. chore: ignore Windows NUL device artifact in .gitignore (#65)

    The name `nul` is a Windows reserved device that appears as an untracked
    entry in git status when shells redirect to it. Adding it to .gitignore
    suppresses the noise without touching anything committed.
    
    Signed-off-by: fOuttaMyPaint <tmhospitalitystrategies@gmail.com>
    Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com>
    TMHSDigital authored May 24, 2026
    Configuration menu
    Copy the full SHA
    44aacdc View commit details
    Browse the repository at this point in the history
  7. feat: decouple STANDARDS_VERSION from meta release VERSION (#66)

    * feat: decouple STANDARDS_VERSION from meta release VERSION
    
    Add STANDARDS_VERSION file (1.10.0) as the single source of truth
    for the ecosystem standards surface. The drift checker and scaffold
    now read this file instead of VERSION, so registry additions and
    other meta-repo releases no longer force a fleet-wide re-stamp.
    
    - Add STANDARDS_VERSION at repo root containing 1.10.0
    - Update scripts/drift_check/cli.py to read STANDARDS_VERSION
    - Update scaffold/create-tool.py to stamp from STANDARDS_VERSION
    - Update standards/versioning.md to define both files and when each moves
    - Bump VERSION to 1.12.0
    
    Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com>
    
    * fix: update test fixtures to write STANDARDS_VERSION instead of VERSION
    
    Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com>
    
    ---------
    
    Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com>
    TMHSDigital authored May 24, 2026
    Configuration menu
    Copy the full SHA
    56e9d80 View commit details
    Browse the repository at this point in the history
  8. feat: add Phase 1 stamper scripts (add_frontmatter.py, add_comment_ma…

    …rker.py) (#67)
    
    * feat: add add_frontmatter.py and add_comment_marker.py Phase 1 stamper scripts
    
    These scripts are called by cli.py --fix to apply standards-version
    updates in-place. add_frontmatter.py targets YAML-frontmatter files
    (SKILL.md, .mdc), add_comment_marker.py targets HTML-comment marker
    files (CLAUDE.md, AGENTS.md).
    
    Interface: python <script> <file_path> <new_version>
    
    Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
    Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com>
    
    * chore: bump VERSION to 1.13.0 for feat: add Phase 1 stamper scripts
    
    Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com>
    
    ---------
    
    Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com>
    Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
    TMHSDigital and claude authored May 24, 2026
    Configuration menu
    Copy the full SHA
    6b1edb9 View commit details
    Browse the repository at this point in the history
  9. feat: update developer-tools-mcp registry entry to v0.2.0 (#68)

    * feat: update developer-tools-mcp registry entry to v0.2.0
    
    - mcpTools: 4 -> 7 (added restampRepo, syncRegistry, createTool)
    - version: 0.1.0 -> 0.2.0
    - status: experimental -> active
    - pagesType: none -> static
    - homepage: set to https://tmhsdigital.github.io/Developer-Tools-MCP/
    - description: updated to reflect write surface
    
    Regenerated README.md, CLAUDE.md, docs/index.html via sync_from_registry.py.
    
    Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com>
    
    * chore: bump VERSION to 1.14.0
    
    Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com>
    
    ---------
    
    Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com>
    TMHSDigital authored May 24, 2026
    Configuration menu
    Copy the full SHA
    459bd0e View commit details
    Browse the repository at this point in the history
  10. feat: register cfx-mcp in ecosystem registry (#69)

    Add TMHSDigital/cfx-mcp as mcp-server entry (experimental, v0.1.0). Bump VERSION to 1.15.0.
    
    Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com>
    TMHSDigital authored May 24, 2026
    Configuration menu
    Copy the full SHA
    b3614c9 View commit details
    Browse the repository at this point in the history
  11. fix(scaffold): add mcp-server type templates and branch workflow gene…

    …ration (#70)
    
    * fix(scaffold): add mcp-server type templates and branch workflow generation
    
    Scaffold was generating cursor-plugin workflows unconditionally for all
    repo types. An mcp-server scaffold produced: an empty validate.yml jobs
    block, a release.yml that required .cursor-plugin/plugin.json, and a
    pages.yml that invoked build_site.py.
    
    Add six new templates for the mcp-server type path:
    - validate.mcp.yml.j2: required-files check (README, CHANGELOG, AGENTS,
      CLAUDE, mcp-tools.json, site.json, LICENSE)
    - release.mcp.yml.j2: simplified tag-from-package.json release workflow
    - pages.mcp.yml.j2: static docs/ artifact deploy (no build_site.py)
    - publish.yml.j2: npm publish on release event
    - package.json.j2: parametrized Node package manifest
    - docs/index.mcp.html.j2: placeholder GitHub Pages landing page
    
    Branch create-tool.py workflow generation on args.type so mcp-server
    repos get the four mcp-server workflows and cursor-plugin repos continue
    to get validate, release, pages unchanged. Also generate package.json
    and docs/index.html for mcp-server type repos.
    
    Verified: freshly scaffolded mcp-server passes YAML validation for all
    seven workflow files and is mutually consistent with zero hand-fixing.
    Cursor-plugin output is byte-for-byte unchanged.
    
    Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com>
    
    * chore: bump VERSION to 1.15.1
    
    Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com>
    
    ---------
    
    Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com>
    TMHSDigital authored May 24, 2026
    Configuration menu
    Copy the full SHA
    9be7979 View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2026

  1. feat: register Blender Developer Tools in directory (#71)

    Onboard Blender-Developer-Tools to the registry as a Plugin: 12 skills,
    6 rules, 2 templates, 17 snippets (0 MCP tools), version 0.2.3.
    
    Derived artifacts (README tools table/descriptions/stats, CLAUDE catalog/
    totals, docs/index.html embedded registry) regenerated via
    scripts/sync_from_registry.py rather than hand-edited.
    
    Bumps VERSION 1.15.1 -> 1.16.0 (feat) per the version-bump-check guard.
    
    Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com>
    TMHSDigital authored Jun 13, 2026
    Configuration menu
    Copy the full SHA
    65a7729 View commit details
    Browse the repository at this point in the history
  2. fix(scaffold): derive meta-repo action pins from VERSION (#72)

    Workflow action refs in generated tool repos were hardcoded literals
    (drift-check@v1.9, release-doc-sync@v1), so every newly scaffolded repo
    was born pinned to a stale meta-repo train. Hand-correcting one repo
    (Blender @v1.9 -> @v1.15) treated the symptom; the source kept minting
    stale refs.
    
    Derive all three pins from the live meta VERSION at generation time:
    - drift-check      -> @v{MAJOR}.{MINOR}        (MAJOR.MINOR train)
    - release-doc-sync -> @v{MAJOR}                (MAJOR train)
    - meta-repo-ref    -> v{MAJOR}.{MINOR}.{PATCH} (full current release tag)
    
    A repo scaffolded after any future meta release is now born current
    instead of stale. The validate.yml scaffold regression checks and the
    ci-cd.md drift-check pin example are likewise derive-from-current rather
    than hardcoded. Also fixes a stale test that asserted the release-doc-sync
    default was v1.0 (it is v1, the floating-major train, since #43).
    
    Scope: newly generated repos only; existing-repo ref bumps remain the
    periodic standards re-stamp's job.
    
    Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com>
    Co-authored-by: Cursor <cursoragent@cursor.com>
    TMHSDigital and cursoragent authored Jun 13, 2026
    Configuration menu
    Copy the full SHA
    d9f1ef7 View commit details
    Browse the repository at this point in the history

Commits on Jun 14, 2026

  1. fix(registry): remove unmaintainable per-tool version field (#73)

    registry.json hardcoded a patch-level `version` per tool (Blender showed
    0.2.3, live was 0.2.4). Tool repos auto-bump patch on every content merge,
    so the catalog re-staled on each tool's next content PR. Bumping a single
    entry by hand just resets a clock that keeps running.
    
    The field had zero consumers: it is not read by scripts/sync_from_registry.py,
    not displayed by docs/script.js, and not used by the drift checker (which
    reads agent-file standards-version markers and the meta VERSION, not the
    registry entry version). It only rode along passively inside the embedded
    registry blob in docs/index.html.
    
    Remove it everywhere so a tool's patch bump can never again create catalog
    drift:
    - drop `version` from all 12 registry.json entries
    - drop `version` from the validate.yml registry schema
    - regenerate docs/index.html (embedded blob no longer carries version)
    - update the schema docs (.cursorrules, AGENTS.md, CLAUDE.md) with a
      one-line note on why the field is gone, so it is not reintroduced
    
    Do not reintroduce patch precision. The catalog tracks tools by repo and
    homepage, not by version.
    
    Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com>
    Co-authored-by: Cursor <cursoragent@cursor.com>
    TMHSDigital and cursoragent authored Jun 14, 2026
    Configuration menu
    Copy the full SHA
    3be50f3 View commit details
    Browse the repository at this point in the history
  2. fix: scaffold emits type-correct workflow set and derives stale liter…

    …als (#74)
    
    mcp-server repos no longer get the cursor-plugin-specific validate.yml and
    release.yml. Per standards/ci-cd.md, validate.yml's checks all assume a
    plugin.json and publish.yml replaces release.yml, so the emitted set now
    matches standards/drift-checker.config.json exactly (drift-check, stale,
    publish) plus the optional-for-both pages and label-sync.
    
    Also derive the LICENSE copyright year from the current UTC year instead of
    a hardcoded 2026, make plugin.json keywords type-aware (drop the stock "mcp"
    keyword unless the repo has an MCP server), add PyYAML to the CI test
    environment so the YAML-validating tests stop silently importorskip-ing, and
    add a born-green integration test that renders each type and asserts detected
    type, empty drift, current markers/pins, README counts, and the exact
    workflow set.
    
    Bumps VERSION 1.16.2 -> 1.16.3.
    
    Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com>
    Co-authored-by: Cursor <cursoragent@cursor.com>
    TMHSDigital and cursoragent authored Jun 14, 2026
    Configuration menu
    Copy the full SHA
    b7b9e7d View commit details
    Browse the repository at this point in the history
Loading