#
# DIRECTORIES
# Directory globs must end with either / or /* or /**
#

# test
__tests__/
__mocks__/
test/
tests/

# IDE
.idea/
.vscode/

# examples
example/
examples/

# code coverage
coverage/
.nyc_output/
.nycrc/

# CI/CD
.circleci/
.github/

# git
.git/

# ai
.claude/
.cursor/
.copilot/
.codeium/
.aider/
.windsurf/
.bolt/
.codex/
.continue/

# other
website/
.husky/
.turbo/
.pnpm-store/
.kotlin/
.gradle/
.changeset/
.storybook/
.devcontainer/

#
# FILE EXTENSIONS
#

# IDE
*.iml

# tests
*.test.*

# source maps
*.map

# docs/text
*.@(md|mkd|markdown|mdown)
*.todo
*.@(adoc|asciidoc)
*.DOCS

# compiled
# include .ts files but not .d.ts
\!(*.d).ts
*.coffee
*.flow

# compressed
*.zip
*.7z
*.rar
*.tar
*.tgz
*.gz
*.xz
*.bz2

# images
*.@(jpg|jpeg)
*.png
*.gif
*.bmp
*.ico
*.webp

# compiled
*.h
*.c
*.hpp
*.cpp
*.o
*.mk
*.hh
*.cc

# other
*.log
*.tlog
*.patch
*.sln
*.pdb
*.jst
*.swp
*.lock
*.vcxproj*(.*)
*.orig
*.rej
*.lockfile
*.lcov
*.bak
*.tmp
*.temp
*.gyp
*.gypi
*.1
*.un~

#
# FILES
#

# build scripts/files
makefile*(.*)
gemfile*(.*)
gulpfile*(.*)
gruntfile*(.*)
rakefile*(.*)

# CI/CD
Jenkinsfile
.travis.yml
.gitlab-ci.yml
.appveyor.yml
circle.yml
.nojekyll

# Mac OS
.DS_Store
._*

# Windows
Desktop.ini
Thumbs.db

# linters
*.eslintrc*(.*)
*.eslintcache
eslint.config.@(cjs|js|mjs)
stylelint.config.js
.stylelintrc*(.*)
.htmllintrc*(.*)
htmllint.js
.jshintrc*(.*)
.lint
tslint.json
biome.json
.oxlintrc.@(json|jsonc)
oxlint.config.ts
.oxfmtrc.@(json|jsonc)
oxfmt.config.ts
.prettierrc*(.*)
prettier.config.js

# ai
.cursorrules
.clinerules
.windsurfrules

# testing
\!(utils)/test.js
jest.config.js
karma.conf.js
wallaby.js
wallaby.conf.js
.coveralls.yml
vitest.config.*

# docs
readme*(.*)
changelog*(.*)
changes*(.*)
authors*(.*)
contributors*(.*)
contributing*(.*)
notice*(.*)
copying*(.*)

# docker
docker-compose.@(yml|yaml)

# editors
*.sublime-project
*.sublime-workspace

# licenses
licen@(s|c)e*
*.licen@(s|c)e*
LICEN@(S|C)E*
*.LICEN@(S|C)E*
ThirdPartyNotice*(.*)
CopyrightNotice*(.*)

# typescript
*.tsbuildinfo

# ignore files
.*ignore

# yarn
yarn.lock
.yarnclean
.yarn-metadata.json

# pnpm
pnpm-lock.yaml
pnpm-workspace.yaml

# git
.gitmodules
.gitattributes

# configs
*.npmrc
*.nvmrc
*.babelrc
*.editorconfig
*.flowconfig
*.yo-rc.json
_config.yml
bower.json
renovate.json
.vimrc*(.*)
.istanbul.yml
.nycrc
jsconfig.json
tsconfig.json
turbo.json
nx.json
deno.@(json|jsonc)

# versioning
.bmp.yml
.release-it.@(cjs|js|json|toml|ts|yaml|yml)

# lint-staged
lint-staged.config.*
.lintstagedrc*(.*)

# other
.dir-locals.el
composer.json
.codecov.yml
pom.xml
.browserslistrc
.browserslist
.node-version
.tool-versions
