diff --git a/.claude/skills/preflight/SKILL.md b/.claude/skills/preflight/SKILL.md index a8c28da..c28a4fa 100644 --- a/.claude/skills/preflight/SKILL.md +++ b/.claude/skills/preflight/SKILL.md @@ -12,6 +12,11 @@ Run comprehensive quality checks before committing or pushing code. /preflight ``` +## Prerequisites + +- **Node.js** >=22.18.0 (`engines` in `package.json`) +- **pnpm** 10.26.2+ (`packageManager` in `package.json`) + ## Steps 1. **Run all checks** diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9aad3fd..5c6bba3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,7 +27,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v6 with: - node-version: '22' + node-version: '22.18.0' cache: 'pnpm' - name: Install dependencies @@ -63,7 +63,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v6 with: - node-version: '22' + node-version: '22.18.0' cache: 'pnpm' - name: Install dependencies @@ -109,7 +109,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v6 with: - node-version: '22' + node-version: '22.18.0' cache: 'pnpm' - name: Install dependencies @@ -293,7 +293,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v6 with: - node-version: '22' + node-version: '22.18.0' cache: 'pnpm' - name: Install dependencies diff --git a/.github/workflows/pr-checks.yml b/.github/workflows/pr-checks.yml index af52126..d6a1d6e 100644 --- a/.github/workflows/pr-checks.yml +++ b/.github/workflows/pr-checks.yml @@ -25,7 +25,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6 with: - node-version: '22' + node-version: '22.18.0' cache: 'pnpm' - name: Install dependencies @@ -64,7 +64,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6 with: - node-version: '22' + node-version: '22.18.0' cache: 'pnpm' - name: Install dependencies @@ -92,7 +92,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6 with: - node-version: '22' + node-version: '22.18.0' cache: 'pnpm' - name: Install dependencies diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fb99e14..f7cf859 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -132,9 +132,14 @@ All code must follow the project's style guidelines: - **Linting** - Code must pass all linting checks - **JSDoc** - Required for public APIs +### Development environment + +- **Node.js** >=22.18.0 (`engines` in `package.json`) +- **pnpm** 10.26.2+ (`packageManager` in `package.json`) + ### Pre-commit Checks -Before committing, run the preflight checks: +Before committing, run the preflight checks (requires the Node.js version above): ```bash pnpm preflight diff --git a/README.md b/README.md index 8e11aaf..0f214d8 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ complex frameworks, just sprites, primitives, and fonts. **App toolchain** -- **Node.js** v22 or higher (LTS) +- **Node.js** >=22.18.0 (LTS) - An **ESM bundler** (Vite, webpack, esbuild, and similar) to load the published package in the browser ## Installation @@ -157,7 +157,8 @@ See [API: Core](docs/api-core.md) for `bootstrap()` options and The commands below apply when building or contributing to **blit-tech** from a repository checkout (not when consuming the npm package). See [CONTRIBUTING.md](CONTRIBUTING.md) for clone setup, DCO sign-off, and pull request workflow. -**Repository prerequisites:** **pnpm** v10.26.2 or higher (see `packageManager` in `package.json`). +**Repository prerequisites:** **Node.js** >=22.18.0 (see `engines` in `package.json`); **pnpm** v10.26.2 or higher (see +`packageManager` in `package.json`). ### Scripts diff --git a/docs/developer-experience-guide.md b/docs/developer-experience-guide.md index a032572..40fa060 100644 --- a/docs/developer-experience-guide.md +++ b/docs/developer-experience-guide.md @@ -10,6 +10,7 @@ Blit-Tech project. See [CONTRIBUTING.md](../CONTRIBUTING.md) for the full contributor workflow. Key points: - Fork the repository and create a feature branch from `main`. +- Use **Node.js** >=22.18.0 and **pnpm** 10.26.2+ (see `engines` and `packageManager` in `package.json`). - Run `pnpm install` and confirm `pnpm preflight` passes before opening a PR. - All commits require a DCO sign-off: use `git commit -s`. - Follow [Conventional Commits](https://www.conventionalcommits.org/) for commit messages.