grepai-ignore-patterns

yoanbernabeu/grepai-skills · updated Apr 8, 2026

$npx skills add https://github.com/yoanbernabeu/grepai-skills --skill grepai-ignore-patterns
0 commentsdiscussion
summary

This skill covers how to configure ignore patterns to exclude files and directories from GrepAI indexing.

skill.md

GrepAI Ignore Patterns

This skill covers how to configure ignore patterns to exclude files and directories from GrepAI indexing.

When to Use This Skill

  • Excluding test files from search results
  • Ignoring generated or vendored code
  • Reducing index size by excluding unnecessary files
  • Customizing which files GrepAI indexes

How Ignore Patterns Work

GrepAI uses two sources for ignore patterns:

  1. .grepai/config.yaml - Custom patterns you define
  2. .gitignore - Automatically respected

Configuration Location

# .grepai/config.yaml
ignore:
  - pattern1
  - pattern2

Pattern Syntax

Directory Patterns

ignore:
  # Exact directory name (matches anywhere)
  - node_modules
  - vendor
  - __pycache__

  # With trailing slash (explicit directory)
  - dist/
  - build/
  - coverage/

File Patterns

ignore:
  # Exact filename
  - package-lock.json
  - yarn.lock

  # Wildcard patterns
  - "*.min.js"
  - "*.min.css"
  - "*.map"
  - "*.lock"

Path Patterns

ignore:
  # Paths containing substring
  - /tests/
  - /spec/
  - /__tests__/

  # Specific paths
  - src/generated/
  - api/swagger/

Glob Patterns

ignore:
  # Double star (recursive)
  - "**/test/**"
  - "**/mock/**"

  # Single star (single level)
  - "*.test.js"
  - "*.spec.ts"
  - "*_test.go"

Default Ignore Patterns

GrepAI's default configuration includes:

ignore:
  # Version control
  - .git
  - .svn
  - .hg

  # GrepAI itself
  - .grepai

  # Package managers
  - node_modules
  - vendor
  - .npm
  - .yarn

  # Build outputs
  - target
  - dist
  - build
  - out

  # Cache directories
  - __pycache__
  - .pytest_cache
  - .mypy_cache
  - .cache

  # Framework outputs
  - .next
  - .nuxt
  - .output

Common Ignore Configurations

JavaScript/TypeScript Project

ignore:
  - node_modules
  - dist
  - build
  - coverage
  - .nyc_output
  - "*.min.js"
  - "*.bundle.js"
  - "*.map"
  - package-lock.json
  - yarn.lock
  - pnpm-lock.yaml

Go Project

ignore:
  - vendor
  - bin
  - "*.pb.go"       # Protobuf generated
  - "*_mock.go"     # Mocks
  - "mocks/"
  - go.sum

Python Project

ignore:
  - __pycache__
  - .pytest_cache
  - .mypy_cache
  - .venv
  - venv
  - env
  - "*.pyc"
  - "*.pyo"
  - .eggs
  - "*.egg-info"
  - dist
  - build

Rust Project

ignore:
  - target
  - Cargo.lock
  - "*.rlib"

Java/Kotlin Project

ignore:
  - target
  - build
  - .gradle
  - "*.class"
  - "*.jar"
  - "*.war"

Monorepo

ignore:
  # Common
  - node_modules
  - dist
  - build
  - coverage

  # Specific packages to exclude
  - packages/legacy/
  - packages/deprecated/

  # Generated
  - "**/generated/**"
  - "**/__generated__/**"

Excluding Test Files

To focus search on production code:

ignore:
  # Test directories
  - tests/
  - test/
  - __tests__/
  - spec/

  # Test files by pattern
  - "*.test.js"
  - "*.test.ts"
  - "*.spec.js"
  - "*.spec.ts"
  - "*_test.go"
  - "test_*.py"
  - "*_test.py"

Alternative: Use search boosting instead to penalize (not exclude) tests:

search:
  boost:
    penalties:
      - pattern: /tests/
        factor: 0.5
      - pattern: _test.
        factor: 0.5

Excluding Generated Code

ignore:
  # Generated markers
  - "**/generated/**"
  - "*.generated.*"
  - "*.gen.*"

  # Specific generators
  - "*.pb.go"           # Protobuf
  - "*.graphql.ts"      # GraphQL codegen
  - "*.d.ts"            # TypeScript declarations
  - "swagger_*.go"      # Swagger
  - "openapi_*.ts"      # OpenAPI

Excluding Documentation

ignore:
  - docs/
  - documentation/
  - "*.md"
  - "*.mdx"
  - "*.rst"

Verifying Ignore Patterns

Check what's being indexed:

# Check index status
grepai status

# Output shows file count
# If too high, add more ignore patterns

Common Issues

Problem: Index is too large ✅ Solution: Add more ignore patterns for dependencies and generated files

Problem: Search returns vendor/test code ✅ Solution: Either ignore or use boosting penalties

Problem: Pattern not working ✅ Solution: Check syntax - use quotes for patterns with special characters:

ignore:
  - "*.min.js"  # Correct
  - *.min.js    # May cause YAML parsing issues

Problem: Need to include previously ignored files ✅ Solution: Remove from ignore list and re-run grepai watch

Best Practices

  1. Start with defaults: Add patterns as needed
  2. Exclude dependencies: Always ignore node_modules, vendor, etc.
  3. Exclude build outputs: dist, build, target
  4. Exclude lock files: Large, not useful for search
  5. Consider boosting vs ignoring: Penalize instead of exclude for test files
  6. Quote special characters: "*.min.js" not *.min.js

Re-indexing After Changes

After modifying ignore patterns:

# Stop existing daemon
grepai watch --stop

# Clear index and restart
rm .grepai/index.gob
grepai watch

Output Format

After configuring ignore patterns:

✅ Ignore Patterns Configured

   Patterns: 15 configured

   Categories:
   - Directories: node_modules, vendor, dist, build
   - File types: *.min.js, *.map, *.lock
   - Paths: /tests/, /docs/

   Also respecting: .gitignore

   Run 'grepai watch' to re-index with new patterns.

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.668 reviews
  • Kofi Ramirez· Dec 24, 2024

    Useful defaults in grepai-ignore-patterns — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Isabella Sharma· Dec 24, 2024

    Registry listing for grepai-ignore-patterns matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Charlotte Tandon· Dec 16, 2024

    grepai-ignore-patterns is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.

  • Nikhil Smith· Dec 8, 2024

    Registry listing for grepai-ignore-patterns matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Isabella Okafor· Dec 8, 2024

    grepai-ignore-patterns fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Mei Flores· Nov 27, 2024

    grepai-ignore-patterns reduced setup friction for our internal harness; good balance of opinion and flexibility.

  • Nia Zhang· Nov 27, 2024

    We added grepai-ignore-patterns from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Isabella Mensah· Nov 15, 2024

    grepai-ignore-patterns is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.

  • Valentina Agarwal· Nov 15, 2024

    grepai-ignore-patterns reduced setup friction for our internal harness; good balance of opinion and flexibility.

  • Valentina Ramirez· Nov 7, 2024

    Useful defaults in grepai-ignore-patterns — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

showing 1-10 of 68

1 / 7