
Grepai Init
Bootstrap a local GrepAI semantic code index and config in an existing repo before watch or agent search workflows.
Overview
GrepAI Init is an agent skill for the Build phase that initializes GrepAI project configuration and the `.grepai/` directory for local semantic code search.
Install
npx skills add https://github.com/yoanbernabeu/grepai-skills --skill grepai-initWhat is this skill?
- Runs `grepai init` to create `.grepai/` with `config.yaml` and index placeholders
- Documents default embedder (Ollama `nomic-embed-text`) and gob vector store backend
- Explains chunking (512 size, 50 overlap) and watch debounce defaults
- Lists trace `enabled_languages` spanning Go, JS/TS, Python, Rust, and more
- Covers default ignore paths for `node_modules`, `vendor`, `.git`, and build artifacts
- Default chunk size 512 with overlap 50
- 15+ trace enabled language extensions listed in defaults
Adoption & trust: 493 installs on skills.sh; 17 GitHub stars; 3/3 security scanners passed (skills.sh audits); trending (+100% hot-view momentum).
What problem does it solve?
You want agent-friendly codebase search but have no GrepAI config or indexes in your repo yet.
Who is it for?
Solo developers adding GrepAI to an existing codebase before enabling watch, trace, or agent retrieval workflows.
Skip if: Repos that already have a tuned `.grepai/config.yaml` and indexes unless you are reinitializing intentionally.
When should I use this skill?
Setting up GrepAI for the first time in a codebase or when you need to understand or customize initial GrepAI configuration.
What do I get? / Deliverables
Your project has a generated `config.yaml` and `.grepai/` layout ready for watch to build vector and symbol indexes.
- .grepai/config.yaml
- .grepai/ directory scaffold
- Documented default tuning knobs
Recommended Skills
Journey fit
Initialization happens when you are setting up how your coding agent navigates the codebase during active development. agent-tooling is the canonical shelf because grepai init creates the `.grepai/` tooling surface, not application feature code.
How it compares
Project bootstrap skill for local semantic search—not a hosted codebase MCP or generic ripgrep cheat sheet.
Common Questions / FAQ
Who is grepai-init for?
Indie builders and agent users setting up GrepAI locally on a codebase for the first time.
When should I use grepai-init?
Use it in Build/agent-tooling when onboarding a repo, explaining what init creates, or fixing a broken first-time setup before running watch.
Is grepai-init safe to install?
Check the Security Audits panel on this Prism page; init writes local config under `.grepai/` and assumes a local Ollama endpoint by default.
SKILL.md
READMESKILL.md - Grepai Init
# 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 ```bash 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`: ```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 ```yaml embedder: provider: openai model: text-embedding-3-small api_key: ${OPENAI_API_KEY} ``` ### Change Storage Backend ```yaml store: backend: postgres postgres: dsn: postgres://user:pass@localhost:5432/grepai ``` ### Add Custom Ignore Patterns ```yaml ignore: - .git - .grepai - node_modules - "*.min.js" - "*.bundle.js" - coverage/ - .nyc_output/ ``` ## Init in Monorepos For monorepos, init at the root: ```bash cd /path/to/monorepo grepai init ``` Or use workspaces for separate indices: ```bash 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: ```bash # 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: ```bash # 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: ```bash rm -rf .grepai && grepai init ``` ❌ **Problem:** Config created but Ollama not running ✅ **Solution:** Start Ollama before running `grepai watch`: ```bash 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 patter