grepai-languages — скилл для Claude Code: что делает и как установить
Справочник поддерживаемых языков для инструмента GrepAI. Показывает, где работает построение графов вызовов, а где доступен только семантический поиск.
npx skills add yoanbernabeu/grepai-skills --skill grepai-languages -a claude-codeЧто делает grepai-languages
Скилл даёт ассистенту правила разбора репозиториев через GrepAI. Любой текстовый файл утилита индексирует для семантического поиска, разбивая код на фрагменты и эмбеддинги. Полноценный анализ вызовов (trace) поддержан только для дюжины языков: Go, JavaScript, TypeScript, Python, PHP, C, C++, Rust, Zig, C#, Java и Pascal.
Внутри собраны схемы настройки файла .grepai/config.yaml с примерами исключения тестов через exclude_patterns. Для разбора связей используются быстрый режим на регулярных выражениях или точный через tree-sitter. Если нужно проверить распределение файлов перед сканированием, скилл подскажет команду grepai status.
GrepAI определяет язык строго по расширению файла. Скрипты со строкой shebang вроде #!/usr/bin/env python без точки и расширения в имени останутся без графа вызовов.
Какие задачи решает
- Проверить совместимость стека проекта с анализом вызовов GrepAI
- Настроить список языков и исключений в .grepai/config.yaml
- Выбрать между быстрым и точным режимом парсинга через tree-sitter
- Разобраться, почему скрипт попадает в индекс, но не трассируется
Примеры запросов агенту
- Поддерживает ли GrepAI построение графа вызовов для Python и Rust?
- Как в .grepai/config.yaml отключить трассировку тестов для Go и TypeScript?
- Почему GrepAI не строит связи для скриптов на Ruby и Kotlin?
Как установить grepai-languages
1Через Skills CLI (Vercel)
npx skills add yoanbernabeu/grepai-skills --skill grepai-languages -a claude-code2Вручную: положить файлы
~/.claude/skills/grepai-languages/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/grepai-languages/
1Через Skills CLI (Vercel)
npx skills add yoanbernabeu/grepai-skills --skill grepai-languages -a codex2Вручную: положить файлы
.agents/skills/grepai-languages/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add yoanbernabeu/grepai-skills --skill grepai-languages -a cursor2Вручную: положить файлы
.cursor/skills/grepai-languages/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install yoanbernabeu/grepai-skills grepai-languages2Вручную: положить файлы
.github/skills/grepai-languages/SKILL.md1Через Skills CLI (Vercel)
npx skills add yoanbernabeu/grepai-skills --skill grepai-languages -a gemini-cli2Командой платформы
gemini skills install https://github.com/yoanbernabeu/grepai-skills --path skills/advanced/grepai-languagesВручную: положить файлы
.devin/skills/grepai-languages/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add yoanbernabeu/grepai-skills --skill grepai-languages -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о grepai-languages
Как установить grepai-languages в Claude Code?
Выполните команду npx skills add yoanbernabeu/grepai-skills --skill grepai-languages -a claude-code. Конфигурация запишется в ~/.claude/skills/grepai-languages/SKILL.md.
Чем отличаются режимы Index и Trace в GrepAI?
Индексация работает с любым текстом через эмбеддинги и семантический поиск. Трассировка требует синтаксического разбора функций через regex или tree-sitter для построения графа вызовов.
Определяет ли GrepAI язык без расширения файла?
Нет, утилита смотрит только на расширения. GrepAI не читает заголовок shebang, игнорирует содержимое файла и файл .editorconfig.
Исходный текст
SKILL.md · MIT
---
name: grepai-languages
description: Supported programming languages in GrepAI. Use this skill to understand which languages can be indexed and traced.
---
# GrepAI Supported Languages
This skill covers the programming languages supported by GrepAI for indexing and call graph analysis.
## When to Use This Skill
- Checking if your language is supported
- Configuring language-specific settings
- Understanding trace capabilities per language
- Troubleshooting language-related issues
## Supported Languages Overview
GrepAI supports indexing for **all text-based files**, but has enhanced support for specific programming languages.
### Full Support (Index + Trace)
| Language | Extensions | Index | Trace |
|----------|------------|-------|-------|
| Go | `.go` | ✅ | ✅ |
| JavaScript | `.js`, `.jsx` | ✅ | ✅ |
| TypeScript | `.ts`, `.tsx` | ✅ | ✅ |
| Python | `.py` | ✅ | ✅ |
| PHP | `.php` | ✅ | ✅ |
| C | `.c`, `.h` | ✅ | ✅ |
| C++ | `.cpp`, `.hpp`, `.cc`, `.cxx`, `.hh` | ✅ | ✅ |
| Rust | `.rs` | ✅ | ✅ |
| Zig | `.zig` | ✅ | ✅ |
| C# | `.cs` | ✅ | ✅ |
| Java | `.java` | ✅ | ✅ |
| Pascal/Delphi | `.pas`, `.dpr` | ✅ | ✅ |
### Index Only (No Trace)
| Language | Extensions | Index | Trace |
|----------|------------|-------|-------|
| Ruby | `.rb` | ✅ | ❌ |
| Swift | `.swift` | ✅ | ❌ |
| Kotlin | `.kt`, `.kts` | ✅ | ❌ |
| Scala | `.scala` | ✅ | ❌ |
| Lua | `.lua` | ✅ | ❌ |
| Shell | `.sh`, `.bash`, `.zsh` | ✅ | ❌ |
| SQL | `.sql` | ✅ | ❌ |
| HTML | `.html`, `.htm` | ✅ | ❌ |
| CSS | `.css`, `.scss`, `.less` | ✅ | ❌ |
| Markdown | `.md`, `.mdx` | ✅ | ❌ |
| YAML | `.yaml`, `.yml` | ✅ | ❌ |
| JSON | `.json` | ✅ | ❌ |
| TOML | `.toml` | ✅ | ❌ |
| XML | `.xml` | ✅ | ❌ |
## Language Configuration
### Enabling/Disabling Languages for Trace
```yaml
# .grepai/config.yaml
trace:
enabled_languages:
- .go
- .js
- .ts
- .jsx
- .tsx
- .py
- .php
- .rs
- .c
- .cpp
- .cs
- .java
```
### Excluding Certain Extensions
```yaml
trace:
enabled_languages:
- .go
# Exclude JavaScript intentionally
# - .js
exclude_patterns:
- "*_test.go"
- "*.spec.ts"
```
## Language-Specific Tips
### Go
```yaml
trace:
enabled_languages:
- .go
exclude_patterns:
- "*_test.go"
- "mock_*.go"
- "*_mock.go"
```
**Trace accuracy:** Excellent. Go's explicit syntax makes tracing very reliable.
### JavaScript/TypeScript
```yaml
trace:
enabled_languages:
- .js
- .jsx
- .ts
- .tsx
exclude_patterns:
- "*.test.js"
- "*.spec.ts"
- "*.d.ts" # Type declarations
```
**Trace accuracy:** Good. Some dynamic patterns may be missed.
### Python
```yaml
trace:
enabled_languages:
- .py
exclude_patterns:
- "test_*.py"
- "*_test.py"
- "conftest.py"
```
**Trace accuracy:** Good. Dynamic imports and decorators may be missed.
### C/C++
```yaml
trace:
enabled_languages:
- .c
- .h
- .cpp
- .hpp
- .cc
- .cxx
exclude_patterns:
- "*_test.cpp"
```
**Trace accuracy:** Good. Macros and templates may affect accuracy.
### Rust
```yaml
trace:
enabled_languages:
- .rs
exclude_patterns:
- "**/tests/**"
- "**/benches/**"
```
**Trace accuracy:** Excellent. Rust's explicit syntax aids accurate tracing.
### PHP
```yaml
trace:
enabled_languages:
- .php
exclude_patterns:
- "*Test.php"
- "**/tests/**"
```
**Trace accuracy:** Good. Magic methods may not be fully traced.
### Java
```yaml
trace:
enabled_languages:
- .java
exclude_patterns:
- "*Test.java"
- "**/test/**"
```
**Trace accuracy:** Good. Reflection-based calls may be missed.
### C#
```yaml
trace:
enabled_languages:
- .cs
exclude_patterns:
- "*Tests.cs"
- "**/Tests/**"
```
**Trace accuracy:** Good. Delegates and events may be partially traced.
## Multi-Language Projects
For projects with multiple languages:
```yaml
trace:
enabled_languages:
# Backend (Go)
- .go
# Frontend (TypeScript)
- .ts
- .tsx
# Shared (SQL, etc.)
- .sql # Index only
exclude_patterns:
- "*_test.go"
- "*.spec.ts"
```
## Index vs Trace Explained
### Index (Semantic Search)
- Works on **any text file**
- Code is chunked and embedded
- Enables semantic search
- No language-specific parsing required
### Trace (Call Graphs)
- Requires **language-specific parsing**
- Extracts function definitions and calls
- Builds caller/callee relationships
- Uses regex (fast) or tree-sitter (precise)
## Trace Modes by Language
| Language | Fast Mode | Precise Mode |
|----------|-----------|--------------|
| Go | ✅ | ✅ |
| JavaScript | ✅ | ✅ |
| TypeScript | ✅ | ✅ |
| Python | ✅ | ✅ |
| PHP | ✅ | ✅ |
| C/C++ | ✅ | ✅ |
| Rust | ✅ | ✅ |
| Zig | ✅ | ✅ |
| C# | ✅ | ✅ |
| Java | ✅ | ✅ |
| Pascal | ✅ | ⚠️ Limited |
## Adding Custom Extensions
If you have non-standard extensions, they'll be indexed but not traced:
```yaml
# Custom extension files will be indexed
ignore:
# Only add patterns for files you DON'T want indexed
- "*.generated.go"
```
## File Type Detection
GrepAI uses file extensions for detection. It does NOT use:
- Shebangs (`#!/usr/bin/env python`)
- File content analysis
- .editorconfig
## Unsupported Languages (Index Works, No Trace)
These languages can be indexed for semantic search but don't have trace support:
- Ruby
- Swift
- Kotlin
- Scala
- Elixir
- Clojure
- Haskell
- OCaml
- F#
- Erlang
- R
- Julia
- Perl
- Groovy
**Workaround:** Use semantic search to find code, then manually trace.
## Best Practices
1. **Enable only needed languages:** Faster trace building
2. **Exclude test files:** Cleaner trace results
3. **Use precise mode for accuracy:** When trace results seem incomplete
4. **Match your tech stack:** Configure based on your actual languages
## Checking Language Support
```bash
# Check what's being indexed
grepai status
# Will show file counts by type
```
## Common Issues
❌ **Problem:** Files not being indexed
✅ **Solution:** Check file isn't in ignore patterns
❌ **Problem:** Trace missing for language
✅ **Solution:** Ensure language is in `enabled_languages`
❌ **Problem:** Wrong language detected
✅ **Solution:** GrepAI uses extensions only; rename files if needed
## Output Format
Language support summary:
```
📚 GrepAI Language Support
Full Support (Index + Trace):
- Go (.go)
- JavaScript (.js, .jsx)
- TypeScript (.ts, .tsx)
- Python (.py)
- PHP (.php)
- C/C++ (.c, .cpp, .h, .hpp)
- Rust (.rs)
- Zig (.zig)
- C# (.cs)
- Java (.java)
- Pascal (.pas, .dpr)
Index Only (No Trace):
- Ruby, Swift, Kotlin, Scala
- Shell scripts, SQL, HTML, CSS
- Config files (YAML, JSON, TOML)
- Documentation (Markdown)
Your config enables trace for:
- .go, .js, .ts, .py
```
© yoanbernabeu · MIT · yoanbernabeu/grepai-skills