3 Commits
Author SHA1 Message Date
clawbot f01ca24dc2 REPO_POLICIES: fix the second review's findings on the compaction (#158)
check / check (push) Successful in 18s
Fixes the seven findings of
#159 (comment), with
the wording each one gives.

- Go key points: "whatever files the mount holds".
- `.dockerignore`: "Such a `.dockerignore` is more dangerous than a
  short file with no secret patterns at all".
- Python: "pipenv checked the hashes of the lockfile's packages".
- Python: "In that step" leads only the two bullets about that step.
  The other four sit under "A Python repository's `script/bootstrap`:".
- Entrypoints: "Three more scripts have no required target:".
- Dockerfile: the two ways a stage installs what its image lacks are
  bulleted again, as on `next`.
- Version: the sentence ends at "stage-scoped", then "It has no
  default."
- `TODO.md`: the entry carries the new size, 1,066 lines and 7,812
  words.

Model: fable-5-1
2026-11-06 01:53:49 +00:00
clawbot 2e98be476a REPO_POLICIES: fix the review findings on the compaction (#158)
check / check (push) Successful in 25s
Fixes the findings of the review of
#159.

- CI: "The workflow sets these:", so the four settings bind every
  repo's workflow again.
- node and yarn: a stage that needs no yarn copies no `yarn.lock`
  before it runs `script/bootstrap`, which is what the examples do.
- Dockerfile: names the stage to keep last, the one that ships.
- Version: "Without that check" replaces "Otherwise".
- The lists the review named are bulleted again, with the wording on
  `next`. The submodule examples are in their own sentence, as in both
  checklists.
- `TODO.md`: the entry carries the new size, 1,062 lines and 7,794
  words.

Model: fable-5-1
2026-11-06 01:25:27 +00:00
clawbot 6dcacf673f Compact REPO_POLICIES.md without losing rules (closes #158)
check / check (push) Successful in 16s
The rules now sit under headings, the pinning rule first. Each rule that
was stated in several places is stated once. From 1,145 lines and 8,427
words to 1,012 lines and 7,709 words. Code blocks are unchanged, except
that the Makefile copies of the Go and Python test commands are gone:
the Dockerfile examples carry the same commands.

Both checklists name the `.golangci.yml` section.

Model: fable-5-1
2026-11-06 00:57:30 +00:00
5 changed files with 711 additions and 818 deletions

No files matched your search

+7 -5
View File
@@ -21,11 +21,13 @@ fmt-check, and commit.
# Completed Steps # Completed Steps
- 2026-11-07: Go code is now formatted with `gofmt` and then `golines -m 77` - 2026-11-06: Compacted `prompts/REPO_POLICIES.md` from 1,145 lines and 8,427
(https://git.eeqj.de/sneak/prompts/issues/160). `prompts/REPO_POLICIES.md` words to 1,066 lines and 7,812 words
says how `script/fmt`, `script/fmt-check` and `script/bootstrap` do it and (https://git.eeqj.de/sneak/prompts/issues/158). Every rule keeps its meaning.
pins `golines`. The Go style guide and both checklists say the same. `lll` The rules now sit under headings, the pinning rule first. Each rule that was
stays at 88, since `golines` leaves long strings and comments as they are. stated in several places is stated once. The Makefile copies of the Go and
Python test commands are gone, because the `Dockerfile` examples carry the
same commands. Both checklists name the `.golangci.yml` section.
- 2026-11-06: The pinning rule in `prompts/REPO_POLICIES.md` now opens with its - 2026-11-06: The pinning rule in `prompts/REPO_POLICIES.md` now opens with its
scope: what we download and install ourselves in scripts and Dockerfiles scope: what we download and install ourselves in scripts and Dockerfiles
(https://git.eeqj.de/sneak/prompts/issues/154). Distribution packages are (https://git.eeqj.de/sneak/prompts/issues/154). Distribution packages are
+5 -8
View File
@@ -1,16 +1,13 @@
--- ---
title: Code Styleguide — Go title: Code Styleguide — Go
last_modified: 2026-11-07 last_modified: 2026-10-18
--- ---
1. Format Go code with `gofmt` and then `golines -m 77`, through `make fmt`. 1. Try to hard wrap long lines at 77 characters or less.
Don't commit anything `make fmt` would change. The only exception is when
committing things that aren't yet syntactically valid, which should only
happen pre-v0.0.1 or on a non-`main` branch.
1. Hard wrap long lines at 77 characters or less. `golines` does this for code. 1. Don't commit anything that hasn't been `go fmt`'d. The only exception is
Wrap comments and long string literals by hand, since `golines` leaves them when committing things that aren't yet syntactically valid, which should
as they are. only happen pre-v0.0.1 or on a non-`main` branch.
1. Even if you are planning to deal with only positive integers, use 1. Even if you are planning to deal with only positive integers, use
`int`/`int64` types instead of `uint`/`uint64` types. This is for `int`/`int64` types instead of `uint`/`uint64` types. This is for
+4 -9
View File
@@ -1,6 +1,6 @@
--- ---
title: Existing Repo Checklist title: Existing Repo Checklist
last_modified: 2026-11-07 last_modified: 2026-11-06
--- ---
Use this checklist when beginning work in a repo that may not yet conform to our Use this checklist when beginning work in a repo that may not yet conform to our
@@ -163,7 +163,7 @@ with your task.
- [ ] Go: `go.mod`, `go.sum`, `.golangci.yml` (fetch from - [ ] Go: `go.mod`, `go.sum`, `.golangci.yml` (fetch from
`https://git.eeqj.de/sneak/prompts/raw/branch/main/.golangci.yml` and, `https://git.eeqj.de/sneak/prompts/raw/branch/main/.golangci.yml` and,
in the same commit, set the lint phase digest to the one named in the in the same commit, set the lint phase digest to the one named in the
`.golangci.yml` paragraph of `REPO_POLICIES.md`) `.golangci.yml` section of `REPO_POLICIES.md`)
- [ ] JS: `package.json`, `yarn.lock`, `.yarnrc.yml`, `.yarn/releases/`, - [ ] JS: `package.json`, `yarn.lock`, `.yarnrc.yml`, `.yarn/releases/`,
`.gitattributes`, `.prettierrc`, `.prettierignore` (fetch the last two `.gitattributes`, `.prettierrc`, `.prettierignore` (fetch the last two
from `https://git.eeqj.de/sneak/prompts/raw/branch/main/.prettierrc` from `https://git.eeqj.de/sneak/prompts/raw/branch/main/.prettierrc`
@@ -259,13 +259,8 @@ with your task.
# Formatting # Formatting
- [ ] Platform-standard formatter is configured (`black`, `prettier`, and for Go - [ ] Platform-standard formatter is configured (`black`, `prettier`, `go fmt`)
`gofmt` then `golines -m 77`) - [ ] Default formatter config, only exception: four-space indents (except Go)
- [ ] Default formatter config, except four-space indents (not Go),
`proseWrap: always` for Markdown, and the Go 77-column limit
- [ ] Go: `script/bootstrap` installs `golines` with `go install` pinned to a
commit hash; `script/fmt-check` fails when `gofmt` or `golines -m 77`
would change a file
- [ ] All files pass `make fmt-check` - [ ] All files pass `make fmt-check`
# Git Hygiene # Git Hygiene
+4 -6
View File
@@ -1,6 +1,6 @@
--- ---
title: New Repo Checklist title: New Repo Checklist
last_modified: 2026-11-07 last_modified: 2026-11-06
--- ---
Use this checklist when creating a new repository from scratch. Follow the steps Use this checklist when creating a new repository from scratch. Follow the steps
@@ -178,7 +178,7 @@ Template files can be fetched from:
- [ ] Go: `go mod init sneak.berlin/go/<name>`, `.golangci.yml` (fetch from - [ ] Go: `go mod init sneak.berlin/go/<name>`, `.golangci.yml` (fetch from
`https://git.eeqj.de/sneak/prompts/raw/branch/main/.golangci.yml` and, `https://git.eeqj.de/sneak/prompts/raw/branch/main/.golangci.yml` and,
in the same commit, set the lint phase digest to the one named in the in the same commit, set the lint phase digest to the one named in the
`.golangci.yml` paragraph of `REPO_POLICIES.md`) `.golangci.yml` section of `REPO_POLICIES.md`)
- [ ] JS, or any repository that runs prettier through yarn: make the first - [ ] JS, or any repository that runs prettier through yarn: make the first
`yarn.lock` with the steps below. `script/bootstrap` installs no yarn `yarn.lock` with the steps below. `script/bootstrap` installs no yarn
until `yarn.lock` exists, so run them with any distribution's node and until `yarn.lock` exists, so run them with any distribution's node and
@@ -233,11 +233,9 @@ are thin shims calling them. Model scripts:
which writes no image. No lint verdict may come from a host invocation of which writes no image. No lint verdict may come from a host invocation of
the linter. the linter.
- [ ] `script/fmt` / `make fmt` — formats code (writes; native, never in a - [ ] `script/fmt` / `make fmt` — formats code (writes; native, never in a
container). Go code gets `gofmt`, then `golines -m 77`. container)
- [ ] `script/fmt-check` / `make fmt-check` — checks formatting (read-only; - [ ] `script/fmt-check` / `make fmt-check` — checks formatting (read-only;
native). Fails when `gofmt` or `golines -m 77` would change a Go file. native)
- [ ] Go: `script/bootstrap` installs `golines` with `go install` pinned to a
commit hash
- [ ] `script/check` / `make check` — runs `test`, `lint`, `fmt-check`; must not - [ ] `script/check` / `make check` — runs `test`, `lint`, `fmt-check`; must not
modify files modify files
- [ ] `script/projectname` — outputs the project name (used by `script/docker` - [ ] `script/projectname` — outputs the project name (used by `script/docker`
+691 -790
View File
File diff suppressed because it is too large. Load diff