Add missing standard config files: .gitignore, .dockerignore, .editorconfig, .golangci.yml #1

Open
opened 2026-07-26 20:45:46 +02:00 by clawbot · 1 comment

bsdaily is missing several standard repo files (verified against main: the root has no .gitignore, .dockerignore, .editorconfig, or .golangci.yml).

Definition of done

  1. Add a standard Go .gitignore and .dockerignore (match a sibling such as sneak/dnswatcher).
  2. Add .editorconfig matching our standard Go repos (copy sneak/dnswatcher's).
  3. Add .golangci.yml byte-identical to sneak/dnswatcher's (org-standard config).
  4. make check and docker build . are green under the new config. If the linter surfaces findings, remediate them BEHAVIOR-PRESERVINGLY; if the remediation is large (more than ~50 findings), STOP and report so the lint cleanup can be split into its own issue/PR rather than bundled here.

The finishing commit's title must end with (closes #N) referencing this issue.

bsdaily is missing several standard repo files (verified against `main`: the root has no `.gitignore`, `.dockerignore`, `.editorconfig`, or `.golangci.yml`). ## Definition of done 1. Add a standard Go `.gitignore` and `.dockerignore` (match a sibling such as `sneak/dnswatcher`). 2. Add `.editorconfig` matching our standard Go repos (copy `sneak/dnswatcher`'s). 3. Add `.golangci.yml` byte-identical to `sneak/dnswatcher`'s (org-standard config). 4. `make check` and `docker build .` are green under the new config. If the linter surfaces findings, remediate them BEHAVIOR-PRESERVINGLY; if the remediation is large (more than ~50 findings), STOP and report so the lint cleanup can be split into its own issue/PR rather than bundled here. The finishing commit's title must end with ` (closes #N)` referencing this issue.
Author

Splitting this: I'm landing the three non-lint dotfiles now (.gitignore, .dockerignore, .editorconfig — all copied from sneak/dnswatcher, .gitignore adapted to the /bsdaily binary) as a PR that keeps make check green. That PR is refs #1, not closes, because the .golangci.yml part is deferred.

Adding the org-standard .golangci.yml (linters: default: all) surfaces 167 lint findings in bsdaily's existing code (baseline with no config is 0). Breakdown: wsl_v5 49, noinlineerr 43, nlreturn 16, lll 13, err113 12, revive 12, gosec 9, noctx 6, plus complexity linters. That is a substantial behavior-preserving cleanup, not an overnight change. Your call: do the full cleanup, or tune the shared .golangci.yml to be less brutal for existing code. Assigning to you for that decision; the .golangci.yml add closes #1 once it lands green.

Splitting this: I'm landing the three non-lint dotfiles now (`.gitignore`, `.dockerignore`, `.editorconfig` — all copied from `sneak/dnswatcher`, `.gitignore` adapted to the `/bsdaily` binary) as a PR that keeps `make check` green. That PR is `refs #1`, not `closes`, because the `.golangci.yml` part is deferred. Adding the org-standard `.golangci.yml` (`linters: default: all`) surfaces 167 lint findings in bsdaily's existing code (baseline with no config is 0). Breakdown: `wsl_v5` 49, `noinlineerr` 43, `nlreturn` 16, `lll` 13, `err113` 12, `revive` 12, `gosec` 9, `noctx` 6, plus complexity linters. That is a substantial behavior-preserving cleanup, not an overnight change. Your call: do the full cleanup, or tune the shared `.golangci.yml` to be less brutal for existing code. Assigning to you for that decision; the `.golangci.yml` add closes #1 once it lands green.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/bsdaily#1