Skip to content

chore(node): pin Node 24.22.1 and make AGENTS.md the single agent guide - #102

Merged
sdcorejs merged 1 commit into
mainfrom
chore/node-24-agents-md
Oct 23, 2026
Merged

sdcorejs merged 1 commit into
mainfrom
chore/node-24-agents-md

Conversation

@sdcorejs

Copy link
Copy Markdown
Owner

Why

The repo pinned exact Node 22.22.3 for every install, build and release step. Node 22 has been in maintenance since 2025-10-21 and reaches end of life on 2027-04-30. Two jobs (verify-version-sync in ci.yml and the Pages build) were still on Node 20, which reached end of life on 2026-04-30. This PR moves the whole repo to exact Node 24.22.1, the current Node 24 LTS release. Node 24 is supported until 2028-04-30.

The agent instructions also lived in two near-identical files: CLAUDE.md and AGENTS.md, 330 and 342 lines. AGENTS.md had drifted. The consolidation in 12d4edc had overwritten the step comments in its code blocks with the file title (# sdcorejs-angular - Agent Instructions).

What changed

Node 24.22.1

  • ci.yml (5 jobs), publish-npm.yml (6 jobs) and deploy-pages.yml (1 job) now use node-version: '24.22.1'.
  • scripts/deploy.ps1 and scripts/release-package-contract.mjs now require exact v24.22.1. release-package-contract.test.mjs and publish-npm-workflow.test.mjs assert the new pin.
  • README.md, AGENTS.md and the workspace READMEs are updated. The workspace READMEs were edited in versions/v19 and rolled out with npm run sync. The only SYNC-STATUS.md change is the timestamp.

Single agent guide

  • AGENTS.md is the only instruction file. A note at the top says so, and the "Instruction provenance" section is removed.
  • CLAUDE.md now contains only @AGENTS.md. Claude Code auto-loads CLAUDE.md but not AGENTS.md, so the import keeps the rules loaded.
  • The code-block step comments are restored from the old CLAUDE.md.
  • References in HANDOFF.md, .gitignore and deploy-pages.yml now point to AGENTS.md.

Unchanged on purpose

  • The published v22 engine range ^22.22.3 || ^24.15.0 || ^26.0.0 is a consumer contract, and it already includes 24.22.1.
  • Historical records still say Node 22.22.3: scripts/release-contracts/*, .sdcorejs/** and CHANGELOG.md. They describe how past releases were built.
  • The publisher still installs exact npm@11.5.1.

Verification

All of these ran locally on Node v24.22.1 / npm 11.19.1 (Windows) and exited 0:

  • npm ci (root) and npm --prefix versions/v19 ci --legacy-peer-deps
  • npm run check:sync: v20, v21 and v22 match v19
  • npm run test:scripts: 270 tests, 0 failures
  • npm run check:scss-hex
  • npx ng build sdcorejs-angular in versions/v19
  • npm --prefix versions/v22 ci (clean install policy)

Not run locally, left to CI: the full v19 Karma suite with coverage, v20/v21 installs and builds, the Showcase and e2e.

Note for reviewers

npm 11.19 (bundled with Node 24.22.1) skips install scripts that are not approved under allowScripts. For this repo that means esbuild, lmdb, msgpackr-extract and @parcel/watcher. Each install prints npm warn install-scripts. These packages load prebuilt binaries from their optional platform dependencies, so the v19 library build passes. If a CI job fails on one of them, approve it with npm install-scripts approve <pkg> rather than switching back to Node 22.

🤖 Generated with Claude Code

Pin every CI, release and Pages job to exact Node 24.22.1. They pinned
22.22.3 before, except verify-version-sync and the Pages build, which
were still on Node 20 (end of life since 2026-04-30). deploy.ps1 and
release-package-contract.mjs now require exact v24.22.1, and their tests
follow.

AGENTS.md is now the only instruction file. CLAUDE.md is cut down to
`@AGENTS.md` so Claude Code still loads it. Restore the code-block
comments that the earlier consolidation (12d4edc) overwrote with the
file title.

The published v22 engine range (^22.22.3 || ^24.15.0 || ^26.0.0) and
past release records stay as they are.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sdcorejs
sdcorejs merged commit 996ee0d into main Oct 23, 2026
7 checks passed
sdcorejs pushed a commit that referenced this pull request Oct 23, 2026
Brings in the Node 24.22.1 pin and the single AGENTS.md guide (#102).
SYNC-STATUS.md conflicted only on the Updated At timestamp of both
syncs; resolved by running npm run sync again on the merged tree.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sdcorejs
sdcorejs deleted the chore/node-24-agents-md branch October 23, 2026 19:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants