For docker-Scrape-Web-Page-To-Markdown, installs Node/npm dependencies only inside the Docker image (never npm install on the host); run Docker with sudo; write project documentation (README.md, PROJECT.md, etc.) in English; keep user-facing and in-repo program messages (API errors, script echo output, thrown Error strings, Dockerfile comments) in English. Use when editing package.json, Dockerfile, docs, app code, shell scripts, running the app, debugging containers, or when the user mentions local node_modules, npm install, Docker, or doc/language for this repo.
Do not install project dependencies on the host
npm install, npm ci, yarn, pnpm install, etc. in the project directory on the host.Dockerfile via npm install --omit=dev at image build time (under /node_modules in the image)./app; Node resolves packages from /node_modules above /app.Prefix Docker commands with sudo
sudo docker … and sudo docker compose … (including build, up, run, exec, logs, etc.).sudodockersudoIn this repository, messages that live in code or scripts must be English, including:
error / detail strings and similar user-visible responsesthrow new Error(...) and other runtime messages intended for operators or API clientsecho / printf output and comments that explain behavior to maintainersDockerfile commentsChat with the user may use another language; do not add non-English strings into the codebase for those items unless the user explicitly requests a localized product.
package.json dependencies as needed.sudo docker compose build appsudo docker compose run --rm app node -e "require('express');require('cheerio');require('turndown');console.log('deps ok')"npm run docker:verify-deps; add sudo if the script omits it.)sudo docker compose up --build (or npm start if it wraps Compose; still use sudo when invoking Docker directly).scripts/self-test.sh with BASE_URL pointing at the service; ensure the stack is up with sudo docker compose up first.npm install.sudo where this project expects it.