From a10a0e8f84eceacf0066fd024927fc63abaddd4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Bombeck?= Date: Thu, 12 Nov 2026 15:15:52 +0100 Subject: [PATCH] chore: name no local tool folders in the ignore files The git and docker ignore files and the lint config listed the folders and notes of particular editors and tools. Local workspace folders belong in a contributor's own global excludes. The image copies only named paths, so nothing local reaches it, and the lint config now skips every hidden top-level folder, which covers local worktrees under any name; no tracked hidden folder holds code. --- .dockerignore | 7 +------ .gitignore | 8 -------- eslint.config.mjs | 14 +++++--------- 3 files changed, 6 insertions(+), 23 deletions(-) diff --git a/.dockerignore b/.dockerignore index b95584b3f..2ddf2aa37 100644 --- a/.dockerignore +++ b/.dockerignore @@ -53,11 +53,8 @@ public/sw-version.js *.har *.heapsnapshot -# Editor / agent worktrees + caches. -.claude +# Editor worktrees and caches. .worktrees -.cursor -.aider* .vscode .idea .DS_Store @@ -80,14 +77,12 @@ Dockerfile # Documentation not needed for runtime image README.md CHANGELOG.md -CLAUDE.md CONTRIBUTING.md CODE_OF_CONDUCT.md SECURITY.md # LICENSE / LICENSE.md are deliberately NOT ignored: the PolyForm # Noncommercial 1.0.0 notice terms require the licence text (or its URL) # to ship with every copy of the software, so it ships inside the image. -AGENTS.md .planning docs docs/*.md diff --git a/.gitignore b/.gitignore index 55ff4b2ad..3b554dc0b 100644 --- a/.gitignore +++ b/.gitignore @@ -66,14 +66,6 @@ next-env.d.ts # COPY target always exists. /assets/geolite2/*.mmdb -# Local workspace files, never committed -/docs/superpowers/ -.claude/ -.cursor/ -.codex/ -.aider* -.mcp.json - # Internal working notes (per-release reports, backlog, iOS coordination). # Everything user-facing lives in README, CHANGELOG and docs/. /.planning/ diff --git a/eslint.config.mjs b/eslint.config.mjs index 0a1d19700..db73867df 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -13,15 +13,11 @@ const eslintConfig = defineConfig([ "out/**", "build/**", "next-env.d.ts", - // v1.31.4 — ignore local tool worktrees so a worktree on another - // commit cannot poison `pnpm lint` locally. - // CI never sees these paths; the rules protect the dev environment. - // `.wt-*` is the convention actually in use; the two names below predate - // it. Without the first pattern `pnpm lint` walks every worktree in the - // root, which is both slow and exactly the poisoning this list prevents. - ".wt-*/**", - ".claude/**", - ".worktrees/**", + // Hidden top-level folders hold local worktrees and caches, and no + // tracked code lives in one (`.github` and `.githooks` hold no JS or + // TS). Without this `pnpm lint` walks every worktree on another commit + // in the root, which is both slow and poisons the result. + ".*/**", // The project-local ESLint rule plugin is CommonJS (require/module // .exports) by ESLint convention; it is not application source and // is not linted by the app's TypeScript ruleset.