К основному содержанию
скилл CX Codex

grepai-watch-daemon — скилл для Claude Code: индексация кода

Скилл учит агента запускать и настраивать демон grepai watch: первичная индексация проекта, слежение за файлами, фоновый режим и разбор сбоев.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add yoanbernabeu/grepai-skills --skill grepai-watch-daemon -a claude-code
Открыть на GitHub

Что делает grepai-watch-daemon

Демон проходит по исходникам проекта, режет код на фрагменты примерно по 512 токенов, считает эмбеддинги через выбранный провайдер и складывает векторы в бэкенд. Дальше он следит за изменениями: сохранение файла пересчитывает его фрагменты, новый файл добавляется в индекс, удалённый — вылетает, переименование обновляет путь и оставляет векторы на месте.

Запуск простой: grepai watch в терминале, grepai watch --background для фонового режима, grepai watch --status и grepai watch --stop для проверки и остановки. В конфиге .grepai/config.yaml есть параметр debounce_ms — советует начать с 500, потому что редакторы пишут файл несколько раз подряд при сохранении. Меньше значение — отклик быстрее, но переиндексаций больше.

Автозапуск настраивается через launchd на macOS и systemd на Linux, логи лежат в ~/.grepai/daemon.log. Для монорепозитория есть воркспейсы: grepai workspace create, затем grepai workspace add на каждый проект. Если демон не стартует с ошибкой про эмбеддер, проверьте, поднят ли провайдер — например, ollama serve. На Linux при пропущенных изменениях придётся поднять лимит inotify.

Какие задачи решает

  • проиндексировать проект целиком перед первым поиском по коду
  • держать индекс свежим, пока идёт работа в редакторе
  • запустить слежение за файлами в фоне и не держать терминал открытым
  • собрать несколько проектов в один воркспейс
  • разобраться, почему демон не стартует или не видит правки

Примеры запросов агенту

  • Запусти grepai watch в фоне для текущего проекта и покажи статус демона
  • Настрой автозапуск grepai watch через systemd, чтобы демон поднимался при входе
  • Файлы не переиндексируются после сохранения — проверь debounce_ms и лимиты inotify

Как установить grepai-watch-daemon

1Через Skills CLI (Vercel)

npx skills add yoanbernabeu/grepai-skills --skill grepai-watch-daemon -a claude-code

2Вручную: положить файлы

~/.claude/skills/grepai-watch-daemon/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/grepai-watch-daemon/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о grepai-watch-daemon

Как установить grepai-watch-daemon в Claude?

Выполните npx skills add yoanbernabeu/grepai-skills --skill grepai-watch-daemon -a claude-code. Скилл появится в ~/.claude/skills/grepai-watch-daemon/SKILL.md.

Что делает grepai-watch-daemon?

Описывает команду grepai watch и работу демона: первичную индексацию, слежение за файлами в реальном времени и обновление индекса при изменениях.

Что нужно, чтобы демон заработал?

Инициализированный проект с .grepai/config.yaml и запущенный провайдер эмбеддингов. Если конфига нет, сначала grepai init.

Исходный текст

SKILL.md · MIT
---
name: grepai-watch-daemon
description: Configure and manage the GrepAI watch daemon. Use this skill for real-time code indexing and file monitoring.
---

# GrepAI Watch Daemon

This skill covers the `grepai watch` command and daemon management for real-time code indexing.

## When to Use This Skill

- Starting initial code indexing
- Setting up real-time file monitoring
- Running the daemon in background
- Troubleshooting indexing issues

## What the Watch Daemon Does

The watch daemon:
1. **Scans** all source files in your project
2. **Chunks** code into segments (~512 tokens)
3. **Generates** embeddings via your configured provider
4. **Stores** vectors in your configured backend
5. **Monitors** for file changes in real-time
6. **Updates** the index when files change

## Basic Usage

### Start Watching (Foreground)

```bash
cd /your/project
grepai watch
```

Output:
```
🔍 GrepAI Watch
   Scanning files...
   Found 245 files
   Processing chunks...
   ████████████████████████████████ 100%
   Indexed 1,234 chunks
   Watching for changes...
```

Press `Ctrl+C` to stop.

### Start in Background

```bash
grepai watch --background
```

Output:
```
🔍 GrepAI Watch (background)
   Daemon started with PID 12345
   Log file: ~/.grepai/daemon.log
```

### Check Daemon Status

```bash
grepai watch --status
```

Output:
```
✅ GrepAI Daemon Running

   PID: 12345
   Started: 2025-01-28 10:30:00
   Project: /path/to/project

   Statistics:
   - Files indexed: 245
   - Chunks: 1,234
   - Last update: 2 minutes ago
```

