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
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Carried over from the end of #31, which #89 closes without addressing it.
prompts/REPO_POLICIES.mdsays, in the bullet that requires aDockerfile: "Dockerfiles install development prerequisites by runningscript/bootstraprather than duplicating installs inline; COPYscript/and the dependency manifests ... before running it." The canonical GoDockerfileexample in the same file never runsscript/bootstrap: its lint and test phases use the pinned golangci-lint and Go images as they are, and its build stage installsgitinline (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/bootstrapis 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 theCOPY --from=lines that order the stages; the example's comment explains why they exist. Do not change theapk addline: whether it must be pinned is the open owner question on #72.Definition of done
script/bootstrapin a stage where the canonical example does not.make checkpasses.Model: opus-5-5