Skip to content
Geld

Patterns

What gets hidden.

9 categories, 357 built-in patterns. This page is generated from @geld/core (opens in a new tab), the same package the extension ships, so it cannot drift from what actually runs.

Semantics

Patterns are matched against repository-relative paths with gitignore semantics. A pattern without a slash matches a filename at any depth (*.snap is **/*.snap). A trailing slash matches a directory at any depth and everything inside it (tests/ is **/tests/**). A pattern containing a slash is matched against the whole path from the repository root. ** spans directories, {a,b} expands alternatives, ? matches one character and !pattern rescues a path. Only paths are inspected, never contents.

A path belongs to the first category that matches, in the order below; categories you define yourself are checked first, and your extra patterns for a built-in category are attributed to it. You can try any path on the home page.

01

Tests

on by default

Unit, integration and end-to-end tests, snapshots and test tooling.

Label: tests · Section: test files

Unit & integration tests

Test files that live next to the code they cover.

19 patterns · toggle individually

  • *.test.*
  • *.tests.*
  • *.spec.{js,jsx,ts,tsx,mjs,cjs,mts,cts,vue,svelte,astro,py,rb,php,dart,kt,kts,swift,scala,sc,ex,exs,lua,cs,fs,fsx,go,rs,java,groovy,clj,cljs,cljc,coffee,res,ml,re,hs,zig,nim,jl,r,R,m,mm,sh,bash,zsh,ps1,sql,elm,gleam,erl,pl,pm,c,cc,cpp,cxx,h,hpp,cu}
  • *.specs.{js,jsx,ts,tsx,mjs,cjs,mts,cts,vue,svelte,astro,py,rb,php,dart,kt,kts,swift,scala,sc,ex,exs,lua,cs,fs,fsx,go,rs,java,groovy,clj,cljs,cljc,coffee,res,ml,re,hs,zig,nim,jl,r,R,m,mm,sh,bash,zsh,ps1,sql,elm,gleam,erl,pl,pm,c,cc,cpp,cxx,h,hpp,cu}
  • *.unit.{js,jsx,ts,tsx,mjs,cjs,mts,cts,vue,svelte,astro,py,rb,php,dart,kt,kts,swift,scala,sc,ex,exs,lua,cs,fs,fsx,go,rs,java,groovy,clj,cljs,cljc,coffee,res,ml,re,hs,zig,nim,jl,r,R,m,mm,sh,bash,zsh,ps1,sql,elm,gleam,erl,pl,pm,c,cc,cpp,cxx,h,hpp,cu}
  • *.integration.{js,jsx,ts,tsx,mjs,cjs,mts,cts,vue,svelte,astro,py,rb,php,dart,kt,kts,swift,scala,sc,ex,exs,lua,cs,fs,fsx,go,rs,java,groovy,clj,cljs,cljc,coffee,res,ml,re,hs,zig,nim,jl,r,R,m,mm,sh,bash,zsh,ps1,sql,elm,gleam,erl,pl,pm,c,cc,cpp,cxx,h,hpp,cu}
  • *_test.*
  • *_tests.*
  • *_spec.{js,jsx,ts,tsx,mjs,cjs,mts,cts,vue,svelte,astro,py,rb,php,dart,kt,kts,swift,scala,sc,ex,exs,lua,cs,fs,fsx,go,rs,java,groovy,clj,cljs,cljc,coffee,res,ml,re,hs,zig,nim,jl,r,R,m,mm,sh,bash,zsh,ps1,sql,elm,gleam,erl,pl,pm,c,cc,cpp,cxx,h,hpp,cu}
  • test_*.*
  • tests_*.*
  • *Test.{java,kt,kts,scala,groovy,php,cs,swift,dart}
  • *Tests.{java,kt,kts,scala,groovy,php,cs,swift,dart}
  • *TestCase.{java,kt,php,py,cs,swift}
  • *Spec.{java,kt,kts,scala,groovy,js,ts}
  • *IT.java
  • *.bats
  • *.robot
  • *.feature

End-to-end tests

Browser and system level tests (Playwright, Cypress, WebdriverIO, ...).

17 patterns · toggle individually

  • *.e2e.*
  • *.e2e-spec.*
  • *.e2e-test.*
  • *.cy.*
  • *.pw.*
  • e2e/
  • e2e-tests/
  • e2e_tests/
  • cypress/
  • playwright/
  • playwright-report/
  • test-results/
  • integration-tests/
  • integration_tests/
  • acceptance/
  • acceptance-tests/
  • acceptance_tests/

Test directories

Anything inside a directory that conventionally holds tests.

33 patterns · toggle individually

  • test/
  • tests/
  • __tests__/
  • __test__/
  • spec/
  • specs/
  • __specs__/
  • __spec__/
  • __mocks__/
  • testing/
  • testdata/
  • test-data/
  • test_data/
  • test-utils/
  • test_utils/
  • testutils/
  • test-helpers/
  • test_helpers/
  • testhelpers/
  • unit-tests/
  • unit_tests/
  • Tests/
  • *.Tests/
  • *.Test/
  • *.UnitTests/
  • *.IntegrationTests/
  • *Tests/
  • androidTest/
  • androidTestDebug/
  • testFixtures/
  • coverage/
  • .nyc_output/
  • htmlcov/

Snapshots & recordings

Generated snapshot files, image baselines and HTTP cassettes.

9 patterns · toggle individually

  • *.snap
  • *.snap.*
  • __snapshots__/
  • __image_snapshots__/
  • *-snapshots/
  • __cassettes__/
  • cassettes/
  • vcr_cassettes/
  • __recordings__/

Test tooling & configuration

Test runner configuration, setup files and coverage settings.

52 patterns · toggle individually

  • jest.config.*
  • jest.setup.*
  • jest-setup.*
  • jest.preset.*
  • jest.*.config.*
  • vitest.config.*
  • vitest.setup.*
  • vitest.workspace.*
  • vitest.*.config.*
  • playwright.config.*
  • playwright.*.config.*
  • cypress.config.*
  • cypress.json
  • cypress.env.json
  • karma.conf.*
  • .mocharc*
  • mocha.opts
  • wdio.conf.*
  • wdio.*.conf.*
  • protractor.conf.*
  • nightwatch.conf.*
  • nightwatch.json
  • codecept.conf.*
  • ava.config.*
  • jasmine.json
  • testem.js
  • .testem.json
  • setupTests.*
  • setup-tests.*
  • setup_tests.*
  • test-setup.*
  • test_setup.*
  • testSetup.*
  • pytest.ini
  • conftest.py
  • tox.ini
  • .coveragerc
  • codecov.yml
  • .codecov.yml
  • .nycrc
  • .nycrc.*
  • phpunit.xml
  • phpunit.xml.dist
  • phpunit.dist.xml
  • .rspec
  • spec_helper.rb
  • rails_helper.rb
  • test_helper.rb
  • *.runsettings
  • .testcaferc.*
  • stryker.conf.*
  • stryker.config.*
02

Generated

opt-in

Lockfiles, build output and code produced by generators.

Label: generated · Section: generated files

Lockfiles

Dependency lockfiles.

22 patterns

  • package-lock.json
  • npm-shrinkwrap.json
  • pnpm-lock.yaml
  • yarn.lock
  • bun.lock
  • bun.lockb
  • deno.lock
  • Cargo.lock
  • Gemfile.lock
  • poetry.lock
  • Pipfile.lock
  • uv.lock
  • pdm.lock
  • composer.lock
  • go.sum
  • mix.lock
  • pubspec.lock
  • Podfile.lock
  • Package.resolved
  • packages.lock.json
  • flake.lock
  • gradle.lockfile

Generated code & build output

Files a tool writes for you.

25 patterns

  • *.generated.*
  • *.gen.*
  • *.g.dart
  • *.freezed.dart
  • *.pb.go
  • *.pb.*
  • *_pb2.py
  • *_pb2_grpc.py
  • *.pb.cc
  • *.pb.h
  • *.min.js
  • *.min.css
  • *.map
  • *.bundle.js
  • *.d.ts.map
  • __generated__/
  • generated/
  • .generated/
  • dist/
  • build/
  • out/
  • *.snap.js
  • schema.graphql.json
  • graphql.schema.json
  • *.tsbuildinfo
03

Vendored

opt-in

Third-party code copied into the repository.

Label: vendored · Section: vendored files

Vendored directories

Checked-in dependencies.

11 patterns

  • vendor/
  • vendors/
  • node_modules/
  • third_party/
  • third-party/
  • thirdparty/
  • Pods/
  • Carthage/
  • bower_components/
  • jspm_packages/
  • .yarn/
04

Agent config

opt-in

Instructions and configuration for AI coding agents.

Label: agent · Section: agent config files

AI agent files

Cursor, Claude, Codex, Copilot, Windsurf, Cline, Aider, ...

29 patterns

  • .cursor/
  • .cursorrules
  • .cursorignore
  • .cursorindexingignore
  • CLAUDE.md
  • CLAUDE.local.md
  • .claude/
  • AGENTS.md
  • AGENT.md
  • GEMINI.md
  • .gemini/
  • .codex/
  • .windsurfrules
  • .windsurf/
  • .clinerules
  • .clinerules/
  • .roo/
  • .roomodes
  • .aider*
  • .github/copilot-instructions.md
  • .github/instructions/
  • .github/prompts/
  • .continue/
  • .junie/
  • .kiro/
  • .mcp.json
  • mcp.json
  • llms.txt
  • llms-full.txt
05

Docs

opt-in

Markdown, documentation folders and changelogs.

Label: docs · Section: documentation files

Documentation

Prose and changelogs.

19 patterns

  • *.md
  • *.mdx
  • *.markdown
  • *.rst
  • *.adoc
  • *.txt
  • docs/
  • doc/
  • CHANGELOG*
  • CHANGES*
  • HISTORY*
  • RELEASE_NOTES*
  • .changeset/
  • .changes/
  • LICENSE*
  • LICENCE*
  • NOTICE*
  • AUTHORS*
  • CONTRIBUTORS*
06

Tooling & CI

opt-in

CI workflows, linters, formatters and build configuration.

Label: tooling · Section: tooling files

CI & automation

Workflow and bot configuration.

26 patterns

  • .github/workflows/
  • .github/actions/
  • .github/dependabot.yml
  • .github/renovate.json*
  • renovate.json*
  • .renovaterc*
  • .gitlab-ci.yml
  • .circleci/
  • .travis.yml
  • azure-pipelines*.yml
  • Jenkinsfile*
  • bitbucket-pipelines.yml
  • .buildkite/
  • cloudbuild.yaml
  • .drone.yml
  • appveyor.yml
  • codecov.yml
  • .codecov.yml
  • .pre-commit-config.yaml
  • .husky/
  • lefthook.yml
  • CODEOWNERS
  • .github/CODEOWNERS
  • .github/ISSUE_TEMPLATE/
  • .github/PULL_REQUEST_TEMPLATE*
  • .github/FUNDING.yml

Linters, formatters & editor config

Style tooling.

31 patterns

  • .eslintrc*
  • eslint.config.*
  • .eslintignore
  • .prettierrc*
  • prettier.config.*
  • .prettierignore
  • biome.json*
  • .stylelintrc*
  • stylelint.config.*
  • .editorconfig
  • .oxlintrc*
  • oxlint.config.*
  • .markdownlint*
  • cspell.*
  • .cspell*
  • .commitlintrc*
  • commitlint.config.*
  • .npmrc
  • .nvmrc
  • .node-version
  • .tool-versions
  • .ruby-version
  • .python-version
  • mise.toml
  • .mise.toml
  • .gitattributes
  • .gitignore
  • .dockerignore
  • .vscode/
  • .idea/
  • .devcontainer/

Build & compiler configuration

Bundler, TypeScript and container configuration.

35 patterns

  • tsconfig*.json
  • jsconfig*.json
  • babel.config.*
  • .babelrc*
  • webpack.config.*
  • webpack.*.js
  • rollup.config.*
  • vite.config.*
  • rolldown.config.*
  • rspack.config.*
  • esbuild.config.*
  • tsup.config.*
  • tsdown.config.*
  • turbo.json
  • nx.json
  • lerna.json
  • pnpm-workspace.yaml
  • .swcrc
  • postcss.config.*
  • tailwind.config.*
  • Dockerfile*
  • docker-compose*.yml
  • docker-compose*.yaml
  • compose.yml
  • compose.yaml
  • Makefile
  • Procfile
  • netlify.toml
  • vercel.json
  • wrangler.toml
  • fly.toml
  • app.yaml
  • nixpacks.toml
  • Taskfile.yml
  • justfile
07

Fixtures

opt-in

Storybook stories, test fixtures, mock data and translation catalogues.

Label: fixtures · Section: stories, fixtures & i18n files

Storybook stories

Component stories and Storybook configuration.

5 patterns

  • *.stories.*
  • *.story.*
  • .storybook/
  • __stories__/
  • stories/

Fixtures & mock data

Static data used by tests and demos.

9 patterns

  • __fixtures__/
  • fixtures/
  • fixture/
  • __mocks__/
  • mocks/
  • __data__/
  • testdata/
  • seeds/
  • seed/

Translations

Localisation catalogues.

15 patterns

  • locales/
  • locale/
  • i18n/
  • translations/
  • lang/
  • *.po
  • *.pot
  • *.mo
  • *.xlf
  • *.xliff
  • *.arb
  • *.strings
  • *.stringsdict
  • messages.*.xlf
  • intl/
08

Trivial changes

opt-in

Renames, mode changes, binary/deleted files, space/comment-only edits.

Label: trivial · Section: trivial changes

Renamed or moved without edits

The path changed, the contents did not.

decided from the diff, no patterns

Permission changes only

File mode flipped (100644 → 100755), no lines changed.

decided from the diff, no patterns

Binary files

Images, fonts, archives and anything else GitHub cannot show as text.

decided from the diff, no patterns

Deleted files

Files removed by the change.

decided from the diff, no patterns

Whitespace-only edits

Every changed line differs only in spaces, tabs or line endings.

decided from the diff, no patterns

Comment-only edits

Every changed line is a code comment (or blank), in a language Geld knows.

decided from the diff, no patterns

09

Large diffs

opt-in

⚠️ Are you sure? Large diffs (1000+ lines) are often the real work.

Label: large · Section: large diffs

Very large diffs

A thousand or more changed lines in one file; GitHub stops rendering these by default too.

decided from the diff, no patterns

Why *.spec.* is limited to code extensions

OpenAPI and AsyncAPI documents are commonly named api.spec.yaml, and hiding a schema change would be worse than showing a test. So *.spec.*, *_spec.* and friends are only applied to source-code extensions, which is why they appear above as long brace expansions. *.test.* is left open: the only non-test files it catches are configuration for a “test” environment (appsettings.test.json), which is test-related anyway.

Missing a convention? Add it as a custom pattern in the options, or open an issue (opens in a new tab).