
grepai-languages
Supported programming languages in GrepAI. Use this skill to understand which languages can be indexed and traced.
- Installs
- 707
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/yoanbernabeu/grepai-skills --skill grepai-languages- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads grepai-languages automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
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
# .grepai/config.yaml
trace:
enabled_languages:
- .go
- .js
- .ts
- .jsx
- .tsx
- .py
- .php
- .rs
- .c
- .cpp
- .cs
- .java
Excluding Certain Extensions
trace:
enabled_languages:
- .go
# Exclude JavaScript intentionally
# - .js
exclude_patterns:
- "*_test.go"
- "*.spec.ts"
Language-Specific Tips
Go
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
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
trace:
enabled_languages:
- .py
exclude_patterns:
- "test_*.py"
- "*_test.py"
- "conftest.py"
Trace accuracy: Good. Dynamic imports and decorators may be missed.
C/C++
trace:
enabled_languages:
- .c
- .h
- .cpp
- .hpp
- .cc
- .cxx
exclude_patterns:
- "*_test.cpp"
Trace accuracy: Good. Macros and templates may affect accuracy.
Rust
trace:
enabled_languages:
- .rs
exclude_patterns:
- "**/tests/**"
- "**/benches/**"
Trace accuracy: Excellent. Rust's explicit syntax aids accurate tracing.
PHP
trace:
enabled_languages:
- .php
exclude_patterns:
- "*Test.php"
- "**/tests/**"
Trace accuracy: Good. Magic methods may not be fully traced.
Java
trace:
enabled_languages:
- .java
exclude_patterns:
- "*Test.java"
- "**/test/**"
Trace accuracy: Good. Reflection-based calls may be missed.
C#
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:
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:
# 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
- Enable only needed languages: Faster trace building
- Exclude test files: Cleaner trace results
- Use precise mode for accuracy: When trace results seem incomplete
- Match your tech stack: Configure based on your actual languages
Checking Language Support
# 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
FAQ
What does the grepai-languages skill do?
Supported programming languages in GrepAI. Use this skill to understand which languages can be indexed and traced.
How do I install grepai-languages?
Run npx skills add https://github.com/yoanbernabeu/grepai-skills --skill grepai-languages in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/grepai-languages/ (personal) or .claude/skills/grepai-languages/ (project).
Which AI agents can use grepai-languages?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is grepai-languages safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains grepai-languages?
It is published by yoanbernabeu in yoanbernabeu/grepai-skills. It has 707 recorded installs.
More from yoanbernabeu/grepai-skills
grepai-search-basics
yoanbernabeu/grepai-skills
Basic semantic code search with GrepAI. Use this skill to learn fundamental search commands and concepts.
grepai-search-advanced
yoanbernabeu/grepai-skills
Advanced search options in GrepAI. Use this skill for JSON output, compact mode, and AI agent integration.
grepai-trace-graph
yoanbernabeu/grepai-skills
Build complete call graphs with GrepAI trace. Use this skill for recursive dependency analysis.
grepai-ollama-setup
yoanbernabeu/grepai-skills
Install and configure Ollama for local embeddings with GrepAI. Use this skill when setting up private, local embedding generation.
grepai-trace-callers
yoanbernabeu/grepai-skills
Find function callers with GrepAI trace. Use this skill to discover what code calls a specific function.
grepai-search-tips
yoanbernabeu/grepai-skills
Tips and best practices for effective GrepAI searches. Use this skill to improve search result quality.
Popular other skills
hyperframes-cli
heygen-com/hyperframes
The HyperFrames CLI by job - scaffold, check, look at frames, edit the timeline, preview, render locally or in the cloud, publish, project history - plus reading its JSON and recovering from build or render failures.
triage
mattpocock/skills
Move issues and external PRs through a state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs.
ask-matt
mattpocock/skills
Ask which skill or flow fits your situation. A router over the skills in this repo.
to-questionnaire
mattpocock/skills
Turn a decision you can't fully answer into a questionnaire for someone else to fill in.
loop-me
mattpocock/skills
Grill me about specs for the workflows I want to build, within this workspace.