docs(contributing): describe make docker-init as the sandbox-image pull it is (#5742)

`CONTRIBUTING.md` documents `make docker-init` as "Build the custom k3s image
(with pre-cached sandbox image)" and lists building Docker images, installing
frontend/backend dependencies, and sharing the pnpm cache as its effects. None
of that is what the target does: `Makefile`'s `docker-init` runs
`scripts/docker.sh init`, which only checks `docker images` and runs
`docker pull` for the all-in-one sandbox image (skipping even that in local
sandbox mode). It never calls `docker build`, and no k3s image exists anywhere
in the repo. The root Makefile's own help text already says
"make docker-init - Pull the sandbox image".

The same misconception makes the registry-override note wrong: `UV_INDEX_URL`
and `NPM_REGISTRY` are consumed as build args by `backend/Dockerfile` and
`frontend/Dockerfile`, i.e. during the `docker compose up --build` that
`make docker-start` performs, so they cannot affect a pull-only target.

Correct the setup step, the command comment, and the registry note. No code
change.

Verified against the checkout:
- `Select-String -Path scripts/docker.sh -Pattern 'docker build|docker pull'`
  -> only `docker pull "$SANDBOX_IMAGE"` (line 281); no `docker build`
- `Select-String -Path Makefile -Pattern 'docker-init'` -> line 57 help text
  "Pull the sandbox image"; line 187 target -> `scripts/docker.sh init`
- `Select-String -Path backend/Dockerfile,frontend/Dockerfile -Pattern
  'UV_INDEX_URL|NPM_REGISTRY'` -> both declared as build ARGs
- `backend/tests/test_client_live_policy.py::test_documentation_matches_live_test_commands`
  (the only test that reads CONTRIBUTING.md) still passes; it asserts
  "make test-live", the live opt-in variable, and "API", none of which this
  touches.

Co-authored-by: Shxiao101 <Shxiao101@users.noreply.github.com>
This commit is contained in:
Shxiao 2026-09-23 08:47:36 +09:00 committed by GitHub
parent c9043c2574
commit d3f44fd159
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -37,11 +37,9 @@ Docker provides a consistent, isolated environment with all dependencies pre-con
```bash ```bash
make docker-init make docker-init
``` ```
This will: This pulls the sandbox image that the container sandbox modes run, so the
- Build Docker images first sandbox container does not wait on the download. It is a no-op in
- Install frontend dependencies (pnpm) local sandbox mode (the default), which needs no image.
- Install backend dependencies (uv)
- Share pnpm cache with host for faster builds
3. **Start development services**: 3. **Start development services**:
```bash ```bash
@ -86,7 +84,7 @@ Docker provides a consistent, isolated environment with all dependencies pre-con
#### Docker Commands #### Docker Commands
```bash ```bash
# Build the custom k3s image (with pre-cached sandbox image) # Pull the sandbox image used by the container sandbox modes
make docker-init make docker-init
# Start Docker services (mode-aware, localhost:2026) # Start Docker services (mode-aware, localhost:2026)
make docker-start make docker-start
@ -100,7 +98,7 @@ make docker-logs-frontend
make docker-logs-gateway make docker-logs-gateway
``` ```
If Docker builds are slow in your network, you can override the default package registries before running `make docker-init` or `make docker-start`: If Docker builds are slow in your network, you can override the default package registries before running `make docker-start`:
```bash ```bash
export UV_INDEX_URL=https://pypi.org/simple export UV_INDEX_URL=https://pypi.org/simple