Add authoritative URLs to checklists and copy .golangci.yml
All checks were successful
check / check (push) Successful in 7s
All checks were successful
check / check (push) Successful in 7s
- Add .golangci.yml from upaas as authoritative copy in this repo - Update REPO_POLICIES.md to reference .golangci.yml by URL - Add fetch URLs for all template files in both checklists: .gitignore, .editorconfig, Makefile, .prettierrc, .prettierignore, REPO_POLICIES.md, .golangci.yml, check.yml
This commit is contained in:
parent
3a5ac2d72f
commit
03bf0b8445
32
.golangci.yml
Normal file
32
.golangci.yml
Normal file
@ -0,0 +1,32 @@
|
||||
version: "2"
|
||||
|
||||
run:
|
||||
timeout: 5m
|
||||
modules-download-mode: readonly
|
||||
|
||||
linters:
|
||||
default: all
|
||||
disable:
|
||||
# Genuinely incompatible with project patterns
|
||||
- exhaustruct # Requires all struct fields
|
||||
- depguard # Dependency allow/block lists
|
||||
- godot # Requires comments to end with periods
|
||||
- wsl # Deprecated, replaced by wsl_v5
|
||||
- wrapcheck # Too verbose for internal packages
|
||||
- varnamelen # Short names like db, id are idiomatic Go
|
||||
|
||||
linters-settings:
|
||||
lll:
|
||||
line-length: 88
|
||||
funlen:
|
||||
lines: 80
|
||||
statements: 50
|
||||
cyclop:
|
||||
max-complexity: 15
|
||||
dupl:
|
||||
threshold: 100
|
||||
|
||||
issues:
|
||||
exclude-use-default: false
|
||||
max-issues-per-linter: 0
|
||||
max-same-issues: 0
|
||||
@ -23,16 +23,23 @@ with your task.
|
||||
- [ ] `.gitignore` is comprehensive (OS, editor, language artifacts, secrets) —
|
||||
fetch from `https://git.eeqj.de/sneak/prompts/raw/branch/main/.gitignore`
|
||||
if missing
|
||||
- [ ] `.editorconfig` exists
|
||||
- [ ] [`.editorconfig`](https://git.eeqj.de/sneak/prompts/raw/branch/main/.editorconfig)
|
||||
exists
|
||||
- [ ] `Dockerfile` and `.dockerignore` exist; Dockerfile runs `make check` as a
|
||||
build step
|
||||
- [ ] Gitea Actions workflow in `.gitea/workflows/` runs `docker build .` on
|
||||
push
|
||||
push — reference
|
||||
[check.yml](https://git.eeqj.de/sneak/prompts/raw/branch/main/.gitea/workflows/check.yml)
|
||||
- [ ] Language-specific config:
|
||||
- [ ] Go: `go.mod`, `go.sum`, `.golangci.yml`
|
||||
- [ ] JS: `package.json`, `yarn.lock`, `.prettierrc`, `.prettierignore`
|
||||
- [ ] Go: `go.mod`, `go.sum`,
|
||||
[`.golangci.yml`](https://git.eeqj.de/sneak/prompts/raw/branch/main/.golangci.yml)
|
||||
- [ ] JS: `package.json`, `yarn.lock`,
|
||||
[`.prettierrc`](https://git.eeqj.de/sneak/prompts/raw/branch/main/.prettierrc),
|
||||
[`.prettierignore`](https://git.eeqj.de/sneak/prompts/raw/branch/main/.prettierignore)
|
||||
- [ ] Python: `pyproject.toml`
|
||||
- [ ] Docs/writing: `.prettierrc`, `.prettierignore`
|
||||
- [ ] Docs/writing:
|
||||
[`.prettierrc`](https://git.eeqj.de/sneak/prompts/raw/branch/main/.prettierrc),
|
||||
[`.prettierignore`](https://git.eeqj.de/sneak/prompts/raw/branch/main/.prettierignore)
|
||||
|
||||
## Makefile
|
||||
|
||||
|
||||
@ -30,28 +30,33 @@ Template files can be fetched from:
|
||||
|
||||
### Fetch Template Files
|
||||
|
||||
- [ ] `.gitignore` — fetch from prompts repo, extend for language-specific
|
||||
artifacts
|
||||
- [ ] `.editorconfig` — fetch from prompts repo
|
||||
- [ ] `Makefile` — fetch from prompts repo, adapt targets for the project's
|
||||
language and tools
|
||||
- [ ] For JS/docs repos: `.prettierrc`, `.prettierignore`
|
||||
- [ ] [`.gitignore`](https://git.eeqj.de/sneak/prompts/raw/branch/main/.gitignore)
|
||||
— fetch from prompts repo, extend for language-specific artifacts
|
||||
- [ ] [`.editorconfig`](https://git.eeqj.de/sneak/prompts/raw/branch/main/.editorconfig)
|
||||
— fetch from prompts repo
|
||||
- [ ] [`Makefile`](https://git.eeqj.de/sneak/prompts/raw/branch/main/Makefile) —
|
||||
fetch from prompts repo, adapt targets for the project's language and
|
||||
tools
|
||||
- [ ] For JS/docs repos:
|
||||
[`.prettierrc`](https://git.eeqj.de/sneak/prompts/raw/branch/main/.prettierrc),
|
||||
[`.prettierignore`](https://git.eeqj.de/sneak/prompts/raw/branch/main/.prettierignore)
|
||||
|
||||
### Create Project Files
|
||||
|
||||
- [ ] `LICENSE` file matching the chosen license
|
||||
- [ ] `REPO_POLICIES.md` — fetch from `prompts/REPO_POLICIES.md` in the prompts
|
||||
repo
|
||||
- [ ] [`REPO_POLICIES.md`](https://git.eeqj.de/sneak/prompts/raw/branch/main/prompts/REPO_POLICIES.md)
|
||||
— fetch from prompts repo
|
||||
- [ ] `Dockerfile` and `.dockerignore`
|
||||
- All Dockerfiles must run `make check` as a build step
|
||||
- Server: also builds and runs the application
|
||||
- Non-server: brings up dev environment and runs `make check`
|
||||
- Image pinned by sha256 hash with version/date comment
|
||||
- [ ] Gitea Actions workflow at `.gitea/workflows/check.yml` that runs
|
||||
`docker build .` on push
|
||||
`docker build .` on push — reference
|
||||
[`check.yml`](https://git.eeqj.de/sneak/prompts/raw/branch/main/.gitea/workflows/check.yml)
|
||||
- [ ] Language-specific:
|
||||
- [ ] Go: `go mod init sneak.berlin/go/<name>`, `.golangci.yml` (copy from
|
||||
`~/dev/upaas/.golangci.yml`)
|
||||
- [ ] Go: `go mod init sneak.berlin/go/<name>`,
|
||||
[`.golangci.yml`](https://git.eeqj.de/sneak/prompts/raw/branch/main/.golangci.yml)
|
||||
- [ ] JS: `yarn init`, `yarn add --dev prettier`
|
||||
- [ ] Python: `pyproject.toml`
|
||||
|
||||
|
||||
@ -89,7 +89,8 @@ style conventions are in separate documents:
|
||||
feature branch.
|
||||
|
||||
- `.golangci.yml` is standardized and must _NEVER_ be modified by an agent, only
|
||||
manually by the user. Copy from `~/dev/upaas/.golangci.yml` if available.
|
||||
manually by the user. Fetch from
|
||||
`https://git.eeqj.de/sneak/prompts/raw/branch/main/.golangci.yml`.
|
||||
|
||||
- When pinning images or packages by hash, add a comment above the reference
|
||||
with the version and date (YYYY-MM-DD).
|
||||
|
||||
Loading…
Reference in New Issue
Block a user