github-code-search
jaredpalmer/claude-plugins
Recherchez du code sur GitHub parmi des millions de dépôts à l'aide de grep.app. Utilisez cet outil lorsque vous avez besoin de trouver des modèles de code, des implémentations ou des exemples, ou encore de comprendre comment certaines fonctionnalités sont mises en œuvre dans des bases de code publiques. (projet)
...Développer toutÀ propos de « github-code-search »
La compétence « github-code-search » permet aux utilisateurs d'effectuer des recherches parmi des millions de dépôts GitHub publics à l'aide du service grep.app. Cette compétence offre un moyen puissant et efficace de trouver des modèles de code, des implémentations et des exemples au sein de l'immense base de code open source. En s’appuyant sur le serveur MCP de grep.app, elle permet aux utilisateurs de rechercher des modèles de code spécifiques, par exemple pour découvrir comment d’autres projets implémentent certaines fonctionnalités ou comment les bibliothèques et les API sont utilisées dans différents dépôts. Elle offre une méthode simple et efficace pour interroger le code GitHub, que ce soit à des fins d’apprentissage, d’analyse d’implémentations existantes ou de collecte d’exemples de modèles de code spécifiques.
Parmi les principales fonctionnalités de cette compétence, on trouve la possibilité d’exécuter du code TypeScript pour rechercher, filtrer et traiter les résultats localement, ce qui permet des recherches plus efficaces et réduit la consommation de jetons. Le script de recherche TypeScript intégré offre une interface en ligne de commande facile à utiliser pour effectuer des recherches avec diverses options, telles que le filtrage par langage, la limitation des résultats et l’utilisation d’expressions régulières. Les utilisateurs peuvent également effectuer des recherches personnalisées en écrivant du TypeScript en ligne pour un filtrage et un traitement sur mesure. De plus, cette compétence propose une API directe pour des recherches rapides à l’aide d’outils simples comme curl, offrant ainsi une grande flexibilité tant aux utilisateurs avancés qu’aux débutants.
Cette skill est idéale pour les développeurs, les chercheurs et toute personne impliquée dans l’analyse de projets open source. Elle est parfaite pour ceux qui souhaitent trouver des implémentations de code ou des exemples, analyser des modèles de codage ou étudier les meilleures pratiques. Cette compétence est particulièrement utile pour les développeurs à la recherche d’extraits de code réutilisables, souhaitant explorer la manière dont les fonctionnalités sont construites dans les projets open source, ou souhaitant mieux comprendre l’utilisation des bibliothèques et des API au sein des dépôts publics.
FAQ
Comment rechercher des extraits de code spécifiques à l’aide de cette compétence ?
Vous pouvez rechercher des extraits de code spécifiques à l’aide du script de recherche TypeScript fourni. Exécutez le script avec la requête de recherche souhaitée et des filtres facultatifs tels que le langage ou le dépôt. Par exemple, vous pouvez rechercher « use cache » dans les fichiers TypeScript à l’aide de la commande suivante : « bun run skills/github-code-search/scripts/search.ts "use cache" --lang=TypeScript ».
Puis-je effectuer une recherche au sein d’un dépôt spécifique ?
Oui, vous pouvez effectuer une recherche au sein d’un dépôt spécifique en utilisant l’option « --repo » suivie du nom du propriétaire ou du dépôt. Par exemple, pour effectuer une recherche dans le dépôt « vercel/next.js », utilisez la commande suivante : « bun run skills/ github-code-search /scripts/search.ts "cacheLife" --repo=vercel/next.js ».
Quelles sont les conditions de configuration requises pour utiliser cette compétence ?
Pour utiliser cette compétence, vous devez avoir configuré le serveur MCP grep.app. Vous pouvez ajouter le serveur à l’aide de la commande : « claude mcp add --transport http grep https://mcp.grep.app ». Vérifiez la configuration en exécutant « /mcp », ce qui devrait afficher « grep » dans la liste.
Comment fonctionne l’option TypeScript en ligne ?
L’option TypeScript en ligne permet d’effectuer des recherches et des filtrages personnalisés. Vous pouvez écrire du code TypeScript qui appelle l’API grep.app, puis traite les résultats localement pour filtrer ou transformer les données selon vos besoins. Cela offre davantage de flexibilité pour des cas d’utilisation avancés, tels que la combinaison de plusieurs résultats de requête ou le filtrage par nom de dépôt.
GitHub Code Search via grep.app
Overview
This skill enables searching across millions of public GitHub repositories using the grep.app service. It uses a code mode pattern where you write and execute TypeScript code to query the grep.app MCP server, filter results locally, and return only relevant findings.
When to Use
- Find implementations of specific patterns (e.g., "how do other projects implement OAuth2?")
- Search for usage examples of APIs or libraries
- Analyze architectural patterns across codebases
- Find code snippets matching regex patterns
- Research best practices by examining popular repositories
Setup Requirements
The grep.app MCP server must be configured. Add it with:
claude mcp add --transport http grep https://mcp.grep.app
Verify with /mcp - you should see grep listed.
Code Mode Pattern
Instead of calling MCP tools directly (which loads all tool definitions into context), this skill uses code execution for efficiency:
- Write TypeScript code that calls the grep MCP server
- Execute the code via Bash with
bunornpx tsx - Filter and process results in the execution environment
- Return only relevant findings to minimize token usage
This approach reduces token usage by 90%+ compared to direct tool calls with large result sets.
Implementation
Option 1: Use the bundled search script (recommended)
A ready-to-use TypeScript search script is included:
bun run skills/github-code-search/scripts/search.ts "query" [--lang=Language] [--repo=owner/repo] [--limit=N] [--regexp]
Examples:
# Search for "use cache" in TypeScript filesbun run skills/github-code-search/scripts/search.ts "use cache" --lang=TypeScript --limit=5# Search in a specific repositorybun run skills/github-code-search/scripts/search.ts "cacheLife" --repo=vercel/next.js --limit=10# Use regex patternsbun run skills/github-code-search/scripts/search.ts "async.*await" --regexp --lang=TypeScript
Output format (JSON):
{ "query": "cacheLife", "options": { "language": "TypeScript", "limit": 3 }, "total": 2931, "results": [ { "repo": "vercel/next.js", "path": "packages/next/src/server/use-cache/cache-life.ts", "url": "https://github.com/vercel/next.js/blob/canary/packages/next/src/server/use-cache/cache-life.ts", "matches": [{ "lineNumber": 5, "content": "export type »CacheLife« = {" }] } ]}The » and « markers indicate where the search term was matched.
Option 2: Inline TypeScript (for custom processing)
For more complex searches with custom filtering, write inline TypeScript:
// Execute with: bun -e "..."const response = await fetch( 'https://grep.app/api/search?q=useOptimistic&l=TypeScript')const data = await response.json()// Process results locally - this is the efficiency gain!const filtered = data.hits.hits .filter((hit: any) => hit.repo.includes('react')) .slice(0, 5) .map((hit: any) => ({ repo: hit.repo, path: hit.path }))console.log(JSON.stringify(filtered, null, 2))
Quick Search (Direct API)
For simple searches, use curl directly:
curl -s "https://grep.app/api/search?q=useOptimistic+hook&l=TypeScript" | jq '.hits.hits[:5] | .[] | {repo: .repo.raw, path: .path.raw}'
Parameters
| Parameter | Description | Example |
|---|---|---|
q | Search query (required). Supports regex with regexp:true | "use cache", async.*await |
l | Language filter | TypeScript, Python, Go |
r | Repository filter | vercel/next.js, facebook/react |
regexp | Enable regex mode | true |
Example Queries
Find "use cache" implementations in Next.js projects
curl -s "https://grep.app/api/search?q=%22use%20cache%22&l=TypeScript" | jq '.hits.hits[:10] | .[] | {repo: .repo.raw, path: .path.raw}'
Search for error handling patterns
curl -s "https://grep.app/api/search?q=catch.*error.*log®exp=true&l=TypeScript" | jq '.hits.total'
Find implementations in a specific repo
curl -s "https://grep.app/api/search?q=cacheLife&r=vercel/next.js" | jq '.hits.hits[] | {path: .path.raw, lines: .content.lines}'
Best Practices
- Start broad, then narrow: Begin with a general query, then add language/repo filters
- Use regex for patterns: Enable
regexp=truefor complex pattern matching - Limit results locally: Process and filter in code before returning to save tokens
- Cache common searches: Store results for frequently-used queries
- Respect rate limits: The grep.app API has rate limits; batch queries when possible
Integration with MCP Tools
If the grep MCP server is configured, you can also use it via MCP tools:
// Via MCP (if mcp__grep__search is available)mcp__grep__search({ query: 'authentication middleware', language: 'TypeScript', useRegexp: false,})
However, the code mode approach (curl + jq or TypeScript script) is preferred for:
- Large result sets that need filtering
- Complex post-processing logic
- Chaining multiple searches
- Minimizing context window usage
Troubleshooting
- No results: Try broadening the query or removing filters
- Rate limited: Wait a few seconds and retry, or use the MCP server which may have higher limits
- Timeout: Large queries may timeout; add more specific filters
Installer github-code-search
Téléchargez et décompressez les fichiers de compétences dans votre répertoire .claude/skills/.
Télécharger le ZIPClonez le dépôt et copiez les fichiers de compétence dans votre projet.
git clone https://github.com/jaredpalmer/claude-plugins/blob/main/skills/github-code-search/SKILL.md # Copy SKILL.md to your .claude/skills/ directory
Copier





Maison
