Grepai Search Boosting

yoanbernabeu/grepai-skills/skills/search/grepai-search-boosting

by yoanbernabeu382d40261c0d41109c6e11872574ba0be9b064d0No licenseListed Oct 9, 2026Updated Oct 9, 2026

Configure search result boosting in GrepAI. Use this skill to prioritize certain paths and penalize others.

Instructions onlySoftware Development
AI-generated overview

Configures GrepAI search score boosting to prioritize source paths and penalize tests, docs and vendor code.

What it does
This skill explains how to configure score boosting in GrepAI so that search results are re-ranked by file path. It documents the YAML boost configuration with penalties (factors below 1.0) and bonuses (factors above 1.0), how patterns match against full file paths, and how factors change ranking. It also provides ready-made configurations for standard, frontend, Go, Python and monorepo projects, plus guidance on testing and troubleshooting the setup.
When to use it
Use it when search results are dominated by tests, documentation, generated code or vendored dependencies and you want production source to rank higher. It also fits when you need to customize result ranking for a specific project layout such as a frontend, Go, Python or monorepo codebase.
Requirements
Requires GrepAI with a configuration file such as .grepai/config.yaml. Instructions only; no scripts are included.

GrepAI Search Boosting

This skill covers configuring score boosting to prioritize relevant code paths and deprioritize tests, docs, and vendor code.

When to Use This Skill

  • Prioritizing source code over tests
  • Penalizing vendor/third-party code
  • Boosting important directories
  • Customizing result ranking

What is Boosting?

Boosting modifies search scores based on file paths:

Original score: 0.85 (src/auth.go)Bonus (+10%):   0.935
Original score: 0.85 (tests/auth_test.go)Penalty (-50%): 0.425

This ensures production code ranks higher than tests with similar content.

Configuration

Basic Configuration

yaml
# .grepai/config.yamlsearch:  boost:    enabled: true    penalties:      - pattern: /tests/        factor: 0.5    bonuses:      - pattern: /src/        factor: 1.1

Full Configuration

yaml
search:  boost:    enabled: true
    # Reduce scores (factor < 1.0)    penalties:      # Test files      - pattern: /tests/        factor: 0.5      - pattern: /__tests__/        factor: 0.5      - pattern: _test.        factor: 0.5      - pattern: .spec.        factor: 0.5      - pattern: .test.        factor: 0.5
      # Documentation      - pattern: /docs/        factor: 0.6      - pattern: /documentation/        factor: 0.6
      # Vendor/third-party      - pattern: /vendor/        factor: 0.3      - pattern: /node_modules/        factor: 0.3      - pattern: /third_party/        factor: 0.3
      # Generated code      - pattern: /generated/        factor: 0.4      - pattern: .gen.        factor: 0.4      - pattern: .pb.go        factor: 0.4
      # Examples and samples      - pattern: /examples/        factor: 0.7      - pattern: /samples/        factor: 0.7
    # Increase scores (factor > 1.0)    bonuses:      # Core source code      - pattern: /src/        factor: 1.1      - pattern: /lib/        factor: 1.1      - pattern: /app/        factor: 1.1      - pattern: /core/        factor: 1.2      - pattern: /internal/        factor: 1.1
      # Important directories      - pattern: /services/        factor: 1.1      - pattern: /handlers/        factor: 1.1      - pattern: /controllers/        factor: 1.1

How Factors Work

FactorEffectUse Case
0.370% reductionStrong penalty (vendor)
0.550% reductionModerate penalty (tests)
0.730% reductionMild penalty (examples)
1.0No changeNeutral
1.110% increaseMild boost (src)
1.220% increaseModerate boost (core)
1.550% increaseStrong boost

Pattern Matching

Patterns match against the full file path:

/project/src/auth/middleware.go         ^^^^         Matches "/src/" pattern

Pattern Types

PatternMatchesDoesn't Match
/tests/src/tests/auth.gotests.go
_test.auth_test.gotest_auth.go
.spec.auth.spec.tsspec/auth.ts
/src/project/src/main.goresource/file.go

Effect on Rankings

Without Boosting

Score: 0.85 | tests/auth_test.go:10-30Score: 0.82 | src/auth/middleware.go:15-45Score: 0.80 | src/auth/jwt.go:23-55

With Boosting

yaml
penalties:  - pattern: /tests/    factor: 0.5bonuses:  - pattern: /src/    factor: 1.1
Score: 0.90 | src/auth/middleware.go:15-45  (0.82 × 1.1)Score: 0.88 | src/auth/jwt.go:23-55        (0.80 × 1.1)Score: 0.43 | tests/auth_test.go:10-30     (0.85 × 0.5)

