Claude Code reads files to understand your codebase, but some files are pure noise: build output, generated code, giant data files. A .claudeignore file works like .gitignore to keep them out.
Create a .claudeignore
# Build artifacts
dist/
build/
.next/
out/
# Generated files
*.generated.ts
*.min.js
*.min.css
*.map
# Large data
*.csv
*.sql
fixtures/
__snapshots__/
# Dependencies (Claude already ignores node_modules)
vendor/
# Lock files
package-lock.json
yarn.lock
pnpm-lock.yaml
Why This Matters
Every file Claude reads eats context window tokens. A single package-lock.json can be 50K+ tokens. That’s context you could be using for actual code. The .claudeignore keeps your context budget focused on what matters.