grepai-languages by yoanbernabeu/grepai-skills
npx skills add https://github.com/yoanbernabeu/grepai-skills --skill grepai-languages本技能涵盖 GrepAI 支持用于索引和调用图分析的编程语言。
GrepAI 支持为所有基于文本的文件建立索引,但对特定编程语言有增强支持。
| 语言 | 扩展名 | 索引 | 追踪 |
|---|---|---|---|
| Go | .go | ✅ | ✅ |
| JavaScript | .js, .jsx | ✅ | ✅ |
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| 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 | ✅ | ✅ |
| 语言 | 扩展名 | 索引 | 追踪 |
|---|---|---|---|
| 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 | ✅ | ❌ |
# .grepai/config.yaml
trace:
enabled_languages:
- .go
- .js
- .ts
- .jsx
- .tsx
- .py
- .php
- .rs
- .c
- .cpp
- .cs
- .java
trace:
enabled_languages:
- .go
# 有意排除 JavaScript
# - .js
exclude_patterns:
- "*_test.go"
- "*.spec.ts"
trace:
enabled_languages:
- .go
exclude_patterns:
- "*_test.go"
- "mock_*.go"
- "*_mock.go"
追踪准确性: 优秀。Go 的显式语法使得追踪非常可靠。
trace:
enabled_languages:
- .js
- .jsx
- .ts
- .tsx
exclude_patterns:
- "*.test.js"
- "*.spec.ts"
- "*.d.ts" # 类型声明文件
追踪准确性: 良好。可能会遗漏一些动态模式。
trace:
enabled_languages:
- .py
exclude_patterns:
- "test_*.py"
- "*_test.py"
- "conftest.py"
追踪准确性: 良好。可能会遗漏动态导入和装饰器。
trace:
enabled_languages:
- .c
- .h
- .cpp
- .hpp
- .cc
- .cxx
exclude_patterns:
- "*_test.cpp"
追踪准确性: 良好。宏和模板可能会影响准确性。
trace:
enabled_languages:
- .rs
exclude_patterns:
- "**/tests/**"
- "**/benches/**"
追踪准确性: 优秀。Rust 的显式语法有助于准确追踪。
trace:
enabled_languages:
- .php
exclude_patterns:
- "*Test.php"
- "**/tests/**"
追踪准确性: 良好。魔术方法可能无法完全追踪。
trace:
enabled_languages:
- .java
exclude_patterns:
- "*Test.java"
- "**/test/**"
追踪准确性: 良好。基于反射的调用可能会被遗漏。
trace:
enabled_languages:
- .cs
exclude_patterns:
- "*Tests.cs"
- "**/Tests/**"
追踪准确性: 良好。委托和事件可能只能被部分追踪。
对于包含多种语言的项目:
trace:
enabled_languages:
# 后端 (Go)
- .go
# 前端 (TypeScript)
- .ts
- .tsx
# 共享 (SQL 等)
- .sql # 仅索引
exclude_patterns:
- "*_test.go"
- "*.spec.ts"
| 语言 | 快速模式 | 精确模式 |
|---|---|---|
| Go | ✅ | ✅ |
| JavaScript | ✅ | ✅ |
| TypeScript | ✅ | ✅ |
| Python | ✅ | ✅ |
| PHP | ✅ | ✅ |
| C/C++ | ✅ | ✅ |
| Rust | ✅ | ✅ |
| Zig | ✅ | ✅ |
| C# | ✅ | ✅ |
| Java | ✅ | ✅ |
| Pascal | ✅ | ⚠️ 有限 |
如果您有非标准扩展名,它们将被索引但不会被追踪:
# 自定义扩展名的文件将被索引
ignore:
# 仅添加您不想要索引的文件模式
- "*.generated.go"
GrepAI 使用文件扩展名进行检测。它不使用:
#!/usr/bin/env python)这些语言可以进行语义搜索索引,但没有追踪支持:
变通方法: 使用语义搜索查找代码,然后手动追踪。
# 检查正在索引的内容
grepai status
# 将显示按类型统计的文件数量
❌ 问题: 文件未被索引 ✅ 解决方案: 检查文件是否在忽略模式中
❌ 问题: 语言缺少追踪
✅ 解决方案: 确保语言在 enabled_languages 列表中
❌ 问题: 语言检测错误 ✅ 解决方案: GrepAI 仅使用扩展名;如果需要,请重命名文件
语言支持摘要:
📚 GrepAI 语言支持
完全支持(索引 + 追踪):
- 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)
仅索引(无追踪):
- Ruby, Swift, Kotlin, Scala
- Shell 脚本, SQL, HTML, CSS
- 配置文件 (YAML, JSON, TOML)
- 文档 (Markdown)
您的配置启用了以下追踪:
- .go, .js, .ts, .py
每周安装量
265
仓库
GitHub 星标数
15
首次出现
2026年1月28日
安全审计
安装于
opencode209
codex203
gemini-cli186
github-copilot185
claude-code170
kimi-cli169
This skill covers the programming languages supported by GrepAI for indexing and call graph analysis.
GrepAI supports indexing for all text-based files , but has enhanced support for specific programming languages.
| 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 | ✅ | ✅ |
| Language | Extensions | Index | Trace |
|---|---|---|---|
| Ruby | .rb | ✅ | ❌ |
| Swift | .swift | ✅ | ❌ |
| Kotlin | .kt, .kts | ✅ | ❌ |
| Scala | .scala | ✅ | ❌ |
# .grepai/config.yaml
trace:
enabled_languages:
- .go
- .js
- .ts
- .jsx
- .tsx
- .py
- .php
- .rs
- .c
- .cpp
- .cs
- .java
trace:
enabled_languages:
- .go
# Exclude JavaScript intentionally
# - .js
exclude_patterns:
- "*_test.go"
- "*.spec.ts"
trace:
enabled_languages:
- .go
exclude_patterns:
- "*_test.go"
- "mock_*.go"
- "*_mock.go"
Trace accuracy: Excellent. Go's explicit syntax makes tracing very reliable.
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.
trace:
enabled_languages:
- .py
exclude_patterns:
- "test_*.py"
- "*_test.py"
- "conftest.py"
Trace accuracy: Good. Dynamic imports and decorators may be missed.
trace:
enabled_languages:
- .c
- .h
- .cpp
- .hpp
- .cc
- .cxx
exclude_patterns:
- "*_test.cpp"
Trace accuracy: Good. Macros and templates may affect accuracy.
trace:
enabled_languages:
- .rs
exclude_patterns:
- "**/tests/**"
- "**/benches/**"
Trace accuracy: Excellent. Rust's explicit syntax aids accurate tracing.
trace:
enabled_languages:
- .php
exclude_patterns:
- "*Test.php"
- "**/tests/**"
Trace accuracy: Good. Magic methods may not be fully traced.
trace:
enabled_languages:
- .java
exclude_patterns:
- "*Test.java"
- "**/test/**"
Trace accuracy: Good. Reflection-based calls may be missed.
trace:
enabled_languages:
- .cs
exclude_patterns:
- "*Tests.cs"
- "**/Tests/**"
Trace accuracy: Good. Delegates and events may be partially traced.
For projects with multiple languages:
trace:
enabled_languages:
# Backend (Go)
- .go
# Frontend (TypeScript)
- .ts
- .tsx
# Shared (SQL, etc.)
- .sql # Index only
exclude_patterns:
- "*_test.go"
- "*.spec.ts"
| Language | Fast Mode | Precise Mode |
|---|---|---|
| Go | ✅ | ✅ |
| JavaScript | ✅ | ✅ |
| TypeScript | ✅ | ✅ |
| Python | ✅ | ✅ |
| PHP | ✅ | ✅ |
| C/C++ | ✅ | ✅ |
| Rust | ✅ | ✅ |
| Zig | ✅ | ✅ |
| C# | ✅ | ✅ |
| Java | ✅ | ✅ |
| Pascal | ✅ |
If you have non-standard extensions, they'll be indexed but not traced:
# Custom extension files will be indexed
ignore:
# Only add patterns for files you DON'T want indexed
- "*.generated.go"
GrepAI uses file extensions for detection. It does NOT use:
#!/usr/bin/env python)These languages can be indexed for semantic search but don't have trace support:
Workaround: Use semantic search to find code, then manually trace.
# Check what's being indexed
grepai status
# Will show file counts by type
❌ 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
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
Weekly Installs
265
Repository
GitHub Stars
15
First Seen
Jan 28, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode209
codex203
gemini-cli186
github-copilot185
claude-code170
kimi-cli169
agent-browser 浏览器自动化工具 - Vercel Labs 命令行网页操作与测试
140,500 周安装
| 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 | ✅ | ❌ |
| ⚠️ Limited |