Common Configurations

Standard (Recommended)

yaml
search:  boost:    enabled: true    penalties:      - pattern: /tests/        factor: 0.5      - pattern: _test.        factor: 0.5      - pattern: .spec.        factor: 0.5      - pattern: /vendor/        factor: 0.3      - pattern: /docs/        factor: 0.6    bonuses:      - pattern: /src/        factor: 1.1      - pattern: /lib/        factor: 1.1

Frontend Project

yaml
search:  boost:    enabled: true    penalties:      - pattern: /__tests__/        factor: 0.5      - pattern: .test.        factor: 0.5      - pattern: .spec.        factor: 0.5      - pattern: /node_modules/        factor: 0.3      - pattern: .stories.        factor: 0.6      - pattern: /storybook/        factor: 0.6    bonuses:      - pattern: /src/        factor: 1.1      - pattern: /components/        factor: 1.1      - pattern: /hooks/        factor: 1.1

Go Project

yaml
search:  boost:    enabled: true    penalties:      - pattern: _test.go        factor: 0.5      - pattern: _mock.go        factor: 0.5      - pattern: /testdata/        factor: 0.5      - pattern: /vendor/        factor: 0.3      - pattern: .pb.go        factor: 0.4    bonuses:      - pattern: /internal/        factor: 1.1      - pattern: /cmd/        factor: 1.1      - pattern: /pkg/        factor: 1.1

Python Project

yaml
search:  boost:    enabled: true    penalties:      - pattern: /tests/        factor: 0.5      - pattern: test_        factor: 0.5      - pattern: _test.py        factor: 0.5      - pattern: /conftest        factor: 0.5      - pattern: /fixtures/        factor: 0.6    bonuses:      - pattern: /src/        factor: 1.1      - pattern: /app/        factor: 1.1      - pattern: /core/        factor: 1.2

Monorepo

yaml
search:  boost:    enabled: true    penalties:      - pattern: /tests/        factor: 0.5      - pattern: _test.        factor: 0.5      - pattern: /packages/deprecated/        factor: 0.3      - pattern: /packages/legacy/        factor: 0.4    bonuses:      - pattern: /packages/core/        factor: 1.2      - pattern: /packages/api/        factor: 1.1      - pattern: /packages/shared/        factor: 1.1

Disabling Boosting

To disable boosting entirely:

yaml
search:  boost:    enabled: false

Or remove the boost section from config.

Boosting vs Ignoring

ApproachEffectUse Case
IgnoreCompletely excludedDependencies, build output
PenaltyStill searchable, lower rankTests, docs, examples
NeutralDefault rankingRegular source code
BonusHigher rankCore business logic

When to Ignore vs Penalize

  • Ignore: Files you NEVER want to search (node_modules, .git)
  • Penalize: Files you RARELY want but might need (tests, docs)

Testing Your Configuration

After configuring boosting:

bash
# Search and observe rankingsgrepai search "authentication"
# Check if tests are properly deprioritizedgrepai search "test authentication"  # Should still find tests, but ranked lower

Best Practices

  1. Start with penalties: Deprioritize tests/vendor first
  2. Add bonuses sparingly: Only for truly important paths
  3. Test with real queries: Verify results make sense
  4. Don't over-penalize: 0.5 is usually enough for tests
  5. Document your choices: Add comments in config

Common Issues

❌ Problem: Tests always show up first ✅ Solution: Add penalty patterns for your test naming convention

❌ Problem: Can't find code in penalized paths ✅ Solution: Penalties reduce rank, don't hide. Use ignore for complete exclusion.

❌ Problem: Scores above 1.0 seem wrong ✅ Solution: Bonuses can push scores above 1.0; this is normal

❌ Problem: Pattern not matching ✅ Solution: Check that pattern appears in full path (use /tests/ not just tests)

Output Format

Boosting configuration status:

✅ Search Boosting Configured
   Status: Enabled
   Penalties (5):   - /tests/      → 0.5 (50% reduction)   - _test.       → 0.5   - .spec.       → 0.5   - /vendor/     → 0.3 (70% reduction)   - /docs/       → 0.6
   Bonuses (3):   - /src/        → 1.1 (10% boost)   - /lib/        → 1.1   - /core/       → 1.2 (20% boost)
   Effect: Source code ranks higher than tests with similar content

Source and attribution

Source:yoanbernabeu/grepai-skillsinskills/search/grepai-search-boostingat commit382d402

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal