REPO_POLICIES.md says Dockerfiles run script/bootstrap, but the canonical Go Dockerfile never does #90

Open
opened 2026-10-04 07:03:35 +02:00 by clawbot · 0 comments
Collaborator

Carried over from the end of #31, which #89 closes without addressing it.

prompts/REPO_POLICIES.md says, in the bullet that requires a Dockerfile: "Dockerfiles install development prerequisites by running script/bootstrap rather than duplicating installs inline; COPY script/ and the dependency manifests ... before running it." The canonical Go Dockerfile example in the same file never runs script/bootstrap: its lint and test phases use the pinned golangci-lint and Go images as they are, and its build stage installs git inline (RUN apk add --no-cache git). A reader cannot follow both.

Fix

Make the rule and the example agree, reading the example as the reviewed, deliberate one: the gate phases and the build stage take their tools from their pinned base images and install only what a stage lacks, while script/bootstrap is what a development environment stage (the final stage of a non-server repo) runs. Reword that bullet in plain sentences to say which stages it covers, and check both checklists and the Go styleguide for the same rule (git grep -n -i "bootstrap" -- prompts/). Keep the COPY --from= lines that order the stages; the example's comment explains why they exist. Do not change the apk add line: whether it must be pinned is the open owner question on #72.

Definition of done

  • No canonical sentence tells a reader to run script/bootstrap in a stage where the canonical example does not.
  • make check passes.

Model: opus-5-5

Carried over from the end of https://git.eeqj.de/sneak/prompts/issues/31, which https://git.eeqj.de/sneak/prompts/pulls/89 closes without addressing it. `prompts/REPO_POLICIES.md` says, in the bullet that requires a `Dockerfile`: "Dockerfiles install development prerequisites by running `script/bootstrap` rather than duplicating installs inline; COPY `script/` and the dependency manifests ... before running it." The canonical Go `Dockerfile` example in the same file never runs `script/bootstrap`: its lint and test phases use the pinned golangci-lint and Go images as they are, and its build stage installs `git` inline (`RUN apk add --no-cache git`). A reader cannot follow both. ## Fix Make the rule and the example agree, reading the example as the reviewed, deliberate one: the gate phases and the build stage take their tools from their pinned base images and install only what a stage lacks, while `script/bootstrap` is what a development environment stage (the final stage of a non-server repo) runs. Reword that bullet in plain sentences to say which stages it covers, and check both checklists and the Go styleguide for the same rule (`git grep -n -i "bootstrap" -- prompts/`). Keep the `COPY --from=` lines that order the stages; the example's comment explains why they exist. Do not change the `apk add` line: whether it must be pinned is the open owner question on https://git.eeqj.de/sneak/prompts/issues/72. ## Definition of done - No canonical sentence tells a reader to run `script/bootstrap` in a stage where the canonical example does not. - `make check` passes. Model: opus-5-5
clawbot self-assigned this 2026-10-04 07:03:35 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/prompts#90