Add .editorconfig and make .gitignore comprehensive #72

Open
opened 2026-08-09 03:41:25 +02:00 by clawbot · 0 comments
Collaborator

Context

Two required dotfile gaps, plus dead references to a decommissioned CI
system. Grouped because they are all small, mechanical, and touch nothing
else.

.editorconfig is absent. Policy: "All repos should have an
.editorconfig enforcing the project's indentation settings", and the
existing-repo checklist names the canonical source. The repo has none.

.gitignore is not comprehensive. Current contents in full:

/bin/
/tmp
*.tmp
*.dockerimage
/vendor
vendor.tzst
modcache.tzst

# Generated manifest files
.index.mf

# Stale files
.drone.yml

Policy requires it to cover secrets, OS files, and editor files. Missing:
.env and .env.*, *.key, *.pem, .DS_Store, Thumbs.db, *.swp,
*.swo, *~, .idea/, .vscode/, and the Go-specific *.log, *.out,
*.test. "Never commit secrets... must be in .gitignore. No exceptions."

Dead Drone CI references. The repo migrated to Gitea Actions in
01124c1, but .gitignore still carries a # Stale files / .drone.yml
entry, and bin/gitrev.sh:4-6 still branches on $DRONE_COMMIT_SHA.

Definition of done

  • .editorconfig exists and is byte-identical to
    https://git.eeqj.de/sneak/prompts/raw/branch/main/.editorconfig.
  • .gitignore covers secrets (.env, .env.*, *.key, *.pem), OS files
    (.DS_Store, Thumbs.db), editor files (*.swp, *.swo, *~,
    .idea/, .vscode/), and Go artifacts (*.log, *.out, *.test),
    while keeping the existing repo-specific entries.
  • The .drone.yml ignore entry and the DRONE_COMMIT_SHA branch in
    bin/gitrev.sh are removed.
  • make check passes and bin/gitrev.sh still produces correct output
    under Gitea Actions and outside CI. TODO.md updated in the same commit.

Implementation requirements

  • Take .editorconfig verbatim from the canonical source. Do not
    hand-author one to match what you think the repo does — if the canonical
    file and the repo's actual style disagree, that is a finding to report,
    not something to quietly reconcile by editing the canonical file.
  • Merge into .gitignore rather than replacing it. /bin/, .index.mf,
    *.dockerimage, and the tzst entries are repo-specific and must
    survive. Note /bin/ currently ignores the directory that holds the
    tracked bin/gitrev.sh — confirm that file is still tracked and not newly
    shadowed after your edit.
  • Verify nothing currently tracked becomes ignored: after editing, run
    git status --ignored --porcelain and confirm no tracked file appears.
  • Before removing the DRONE_COMMIT_SHA branch, read bin/gitrev.sh end to
    end and confirm the Gitea Actions path and the local-developer path both
    still work. Do not assume the remaining branch is correct just because the
    Drone one is dead.
  • Commit title must end with (closes #72).
## Context Two required dotfile gaps, plus dead references to a decommissioned CI system. Grouped because they are all small, mechanical, and touch nothing else. **`.editorconfig` is absent.** Policy: "All repos should have an `.editorconfig` enforcing the project's indentation settings", and the existing-repo checklist names the canonical source. The repo has none. **`.gitignore` is not comprehensive.** Current contents in full: ``` /bin/ /tmp *.tmp *.dockerimage /vendor vendor.tzst modcache.tzst # Generated manifest files .index.mf # Stale files .drone.yml ``` Policy requires it to cover secrets, OS files, and editor files. Missing: `.env` and `.env.*`, `*.key`, `*.pem`, `.DS_Store`, `Thumbs.db`, `*.swp`, `*.swo`, `*~`, `.idea/`, `.vscode/`, and the Go-specific `*.log`, `*.out`, `*.test`. "Never commit secrets... must be in `.gitignore`. No exceptions." **Dead Drone CI references.** The repo migrated to Gitea Actions in `01124c1`, but `.gitignore` still carries a `# Stale files` / `.drone.yml` entry, and `bin/gitrev.sh:4-6` still branches on `$DRONE_COMMIT_SHA`. ## Definition of done - `.editorconfig` exists and is byte-identical to `https://git.eeqj.de/sneak/prompts/raw/branch/main/.editorconfig`. - `.gitignore` covers secrets (`.env`, `.env.*`, `*.key`, `*.pem`), OS files (`.DS_Store`, `Thumbs.db`), editor files (`*.swp`, `*.swo`, `*~`, `.idea/`, `.vscode/`), and Go artifacts (`*.log`, `*.out`, `*.test`), while keeping the existing repo-specific entries. - The `.drone.yml` ignore entry and the `DRONE_COMMIT_SHA` branch in `bin/gitrev.sh` are removed. - `make check` passes and `bin/gitrev.sh` still produces correct output under Gitea Actions and outside CI. `TODO.md` updated in the same commit. ## Implementation requirements - Take `.editorconfig` verbatim from the canonical source. Do not hand-author one to match what you think the repo does — if the canonical file and the repo's actual style disagree, that is a finding to report, not something to quietly reconcile by editing the canonical file. - Merge into `.gitignore` rather than replacing it. `/bin/`, `.index.mf`, `*.dockerimage`, and the `tzst` entries are repo-specific and must survive. Note `/bin/` currently ignores the directory that holds the tracked `bin/gitrev.sh` — confirm that file is still tracked and not newly shadowed after your edit. - Verify nothing currently tracked becomes ignored: after editing, run `git status --ignored --porcelain` and confirm no tracked file appears. - Before removing the `DRONE_COMMIT_SHA` branch, read `bin/gitrev.sh` end to end and confirm the Gitea Actions path and the local-developer path both still work. Do not assume the remaining branch is correct just because the Drone one is dead. - Commit title must end with ` (closes #72)`.
clawbot added this to the 1.0.0 milestone 2026-08-09 03:41:25 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/mfer#72