### Stop the Daemon

```bash
grepai watch --stop
```

Output:
```
✅ Daemon stopped (PID 12345)
```

## Command Reference

| Command | Description |
|---------|-------------|
| `grepai watch` | Start daemon in foreground |
| `grepai watch --background` | Start daemon in background |
| `grepai watch --status` | Check daemon status |
| `grepai watch --stop` | Stop running daemon |

## Configuration

### Watch Settings

```yaml
# .grepai/config.yaml
watch:
  # Debounce delay in milliseconds
  # Groups rapid file changes together
  debounce_ms: 500
```

### Debounce Explained

When you save a file, editors often write multiple times quickly. Debouncing waits for changes to settle:

| Value | Behavior |
|-------|----------|
| `100` | More responsive, more reindexing |
| `500` | Balanced (default) |
| `1000` | Less responsive, fewer reindexing |

## Initial Indexing

### What Gets Indexed

The daemon indexes files:
- Matching supported extensions (.go, .js, .ts, .py, etc.)
- Not in ignore patterns (node_modules, .git, etc.)
- Respecting `.gitignore`

### Indexing Progress

Large codebases show progress:

```
Scanning files...
Found 10,245 files
Processing chunks...
████████████████░░░░░░░░░░░░░░░░ 50% (5,122/10,245)
```

### Indexing Time Estimates

| Codebase | Files | Time (Ollama) | Time (OpenAI) |
|----------|-------|---------------|---------------|
| Small | 100 | ~30s | ~10s |
| Medium | 1,000 | ~5min | ~1min |
| Large | 10,000 | ~30min | ~5min |

## Real-Time Monitoring

After initial indexing, the daemon watches for:
- File creation
- File modification
- File deletion
- File renames

### File Change Detection

Uses OS-native file watching:
- **macOS:** FSEvents
- **Linux:** inotify
- **Windows:** ReadDirectoryChangesW

### What Triggers Reindexing

| Action | Result |
|--------|--------|
| Save existing file | Re-embed file chunks |
| Create new file | Index new chunks |
| Delete file | Remove from index |
| Rename file | Update path, keep vectors |

## Background Daemon Management

### Starting on System Boot

#### macOS (launchd)

Create `~/Library/LaunchAgents/com.grepai.watch.plist`:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.grepai.watch</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/bin/grepai</string>
        <string>watch</string>
    </array>
    <key>WorkingDirectory</key>
    <string>/path/to/your/project</string>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
</dict>
</plist>
```

Load:
```bash
launchctl load ~/Library/LaunchAgents/com.grepai.watch.plist
```

#### Linux (systemd)

Create `~/.config/systemd/user/grepai-watch.service`:

```ini
[Unit]
Description=GrepAI Watch Daemon
After=network.target

[Service]
Type=simple
WorkingDirectory=/path/to/your/project
ExecStart=/usr/local/bin/grepai watch
Restart=always

[Install]
WantedBy=default.target
```

Enable:
```bash
systemctl --user enable grepai-watch
systemctl --user start grepai-watch
```

### Checking Logs

```bash
# Background daemon logs
tail -f ~/.grepai/daemon.log

# Or with systemd
journalctl --user -u grepai-watch -f
```

## Multiple Projects

### One Daemon Per Project

Run separate daemons for each project:

```bash
# Terminal 1: Project A
cd /path/to/project-a
grepai watch --background

# Terminal 2: Project B
cd /path/to/project-b
grepai watch --background
```

### Using Workspaces

For multi-project setups:

```bash
grepai workspace create my-workspace
grepai workspace add my-workspace /path/to/project-a
grepai workspace add my-workspace /path/to/project-b
grepai watch --workspace my-workspace
```

## Troubleshooting

### Daemon Won't Start

❌ **Problem:** "Another daemon is already running"
✅ **Solution:**
```bash
grepai watch --stop
grepai watch --background
```

❌ **Problem:** "Config not found"
✅ **Solution:** Initialize first:
```bash
grepai init
grepai watch
```

❌ **Problem:** "Embedder connection failed"
✅ **Solution:** Start your embedding provider:
```bash
ollama serve  # For Ollama
```

### Indexing Issues

❌ **Problem:** Files not being indexed
✅ **Solution:** Check ignore patterns in config, ensure file extension is supported

❌ **Problem:** Indexing very slow
✅ **Solutions:**
- Use OpenAI for faster cloud embeddings
- Add more ignore patterns
- Increase chunking size

❌ **Problem:** Index seems outdated
✅ **Solution:** Clear and reindex:
```bash
rm .grepai/index.gob
grepai watch
```

### File Watch Issues

❌ **Problem:** Changes not detected
✅ **Solutions:**
- Reduce debounce_ms
- Check inotify limits (Linux):
  ```bash
  echo 65536 | sudo tee /proc/sys/fs/inotify/max_user_watches
  ```

## Best Practices

1. **Run in background:** For continuous monitoring
2. **Use workspace for monorepos:** Better organization
3. **Set up auto-start:** launchd or systemd
4. **Check logs periodically:** Monitor for errors
5. **Reindex after config changes:** Especially after changing embedding model

## Status Check

Regular health check:

```bash
grepai status
```

Output:
```
✅ GrepAI Status

   Project: /path/to/project
   Config: .grepai/config.yaml

   Embedder: Ollama (nomic-embed-text)
   Storage: GOB (.grepai/index.gob)

   Index:
   - Files: 245
   - Chunks: 1,234
   - Size: 12.5 MB
   - Last updated: 2025-01-28 10:30:00

   Daemon: Running (PID 12345)
