diff --git a/AGENTS.md b/AGENTS.md index ca951623..43aada50 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -42,25 +42,36 @@ These rules override everything else in this file when in conflict: ```powershell Invoke-ScriptAnalyzer -Path . -Settings .\lint\PSScriptAnalyser.ps1 -Recurse ``` -- Docs site dev server (run from `docs/`): +- Docs site dev server (run from `docs/`; see Section 2 for why this goes through Docker): ```powershell - npm install - npm run dev + docker compose up winutil-astro ``` - Docs site production build (run from `docs/`): ```powershell - npm run build + docker compose run --rm winutil-astro npm run build ``` Prefer the narrowest useful verification while iterating. Use the full relevant check before finishing. -## 2. Source Of Truth +## 2. Dependency Installs, Builds, And Dev Servers + +Given the current wave of npm/pnpm/yarn supply-chain worms (malicious postinstall/preinstall scripts, credential-stealing packages): **never run npm/pnpm/yarn/npx directly on the host, full stop.** The docs site (`docs/`) is the only npm-based project in this repo; always run its tooling inside Docker via `docs/Dockerfile` and `docs/docker-compose.yml` (service `winutil-astro`). + +- Never run `npm install`, `npm run