NYC

grepai-init

SKILL.md

GrepAI Init

This skill covers the grepai init command and project initialization.

When to Use This Skill

  • Setting up GrepAI in a new project
  • Understanding what grepai init creates
  • Customizing initial configuration
  • Troubleshooting initialization issues

Basic Usage

cd /path/to/your/project
grepai init

What Init Creates

Running grepai init creates the .grepai/ directory with:

.grepai/
├── config.yaml    # Configuration file
├── index.gob      # Vector index (created by watch)
└── symbols.gob    # Symbol index for trace (created by watch)

Default Configuration

The generated config.yaml:

version: 1

embedder:
  provider: ollama
  model: nomic-embed-text
  endpoint: http://localhost:11434

store:
  backend: gob

chunking:
  size: 512
  overlap: 50

watch:
  debounce_ms: 500

trace:
  mode: fast
  enabled_languages:
    - .go
    - .js
    - .ts
    - .jsx
    - .tsx
    - .py
    - .php
    - .c
    - .h
    - .cpp
    - .hpp
    - .cc
    - .cxx
    - .rs
    - .zig
    - .cs
    - .pas
    - .dpr

ignore:
  - .git
  - .grepai
  - node_modules
  - vendor
  - target
  - __pycache__
  - dist
  - build

Understanding Default Settings

Embedder Settings

Setting Default Purpose
provider ollama Local embedding generation
model nomic-embed-text 768-dimension model
endpoint http://localhost:11434 Ollama API URL

Store Settings

Setting Default Purpose
backend gob Local file storage

Chunking Settings

Setting Default Purpose
size 512 Tokens per chunk
overlap 50 Overlap for context

Watch Settings

Setting Default Purpose
debounce_ms 500 Wait time before re-indexing

Ignore Patterns

Default patterns exclude:

  • Version control: .git
  • GrepAI data: .grepai
  • Dependencies: node_modules, vendor
  • Build outputs: target, dist, build
  • Cache: __pycache__

Customizing After Init

Edit .grepai/config.yaml to customize:

Change Embedding Provider

embedder:
  provider: openai
  model: text-embedding-3-small
  api_key: ${OPENAI_API_KEY}

Change Storage Backend

store:
  backend: postgres
  postgres:
    dsn: postgres://user:pass@localhost:5432/grepai

Add Custom Ignore Patterns

ignore:
  - .git
  - .grepai
  - node_modules
  - "*.min.js"
  - "*.bundle.js"
  - coverage/
  - .nyc_output/

Init in Monorepos

For monorepos, init at the root:

cd /path/to/monorepo
grepai init

Or use workspaces for separate indices:

grepai workspace create my-workspace
grepai workspace add my-workspace /path/to/project1
grepai workspace add my-workspace /path/to/project2

Re-Initialization

If you need to reset:

# Remove existing config
rm -rf .grepai

# Re-initialize
grepai init

Warning: This deletes your index. You'll need to re-run grepai watch.

Verifying Initialization

After init, verify with:

# Check config exists
cat .grepai/config.yaml

# Check status (will show no index yet)
grepai status

Common Issues

Problem: .grepai already exists ✅ Solution: Delete it first or edit existing config:

rm -rf .grepai && grepai init

Problem: Config created but Ollama not running ✅ Solution: Start Ollama before running grepai watch:

ollama serve

Problem: Wrong directory initialized ✅ Solution: Remove .grepai and init in correct directory

Best Practices

  1. Init at project root: Where your main code lives
  2. Add .grepai/ to .gitignore: Index is machine-specific
  3. Customize ignore patterns: Exclude generated/vendored code
  4. Review config after init: Adjust for your stack

Example .gitignore Addition

# GrepAI
.grepai/

Output Format

After successful initialization:

✅ GrepAI Initialized

   Config: .grepai/config.yaml

   Default settings:
   - Embedder: Ollama (nomic-embed-text)
   - Storage: GOB (local file)
   - Chunking: 512 tokens, 50 overlap

   Next steps:
   1. Ensure Ollama is running: ollama serve
   2. Start indexing: grepai watch
Weekly Installs
116
First Seen
Jan 28, 2026
Installed on
opencode81
claude-code79
codex77
gemini-cli67
github-copilot66
kimi-cli55