```

## Output Format

Watch daemon status:

```
✅ Watch Daemon Active

   Mode: Background
   PID: 12345
   Project: /path/to/project

   Initial Index:
   - Files scanned: 245
   - Chunks created: 1,234
   - Duration: 45s

   Real-time Monitor:
   - Debounce: 500ms
   - Events processed: 23
   - Last event: 5 minutes ago

   Next steps:
   - Run 'grepai search "query"' to search
   - Run 'grepai watch --status' to check status
   - Run 'grepai watch --stop' to stop daemon
```

© yoanbernabeu · MIT · yoanbernabeu/grepai-skills

Похожие скиллы

Все скиллы по теме «Настройка агента: память, контекст, субагенты» →
paseo getpaseo Скилл для управления удалённым демоном Paseo прямо из IDE. Создавайте агентов, рабочие пространства, запускайте скрипты и координируйте работу между хостами через MCP-инструменты. CX Codex +1 5 200установок openrig-upgrade mvschwarz Ведёт агента через обновление OpenRig CLI и демона по шагам: проверить, изменить, убедиться. Полезен, когда на хосте живут рабочие сессии. CX Codex +1 ★ 8 172звёзд репо gws-gmail-watch официальный googleworkspace Следит за новыми письмами Gmail и отдаёт события потоком NDJSON. Подходит для обработки входящей почты в агентных сценариях. CX Codex +1 37 200установок recipe-watch-drive-changes официальный googleworkspace Скилл оформляет подписку на уведомления об изменениях в файлах и папках Google Drive через утилиту gws. Пригодится для автоматической реакции на правки документов. CX Codex +1 30 400установок watch bradautomates Смотрит видео по URL или локальному пути, собирает кадры и расшифровку, чтобы агент отвечал на вопросы о содержимом. Подходит для разбора роликов прямо из IDE. CX Codex +1 17 200установок competitive-intel-watch deanpeters Скилл сравнивает текущее состояние конкурентов с предыдущим срезом и фиксирует только значимые изменения. Помогает обновлять боевые карточки и позиционирование без лишней рутины. CX Codex +1 1 100установок

Из того же набора12

grepai-trace-callers Скилл учит агента искать все места в коде, откуда вызывается конкретная функция. Пригодится перед переименованием или сменой сигнатуры. CX Codex +1 784установок grepai-search-tips Скилл учит агента формулировать семантические запросы к GrepAI: описывать смысл, а не имя функции. Пригодится, когда поиск по коду выдаёт мусор. CX Codex +1 778установок grepai-trace-callees Скилл учит агента вызывать grepai trace callees и разбирать, какие функции вызывает конкретная функция — с файлами, строками и контекстом вызова. CX Codex +1 762установок grepai-search-boosting Скилл настраивает бусты и штрафы в GrepAI, чтобы исходники поднимались выше тестов, документации и вендорного кода. CX Codex +1 749установок grepai-config-reference Скилл-шпаргалка по всем параметрам .grepai/config.yaml: эмбеддер, хранилище, чанки, поиск. Пригодится, когда нужно понять опцию или починить конфиг. CX Codex +1 688установок grepai-workspaces Скилл учит агента настраивать рабочие пространства GrepAI: несколько проектов, один поисковый индекс, поиск по всем сразу или по одному. CX Codex +1 682установок grepai-mcp-claude Подключает GrepAI к Claude через MCP: агент ищет код по смыслу, а не по строкам, и разбирает граф вызовов. CX Codex +1 612установок grepai-embeddings-lmstudio Настраивает LM Studio как провайдер эмбеддингов для GrepAI. Пригодится, если хочется локальных моделей с графическим интерфейсом вместо командной строки. CX Codex +1 561установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой