From 4f45e6325b5a9430f7e85cd52ff7c0a4cbca9d5f Mon Sep 17 00:00:00 2001 From: TheStreamCode Date: Tue, 22 Sep 2026 20:01:03 +0200 Subject: [PATCH 1/2] chore: fleet hygiene (release automation, dependabot) Add tag-driven release workflow (verify tag = package.json, validate layout, GitHub release with generated notes; no build artifact by design) and grouped-weekly dependabot.yml (npm + github-actions). Verified ci.yml already meets the fleet bar (SHA-pinned actions, permissions: contents: read), so no CI changes needed. Closes review P1 automation items for agentic-rd-skill. --- .github/dependabot.yml | 30 +++++++++++++++++++++++++ .github/workflows/release.yml | 41 +++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/release.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..aa561e8 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,30 @@ +version: 2 +updates: + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "weekly" + day: "monday" + labels: + - "dependencies" + groups: + npm-minor-patch: + update-types: + - "minor" + - "patch" + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + day: "monday" + labels: + - "dependencies" + - "github-actions" + commit-message: + prefix: "chore(actions)" + include: "scope" + groups: + actions-minor-patch: + update-types: + - "minor" + - "patch" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..ae6c035 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,41 @@ +name: Release + +on: + push: + tags: + - 'v*' + +permissions: + contents: write + +jobs: + github-release: + runs-on: ubuntu-latest + timeout-minutes: 20 + + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + + - name: Set up Node.js + uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 + with: + node-version: '22' + cache: npm + + - name: Verify tag matches package version + run: node -e "const version=require('./package.json').version; if ('v' + version !== process.env.GITHUB_REF_NAME) throw new Error('Tag and package version differ')" + + - name: Install dependencies + run: npm ci + + - name: Validate repository layout + run: npm run validate + + - name: Publish GitHub release + run: | + gh release create "$GITHUB_REF_NAME" \ + --verify-tag \ + --generate-notes \ + --title "Agentic RD Skill $GITHUB_REF_NAME" + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 20bb1eaa1d5a0578c1fee0d227353a745c0ee914 Mon Sep 17 00:00:00 2001 From: TheStreamCode Date: Tue, 22 Sep 2026 20:37:54 +0200 Subject: [PATCH 2/2] fix: align bundled skill LICENSE with repository LICENSE Root LICENSE copyright was deliberately aligned to 'Michael Gasperini (TheStreamCode)' in 2ada3eb; the bundled copy under skills/agentic-rd-skill/LICENSE still carried the stale '(Mikesoft)' holder, so validate-repo.mjs (byte-identical LICENSE check) and the package structural-invariant tests failed with 'Bundled skill LICENSE must match the repository LICENSE'. Choice rationale: align bundled -> root (TheStreamCode), not the reverse, because the root change was the deliberate, reviewed intent (2ada3eb) and matches package.json author/homepage, CITATION.cff URL, and repo ownership; the bundled copy was simply missed in that pass. --- skills/agentic-rd-skill/LICENSE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/skills/agentic-rd-skill/LICENSE b/skills/agentic-rd-skill/LICENSE index a3bbb6c..8205e3c 100644 --- a/skills/agentic-rd-skill/LICENSE +++ b/skills/agentic-rd-skill/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2026 Michael Gasperini (Mikesoft) +Copyright (c) 2026 Michael Gasperini (TheStreamCode) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal