From a7a38a702d22c91cbc882e5b96e192767d0a6d8f Mon Sep 17 00:00:00 2001 From: fOuttaMyPaint Date: Sat, 13 Jun 2026 14:12:01 -0400 Subject: [PATCH] chore: onboard to Developer-Tools-Directory standards 1.10.0 Reconcile drift against the meta-repo fleet standard: - Re-stamp every standards-version marker 1.9.4 -> 1.10.0 (the live meta-repo STANDARDS_VERSION) across the 12 skills, 6 rules, AGENTS.md, CLAUDE.md, and ROADMAP.md markers. Clears the 20 version-signal drift errors (AGENTS + CLAUDE + 12 SKILL.md + 6 .mdc). - Bump workflow refs to the meta-repo's current tags per the MAJOR.MINOR vs MAJOR pinning convention: - drift-check action @v1.9 -> @v1.15 (current MAJOR.MINOR train) - release.yml meta-repo-ref v1.9.1 -> v1.15.1 (current patch) - release-doc-sync stays @v1 (MAJOR train, already current) - AGENTS.md CI description updated to match @v1.15 - Add the missing required workflow stale.yml from the scaffold standard (required set for Plugin repos: validate/release/stale/drift-check). Action-owned lines (CLAUDE.md **Version:**, ROADMAP.md **Current:**, CHANGELOG.md) and all .github content beyond the three refs + stale.yml are untouched. Signed-off-by: fOuttaMyPaint --- .github/workflows/drift-check.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/stale.yml | 23 +++++++++++++++++++ AGENTS.md | 8 +++---- CLAUDE.md | 2 +- ROADMAP.md | 2 +- rules/always-free-bmesh.mdc | 2 +- rules/prefer-data-over-ops-in-loops.mdc | 2 +- ...prefer-temp-override-over-context-copy.mdc | 2 +- rules/target-extensions-platform-format.mdc | 2 +- ...type-annotate-props-and-defend-context.mdc | 2 +- rules/use-foreach-set-for-bulk-data.mdc | 2 +- skills/addon-scaffolding/SKILL.md | 2 +- skills/bl-info-migration/SKILL.md | 2 +- skills/custom-properties/SKILL.md | 2 +- skills/depsgraph-and-evaluated-data/SKILL.md | 2 +- skills/drivers-and-app-handlers/SKILL.md | 2 +- skills/geometry-nodes-python/SKILL.md | 2 +- skills/headless-batch-scripting/SKILL.md | 2 +- skills/mesh-editing-and-bmesh/SKILL.md | 2 +- skills/operators/SKILL.md | 2 +- .../procedural-materials-and-shaders/SKILL.md | 2 +- skills/slotted-actions-animation/SKILL.md | 2 +- skills/ui-panels/SKILL.md | 2 +- 24 files changed, 49 insertions(+), 26 deletions(-) create mode 100644 .github/workflows/stale.yml diff --git a/.github/workflows/drift-check.yml b/.github/workflows/drift-check.yml index 4e858fce..7e35d358 100644 --- a/.github/workflows/drift-check.yml +++ b/.github/workflows/drift-check.yml @@ -15,7 +15,7 @@ jobs: contents: read steps: - uses: actions/checkout@v6 - - uses: TMHSDigital/Developer-Tools-Directory/.github/actions/drift-check@v1.9 + - uses: TMHSDigital/Developer-Tools-Directory/.github/actions/drift-check@v1.15 with: mode: self format: gh-summary diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a77cec69..489ba1f9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -104,7 +104,7 @@ jobs: with: plugin-version: ${{ steps.new.outputs.version }} previous-version: ${{ steps.current.outputs.version }} - meta-repo-ref: v1.9.1 + meta-repo-ref: v1.15.1 - name: Commit version bump if: steps.check.outputs.skip == 'false' diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml new file mode 100644 index 00000000..2c0d62b5 --- /dev/null +++ b/.github/workflows/stale.yml @@ -0,0 +1,23 @@ +name: Stale + +on: + schedule: + - cron: "0 6 * * 1" + workflow_dispatch: + +permissions: + issues: write + pull-requests: write + +jobs: + stale: + runs-on: ubuntu-latest + steps: + - uses: actions/stale@v9 + with: + stale-issue-message: "This issue has been automatically marked as stale due to inactivity. It will be closed in 7 days if no further activity occurs." + stale-pr-message: "This PR has been automatically marked as stale due to inactivity. It will be closed in 7 days if no further activity occurs." + days-before-stale: 30 + days-before-close: 7 + stale-issue-label: stale + stale-pr-label: stale diff --git a/AGENTS.md b/AGENTS.md index b61ca30c..52b5ab71 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,4 +1,4 @@ - + # AGENTS.md @@ -74,7 +74,7 @@ Each skill lives at `skills//SKILL.md`. Frontmatter is YAML: --- name: description: -standards-version: 1.9.4 +standards-version: 1.10.0 --- ``` @@ -93,7 +93,7 @@ Rules are `.mdc` files in `rules/`. Frontmatter: --- description: alwaysApply: true -standards-version: 1.9.4 +standards-version: 1.10.0 --- ``` @@ -107,7 +107,7 @@ way, and a one-paragraph rationale. 30 to 80 lines is the right size. snippets) match filesystem reality. The counts language in `README.md` is load-bearing: the job greps for it. - `drift-check.yml` consumes `Developer-Tools-Directory/.github/actions/ - drift-check@v1.9` to enforce ecosystem standards-version markers. + drift-check@v1.15` to enforce ecosystem standards-version markers. - `release.yml` auto-bumps the version, tags, force-updates floating tags `v0` and `v0.1`, and runs `release-doc-sync@v1` to rewrite CHANGELOG.md, CLAUDE.md `**Version:**`, and ROADMAP.md `**Current:**`. Triggered on diff --git a/CLAUDE.md b/CLAUDE.md index 02091798..fb11a3fe 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,4 +1,4 @@ - + # CLAUDE.md diff --git a/ROADMAP.md b/ROADMAP.md index ed5ec372..ebe037b4 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -1,4 +1,4 @@ - + # Roadmap diff --git a/rules/always-free-bmesh.mdc b/rules/always-free-bmesh.mdc index 1454cef9..610a532a 100644 --- a/rules/always-free-bmesh.mdc +++ b/rules/always-free-bmesh.mdc @@ -3,7 +3,7 @@ description: Flag bmesh.new() calls without a paired bm.free() in a try/finally alwaysApply: true globs: - "**/*.py" -standards-version: 1.9.4 +standards-version: 1.10.0 --- # Always free bmesh diff --git a/rules/prefer-data-over-ops-in-loops.mdc b/rules/prefer-data-over-ops-in-loops.mdc index e0f373c3..f6e68909 100644 --- a/rules/prefer-data-over-ops-in-loops.mdc +++ b/rules/prefer-data-over-ops-in-loops.mdc @@ -3,7 +3,7 @@ description: Flag bpy.ops.* calls inside iteration over many objects, meshes, or alwaysApply: true globs: - "**/*.py" -standards-version: 1.9.4 +standards-version: 1.10.0 --- # Prefer bpy.data over bpy.ops in loops diff --git a/rules/prefer-temp-override-over-context-copy.mdc b/rules/prefer-temp-override-over-context-copy.mdc index 5b610923..d71c28dc 100644 --- a/rules/prefer-temp-override-over-context-copy.mdc +++ b/rules/prefer-temp-override-over-context-copy.mdc @@ -3,7 +3,7 @@ description: Flag uses of `bpy.context.copy()` to override context for an operat alwaysApply: true globs: - "**/*.py" -standards-version: 1.9.4 +standards-version: 1.10.0 --- # Prefer `temp_override` over `context.copy()` diff --git a/rules/target-extensions-platform-format.mdc b/rules/target-extensions-platform-format.mdc index 02e8d333..46058ee2 100644 --- a/rules/target-extensions-platform-format.mdc +++ b/rules/target-extensions-platform-format.mdc @@ -4,7 +4,7 @@ alwaysApply: true globs: - "**/__init__.py" - "**/blender_manifest.toml" -standards-version: 1.9.4 +standards-version: 1.10.0 --- # Target Extensions Platform format diff --git a/rules/type-annotate-props-and-defend-context.mdc b/rules/type-annotate-props-and-defend-context.mdc index 69ff24d1..f7fdf932 100644 --- a/rules/type-annotate-props-and-defend-context.mdc +++ b/rules/type-annotate-props-and-defend-context.mdc @@ -3,7 +3,7 @@ description: Flag two related anti-patterns. (1) bpy.props defined as class-leve alwaysApply: true globs: - "**/*.py" -standards-version: 1.9.4 +standards-version: 1.10.0 --- # Type-annotate props and defend context diff --git a/rules/use-foreach-set-for-bulk-data.mdc b/rules/use-foreach-set-for-bulk-data.mdc index adf83945..7704742c 100644 --- a/rules/use-foreach-set-for-bulk-data.mdc +++ b/rules/use-foreach-set-for-bulk-data.mdc @@ -3,7 +3,7 @@ description: Flag Python loops that set vertex coordinates, normals, UVs, or oth alwaysApply: true globs: - "**/*.py" -standards-version: 1.9.4 +standards-version: 1.10.0 --- # Use `foreach_set` and `foreach_get` for bulk mesh data diff --git a/skills/addon-scaffolding/SKILL.md b/skills/addon-scaffolding/SKILL.md index 4845462d..68536628 100644 --- a/skills/addon-scaffolding/SKILL.md +++ b/skills/addon-scaffolding/SKILL.md @@ -1,7 +1,7 @@ --- name: addon-scaffolding description: Scaffold a Blender add-on against the Extensions Platform format with blender_manifest.toml, modular file layout, and the register_classes_factory pattern. Targets Blender 5.1 with 4.5 LTS fallback. -standards-version: 1.9.4 +standards-version: 1.10.0 --- # Addon Scaffolding (Extensions Platform) diff --git a/skills/bl-info-migration/SKILL.md b/skills/bl-info-migration/SKILL.md index 2f40a7e6..d9366f78 100644 --- a/skills/bl-info-migration/SKILL.md +++ b/skills/bl-info-migration/SKILL.md @@ -1,7 +1,7 @@ --- name: bl-info-migration description: Migrate a legacy bl_info-format add-on to the Extensions Platform. Three concrete steps, before-and-after diff, dual-format pattern for backward compatibility, and answers to "is bl_info still supported?" Targets Blender 5.1. -standards-version: 1.9.4 +standards-version: 1.10.0 --- # bl_info Migration to the Extensions Platform diff --git a/skills/custom-properties/SKILL.md b/skills/custom-properties/SKILL.md index d3fa98fe..ffda8f95 100644 --- a/skills/custom-properties/SKILL.md +++ b/skills/custom-properties/SKILL.md @@ -1,7 +1,7 @@ --- name: custom-properties description: Define and bind Blender custom properties via bpy.props using the type annotation form, with PropertyGroup for grouping, PointerProperty for binding, and the four storage location options for Scene/Object/WindowManager/AddonPreferences. Targets 5.1. -standards-version: 1.9.4 +standards-version: 1.10.0 --- # Custom Properties diff --git a/skills/depsgraph-and-evaluated-data/SKILL.md b/skills/depsgraph-and-evaluated-data/SKILL.md index 25a71d25..714443ae 100644 --- a/skills/depsgraph-and-evaluated-data/SKILL.md +++ b/skills/depsgraph-and-evaluated-data/SKILL.md @@ -1,7 +1,7 @@ --- name: depsgraph-and-evaluated-data description: Read the actual evaluated geometry the user sees by going through the dependency graph rather than reading raw `obj.data`. Covers `evaluated_get`, `to_mesh`, `to_mesh_clear`, and the lifetime rules that prevent crashes and memory leaks. Targets Blender 5.1. -standards-version: 1.9.4 +standards-version: 1.10.0 --- # Depsgraph and Evaluated Data diff --git a/skills/drivers-and-app-handlers/SKILL.md b/skills/drivers-and-app-handlers/SKILL.md index 63af6404..f3965963 100644 --- a/skills/drivers-and-app-handlers/SKILL.md +++ b/skills/drivers-and-app-handlers/SKILL.md @@ -1,7 +1,7 @@ --- name: drivers-and-app-handlers description: Drive properties from expressions or other properties via the Driver API, and react to scene events via the bpy.app.handlers callbacks. Covers driver_namespace for Python functions, the new exit_pre handler in 5.1, and the must-be-fast contract for any handler. -standards-version: 1.9.4 +standards-version: 1.10.0 --- # Drivers and Application Handlers diff --git a/skills/geometry-nodes-python/SKILL.md b/skills/geometry-nodes-python/SKILL.md index c4f6a05e..9b057fb4 100644 --- a/skills/geometry-nodes-python/SKILL.md +++ b/skills/geometry-nodes-python/SKILL.md @@ -1,7 +1,7 @@ --- name: geometry-nodes-python description: Programmatically construct Geometry Nodes trees in Blender 5.x via bpy.data.node_groups, interface socket creation, node instantiation by RNA name, link wiring, and applying as a NODES modifier. Includes Bundles for grouped sockets. -standards-version: 1.9.4 +standards-version: 1.10.0 --- # Geometry Nodes in Python diff --git a/skills/headless-batch-scripting/SKILL.md b/skills/headless-batch-scripting/SKILL.md index 936fc547..e3b7f565 100644 --- a/skills/headless-batch-scripting/SKILL.md +++ b/skills/headless-batch-scripting/SKILL.md @@ -1,7 +1,7 @@ --- name: headless-batch-scripting description: Run Blender headless via blender --background --python script.py for batch jobs. What changes without a UI, how to avoid UI-dependent operators, the temp_override pattern when ops must be used, and argparse after the -- separator. -standards-version: 1.9.4 +standards-version: 1.10.0 --- # Headless Batch Scripting diff --git a/skills/mesh-editing-and-bmesh/SKILL.md b/skills/mesh-editing-and-bmesh/SKILL.md index f648bdb3..30a271b7 100644 --- a/skills/mesh-editing-and-bmesh/SKILL.md +++ b/skills/mesh-editing-and-bmesh/SKILL.md @@ -1,7 +1,7 @@ --- name: mesh-editing-and-bmesh description: Performant mesh manipulation in Blender. When to use bpy.data vs bpy.ops vs bmesh, the canonical bm.new/free pattern, foreach_set bulk vertex injection, and depsgraph evaluation for modifier-applied geometry. Targets 5.1. -standards-version: 1.9.4 +standards-version: 1.10.0 --- # Mesh Editing and bmesh diff --git a/skills/operators/SKILL.md b/skills/operators/SKILL.md index 602d4846..6425bf8e 100644 --- a/skills/operators/SKILL.md +++ b/skills/operators/SKILL.md @@ -1,7 +1,7 @@ --- name: operators description: Author Blender operators with bpy.types.Operator, bl_idname conventions, the poll/invoke/execute/modal lifecycle, REGISTER and UNDO options, and defensive context handling. Targets 5.1 with 4.5 LTS compatibility. -standards-version: 1.9.4 +standards-version: 1.10.0 --- # Operators diff --git a/skills/procedural-materials-and-shaders/SKILL.md b/skills/procedural-materials-and-shaders/SKILL.md index 88ebbf23..51712a5c 100644 --- a/skills/procedural-materials-and-shaders/SKILL.md +++ b/skills/procedural-materials-and-shaders/SKILL.md @@ -1,7 +1,7 @@ --- name: procedural-materials-and-shaders description: Build materials and shader graphs from Python by enabling nodes, instantiating shader nodes, setting socket default values, and wiring links. Targets Blender 5.1 EEVEE Next and Cycles. Avoids the (deferred to 2027) Layered Textures roadmap. -standards-version: 1.9.4 +standards-version: 1.10.0 --- # Procedural Materials and Shaders diff --git a/skills/slotted-actions-animation/SKILL.md b/skills/slotted-actions-animation/SKILL.md index 8c429f9c..cce726b3 100644 --- a/skills/slotted-actions-animation/SKILL.md +++ b/skills/slotted-actions-animation/SKILL.md @@ -1,7 +1,7 @@ --- name: slotted-actions-animation description: Animate from Python under the Blender 5.x Slotted Actions architecture. Action contains Layers contain Strips contain Channelbags. The action_ensure_channelbag_for_slot bridge utility for 4.5 LTS and 5.x compatibility. -standards-version: 1.9.4 +standards-version: 1.10.0 --- # Slotted Actions Animation diff --git a/skills/ui-panels/SKILL.md b/skills/ui-panels/SKILL.md index 969bdc43..50760cad 100644 --- a/skills/ui-panels/SKILL.md +++ b/skills/ui-panels/SKILL.md @@ -1,7 +1,7 @@ --- name: ui-panels description: Author Blender UI panels with bpy.types.Panel, declarative draw(), bl_space_type and bl_region_type, layout primitives like row/column/split, and conditional UI via .enabled. Targets 5.1. -standards-version: 1.9.4 +standards-version: 1.10.0 --- # UI Panels