diff --git a/.npmrc b/.npmrc new file mode 100644 index 00000000..b6f27f13 --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +engine-strict=true diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 80b0a44f..d6ac940c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -93,7 +93,7 @@ This workflow uses the `force-cancel` endpoint to ensure stalled runs are termin To set up the project locally: 1. **Prerequisites**: - - **Node.js**: v22 or higher. + - **Node.js**: v22 or higher (enforced by `.npmrc`). - **NPM**: v10 or higher (included with Node 22). 2. **Install Dependencies**: diff --git a/README.md b/README.md index 55191e03..14b75c49 100644 --- a/README.md +++ b/README.md @@ -143,7 +143,7 @@ To run **bitvid** locally: 2. Install dependencies: - Use `npm ci` to install dependencies exactly as specified in `package-lock.json`. This ensures `npx` finds the correct local `tailwindcss` version. + The project requires Node.js v22 or higher. Use `npm ci` to install dependencies exactly as specified in `package-lock.json`. ```bash npm ci diff --git a/artifacts/ONBOARDING_REPORT.md b/artifacts/ONBOARDING_REPORT.md new file mode 100644 index 00000000..d701b5c9 --- /dev/null +++ b/artifacts/ONBOARDING_REPORT.md @@ -0,0 +1,29 @@ +# Onboarding Audit Report +Date: 2025-02-11 + +## Summary +The onboarding process was audited by simulating a fresh checkout and running the documented commands. All steps passed successfully. To further improve reliability, strict Node version enforcement was added. + +## Environment +- **Node Version**: v22.22.0 +- **NPM Version**: 11.7.0 +- **OS**: Linux (Sandbox) + +## Commands Executed +1. `npm ci` - **PASS** + - Clean install of dependencies. + - Added 424 packages. +2. `npm run build:css` - **PASS** + - Built Tailwind CSS successfully. +3. `npm run format` - **PASS** + - Checked formatting for CSS, HTML, MD, Config. + - No files were modified (compliance verified). + +## Configuration Checks +- **package.json**: `engines.node` is set to `>=22`. +- **.devcontainer/devcontainer.json**: Uses `mcr.microsoft.com/devcontainers/javascript-node:22`, consistent with `package.json`. +- **Dockerfile**: Uses `mcr.microsoft.com/playwright:v1.58.0-jammy`. Verified compatible with Node 22 requirement. + +## Improvements Implemented +- **Enforce Node Version**: created `.npmrc` with `engine-strict=true`. This ensures developers are using the required Node version (>=22) during `npm install`/`ci`. +- **Documentation**: Updated `README.md` and `CONTRIBUTING.md` to explicitly mention the Node version requirement and its enforcement.