Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f005c2de88 |
No files matched your search
@@ -21,13 +21,11 @@ fmt-check, and commit.
|
||||
|
||||
# Completed Steps
|
||||
|
||||
- 2026-11-06: Compacted `prompts/REPO_POLICIES.md` from 1,145 lines and 8,427
|
||||
words to 1,066 lines and 7,812 words
|
||||
(https://git.eeqj.de/sneak/prompts/issues/158). Every rule keeps its meaning.
|
||||
The rules now sit under headings, the pinning rule first. Each rule that was
|
||||
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-07: Go code is now formatted with `gofmt` and then `golines -m 77`
|
||||
(https://git.eeqj.de/sneak/prompts/issues/160). `prompts/REPO_POLICIES.md`
|
||||
says how `script/fmt`, `script/fmt-check` and `script/bootstrap` do it and
|
||||
pins `golines`. The Go style guide and both checklists say the same. `lll`
|
||||
stays at 88, since `golines` leaves long strings and comments as they are.
|
||||
- 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
|
||||
(https://git.eeqj.de/sneak/prompts/issues/154). Distribution packages are
|
||||
|
||||
@@ -1,13 +1,16 @@
|
||||
---
|
||||
title: Code Styleguide — Go
|
||||
last_modified: 2026-10-18
|
||||
last_modified: 2026-11-07
|
||||
---
|
||||
|
||||
1. Try to hard wrap long lines at 77 characters or less.
|
||||
1. Format Go code with `gofmt` and then `golines -m 77`, through `make fmt`.
|
||||
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. Don't commit anything that hasn't been `go fmt`'d. 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.
|
||||
Wrap comments and long string literals by hand, since `golines` leaves them
|
||||
as they are.
|
||||
|
||||
1. Even if you are planning to deal with only positive integers, use
|
||||
`int`/`int64` types instead of `uint`/`uint64` types. This is for
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Existing Repo Checklist
|
||||
last_modified: 2026-11-06
|
||||
last_modified: 2026-11-07
|
||||
---
|
||||
|
||||
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
|
||||
`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
|
||||
`.golangci.yml` section of `REPO_POLICIES.md`)
|
||||
`.golangci.yml` paragraph of `REPO_POLICIES.md`)
|
||||
- [ ] JS: `package.json`, `yarn.lock`, `.yarnrc.yml`, `.yarn/releases/`,
|
||||
`.gitattributes`, `.prettierrc`, `.prettierignore` (fetch the last two
|
||||
from `https://git.eeqj.de/sneak/prompts/raw/branch/main/.prettierrc`
|
||||
@@ -259,8 +259,13 @@ with your task.
|
||||
|
||||
# Formatting
|
||||
|
||||
- [ ] Platform-standard formatter is configured (`black`, `prettier`, `go fmt`)
|
||||
- [ ] Default formatter config, only exception: four-space indents (except Go)
|
||||
- [ ] Platform-standard formatter is configured (`black`, `prettier`, and for Go
|
||||
`gofmt` then `golines -m 77`)
|
||||
- [ ] Default formatter config, except four-space indents (not Go) 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`
|
||||
|
||||
# Git Hygiene
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: New Repo Checklist
|
||||
last_modified: 2026-11-06
|
||||
last_modified: 2026-11-07
|
||||
---
|
||||
|
||||
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
|
||||
`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
|
||||
`.golangci.yml` section of `REPO_POLICIES.md`)
|
||||
`.golangci.yml` paragraph of `REPO_POLICIES.md`)
|
||||
- [ ] JS, or any repository that runs prettier through yarn: make the first
|
||||
`yarn.lock` with the steps below. `script/bootstrap` installs no yarn
|
||||
until `yarn.lock` exists, so run them with any distribution's node and
|
||||
@@ -233,9 +233,11 @@ are thin shims calling them. Model scripts:
|
||||
which writes no image. No lint verdict may come from a host invocation of
|
||||
the linter.
|
||||
- [ ] `script/fmt` / `make fmt` — formats code (writes; native, never in a
|
||||
container)
|
||||
container). Go code gets `gofmt`, then `golines -m 77`.
|
||||
- [ ] `script/fmt-check` / `make fmt-check` — checks formatting (read-only;
|
||||
native)
|
||||
native). Fails when `gofmt` or `golines -m 77` would change a Go file.
|
||||
- [ ] Go: `script/bootstrap` installs `golines` with `go install` pinned to a
|
||||
commit hash
|
||||
- [ ] `script/check` / `make check` — runs `test`, `lint`, `fmt-check`; must not
|
||||
modify files
|
||||
- [ ] `script/projectname` — outputs the project name (used by `script/docker`
|
||||
|
||||
+1117
-1018
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user