diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index d1e02f2..04bd9be 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -16,4 +16,18 @@ See [LOCAL_DEVELOPMENT.md](./LOCAL_DEVELOPMENT.md) for how to run the app locall - Keep PRs focused: one feature or fix per PR. - For larger features, open an issue first so we can align on the approach before you invest time. -- Make sure `pnpm ci:check` passes before requesting review. +- Before requesting review, run the same root checks used by CI: + + ```sh + pnpm ci:check + pnpm test:ci + pnpm vite build + ``` + +- If you changed the website under `web/`, also run: + + ```sh + pnpm --dir web install --frozen-lockfile + pnpm --dir web run types:check + pnpm --dir web run build + ``` diff --git a/docs/LOCAL_DEVELOPMENT.md b/docs/LOCAL_DEVELOPMENT.md index a212853..b64a4e9 100644 --- a/docs/LOCAL_DEVELOPMENT.md +++ b/docs/LOCAL_DEVELOPMENT.md @@ -3,18 +3,24 @@ ## Prerequisites - Node.js 20+ -- [pnpm](https://pnpm.io/) +- [Corepack](https://nodejs.org/api/corepack.html) (bundled through Node.js 24; install it separately on Node.js 25+) - A DataForSEO account/API credentials ## Local Development Workflow ```sh -pnpm install +# Activates the exact pnpm version declared in package.json. +corepack enable +pnpm install --frozen-lockfile # Run once per fresh local DB pnpm run db:migrate:local ``` +Verify that `pnpm --version` reports the version declared by the +`packageManager` field in `package.json`. An older global pnpm may reject +the repository's lockfile as incompatible. + Configure `.env.local`: 1. `cp .env.example .env.local`