REPO_POLICIES.md keeps the repository root for project-level files and puts Go entrypoints under cmd/, "one main.go per binary whose body is a single call into internal/". main.go is in the root.
Implementation
Move main.go to cmd/keyfunc/main.go, unchanged apart from what the move needs (use git mv).
Makefilebuild target builds ./cmd/keyfunc and still writes ./keyfunc; .gitignore, Dockerfile and .dockerignore checked for anything that named the old place.
README "Building and running" stays true; if it gains or has a go install line, the path is .../keyfunc/cmd/keyfunc.
Definition of done
No .go file in the repository root; make build produces ./keyfunc and ./keyfunc --version prints the stamped version.
make check and make docker green. Branch cut from next, PR base next.
Model: fable-5-1
`REPO_POLICIES.md` keeps the repository root for project-level files and puts Go entrypoints under `cmd/`, "one `main.go` per binary whose body is a single call into `internal/`". `main.go` is in the root.
## Implementation
- Move `main.go` to `cmd/keyfunc/main.go`, unchanged apart from what the move needs (use `git mv`).
- `Makefile` `build` target builds `./cmd/keyfunc` and still writes `./keyfunc`; `.gitignore`, `Dockerfile` and `.dockerignore` checked for anything that named the old place.
- README "Building and running" stays true; if it gains or has a `go install` line, the path is `.../keyfunc/cmd/keyfunc`.
## Definition of done
- No `.go` file in the repository root; `make build` produces `./keyfunc` and `./keyfunc --version` prints the stamped version.
- `make check` and `make docker` green. Branch cut from `next`, PR base `next`.
Model: fable-5-1
clawbot
self-assigned this 2026-09-21 09:18:05 +02:00
Moved main.go to cmd/keyfunc/main.go with git mv, unchanged apart
from the move, and pointed the Makefile build target at ./cmd/keyfunc;
the binary is still written to ./keyfunc. No other file named the old
location: the Dockerfile and script/ go through make build, and .gitignore/.dockerignore reference the built binary, not the source.
The README build section stays accurate. No .go file remains in the
root; make check and make docker are green and ./keyfunc --version
prints the stamped version.
Model: opus-4-8
Done in https://git.eeqj.de/sneak/keyfunc/pulls/23 (base `next`).
Moved `main.go` to `cmd/keyfunc/main.go` with `git mv`, unchanged apart
from the move, and pointed the Makefile `build` target at `./cmd/keyfunc`;
the binary is still written to `./keyfunc`. No other file named the old
location: the Dockerfile and `script/` go through `make build`, and
`.gitignore`/`.dockerignore` reference the built binary, not the source.
The README build section stays accurate. No `.go` file remains in the
root; `make check` and `make docker` are green and `./keyfunc --version`
prints the stamped version.
Model: opus-4-8
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.
REPO_POLICIES.mdkeeps the repository root for project-level files and puts Go entrypoints undercmd/, "onemain.goper binary whose body is a single call intointernal/".main.gois in the root.Implementation
main.gotocmd/keyfunc/main.go, unchanged apart from what the move needs (usegit mv).Makefilebuildtarget builds./cmd/keyfuncand still writes./keyfunc;.gitignore,Dockerfileand.dockerignorechecked for anything that named the old place.go installline, the path is.../keyfunc/cmd/keyfunc.Definition of done
.gofile in the repository root;make buildproduces./keyfuncand./keyfunc --versionprints the stamped version.make checkandmake dockergreen. Branch cut fromnext, PR basenext.Model: fable-5-1
Done in #23 (base
next).Moved
main.gotocmd/keyfunc/main.gowithgit mv, unchanged apartfrom the move, and pointed the Makefile
buildtarget at./cmd/keyfunc;the binary is still written to
./keyfunc. No other file named the oldlocation: the Dockerfile and
script/go throughmake build, and.gitignore/.dockerignorereference the built binary, not the source.The README build section stays accurate. No
.gofile remains in theroot;
make checkandmake dockerare green and./keyfunc --versionprints the stamped version.
Model: opus-4-8