grepai-storage-gob

Configure GOB local file storage for GrepAI. Use this skill for simple, single-machine setups.

INSTALLATION
npx skills add https://github.com/yoanbernabeu/grepai-skills --skill grepai-storage-gob
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

GrepAI Storage with GOB

This skill covers using GOB (Go Binary) as the storage backend for GrepAI, the default and simplest option.

When to Use This Skill

  • Single developer projects
  • Small to medium codebases
  • Simple setup without external dependencies
  • Local development environments

What is GOB Storage?

GOB is Go's native binary serialization format. GrepAI uses it to store:

  • Vector embeddings
  • File metadata
  • Chunk information

Everything is stored in a single local file.

Advantages

Benefit

Description

πŸš€ Simple

No external services needed

⚑ Fast setup

Works immediately

πŸ“ Portable

Single file, easy to backup

πŸ’° Free

No infrastructure costs

πŸ”’ Private

Data stays local

Limitations

Limitation

Description

πŸ“ Scalability

Not ideal for very large codebases

πŸ‘€ Single user

No concurrent access

πŸ”„ No sharing

Can't share index across machines

πŸ’Ύ Memory

Loads into RAM for searches

Configuration

Default Configuration

GOB is the default backend. Minimal config:

# .grepai/config.yaml

store:

  backend: gob

Explicit Configuration

store:

  backend: gob

  # Index stored in .grepai/index.gob (automatic)

Storage Location

GOB storage creates files in your project's .grepai/ directory:

.grepai/

β”œβ”€β”€ config.yaml    # Configuration

β”œβ”€β”€ index.gob      # Vector embeddings

└── symbols.gob    # Symbol index for trace

File Sizes

Approximate .grepai/index.gob sizes:

Codebase

Files

Chunks

Index Size

Small

100

500

~5 MB

Medium

1,000

5,000

~50 MB

Large

10,000

50,000

~500 MB

Operations

Creating the Index

# Initialize project

grepai init

# Start indexing (creates index.gob)

grepai watch

Checking Index Status

grepai status

# Output:

# Index: .grepai/index.gob

# Files: 245

# Chunks: 1,234

# Size: 12.5 MB

# Last updated: 2025-01-28 10:30:00

Backing Up the Index

# Simple file copy

cp .grepai/index.gob .grepai/index.gob.backup

Clearing the Index

# Delete and re-index

rm .grepai/index.gob

grepai watch

Moving to a New Machine

# Copy entire .grepai directory

cp -r .grepai /path/to/new/location/

# Note: Only works if using same embedding model

Performance Considerations

Memory Usage

GOB loads the entire index into RAM for searches:

Index Size

RAM Usage

10 MB

~20 MB

50 MB

~100 MB

500 MB

~1 GB

Search Speed

GOB provides fast searches for typical codebases:

Codebase Size

Search Time

Small (100 files)

<50ms

Medium (1K files)

<200ms

Large (10K files)

<1s

When to Upgrade

Consider PostgreSQL or Qdrant when:

  • Index exceeds 1 GB
  • Need concurrent access
  • Want to share index across team
  • Codebase has 50K+ files

.gitignore Configuration

Add .grepai/ to your .gitignore:

# GrepAI (machine-specific index)

.grepai/

Why: The index is machine-specific because:

  • Contains binary embeddings
  • Tied to the embedding model used
  • Each machine should generate its own

Sharing Index (Not Recommended)

While you can copy the index file, it's not recommended because:

  • Must use identical embedding model
  • File paths are absolute
  • Different machines may have different code versions

Better approach: Each developer runs their own grepai watch.

Migrating to Other Backends

To PostgreSQL

  • Update config:
store:

  backend: postgres

  postgres:

    dsn: postgres://user:pass@localhost:5432/grepai
  • Re-index:
rm .grepai/index.gob

grepai watch

To Qdrant

  • Update config:
store:

  backend: qdrant

  qdrant:

    endpoint: localhost

    port: 6334
  • Re-index:
rm .grepai/index.gob

grepai watch

Common Issues

❌ Problem: Index file too large

βœ… Solution: Add more ignore patterns or migrate to PostgreSQL/Qdrant

❌ Problem: Slow searches on large codebase

βœ… Solution: Migrate to Qdrant for better performance

❌ Problem: Corrupted index

βœ… Solution: Delete and re-index:

rm .grepai/index.gob .grepai/symbols.gob

grepai watch

❌ Problem: "Index not found" error

βœ… Solution: Run grepai watch to create the index

Best Practices

  • Use for small/medium projects: Up to ~10K files
  • Add to .gitignore: Don't commit the index
  • Backup before major changes: Copy index.gob before experiments
  • Re-index after model changes: If you change embedding models
  • Monitor file size: Migrate if index exceeds 1GB

Output Format

GOB storage status:

βœ… GOB Storage Configured

   Backend: GOB (local file)

   Index: .grepai/index.gob

   Size: 12.5 MB

   Contents:

   - Files: 245

   - Chunks: 1,234

   - Vectors: 1,234 Γ— 768 dimensions

   Performance:

   - Search latency: <100ms

   - Memory usage: ~25 MB
BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills β†’

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free Β· no credit card