Synthèse automatique
sgrep permet de rechercher du code par concept ou fonctionnalité en utilisant des requêtes en langage naturel, facilitant la navigation dans une base de code.
Points forts
- Compréhension sémantique du code, pas seulement du texte exact
- Support de filtres par langage et glob patterns
- Sortie JSON pour intégration avec des agents IA
- Indexation automatique et mode watch pour mises à jour en temps réel
Limites
- Nécessite une installation préalable (curl/sh)
- Dépend d'un modèle d'embeddings local, ce qui peut être lent ou bloqué dans certains environnements
- La qualité des résultats dépend de la taille et de la qualité de l'index
Utilisez sgrep lorsque vous devez trouver du code par sa signification, comme des schémas d'authentification, de gestion d'erreurs ou de connexion à une base de données.
Ne l'utilisez pas pour des recherches textuelles exactes rapides (préférez grep) ou si vous ne pouvez pas installer d'outils supplémentaires.
Analyse de sécurité
PrudenceThe skill instructs to install sgrep via curl pipe to sh from a GitHub URL. While the tool itself is likely safe, the installation method carries a risk of remote code execution if the source is tampered with. No destructive commands are otherwise present.
- •Uses curl|sh to install from an external URL without signature verification, which could execute arbitrary code if the remote script is compromised.
Exemples
Search the codebase for how user authentication is handled using sgrep.Search for error handling patterns in Rust files only using sgrep with language filter.Get a JSON-formatted result for retry logic patterns in the codebase using sgrep.name: sgrep description: Use sgrep for semantic code search. Use when you need to find code by meaning rather than exact text matching. Perfect for finding concepts like "authentication logic", "error handling patterns", or "database connection pooling". allowed-tools: ["Bash"]
sgrep - Semantic Code Search
Use sgrep to search code semantically using natural language queries. sgrep understands code meaning, not just text patterns.
When to Use
- Finding code by concept or functionality ("where do we handle authentication?")
- Discovering related code patterns ("show me retry logic")
- Exploring codebase structure ("how is the database connection managed?")
- Searching for implementation patterns ("where do we validate user input?")
Prerequisites
Ensure sgrep is installed:
curl -fsSL https://raw.githubusercontent.com/rika-labs/sgrep/main/scripts/install.sh | sh
Basic Usage
Search Command
sgrep search "your natural language query"
Common Patterns
Find functionality:
sgrep search "where do we handle user authentication?"
Search with filters:
sgrep search "error handling" --filters lang=rust
sgrep search "API endpoints" --glob "src/**/*.rs"
Get more results:
sgrep search "database queries" --limit 20
Show full context:
sgrep search "retry logic" --context
Command Options
--limit <n>or-n <n>: Maximum results (default: 10)--contextor-c: Show full chunk content instead of snippet--path <dir>or-p <dir>: Repository path (default: current directory)--glob <pattern>: File pattern filter (repeatable)--filters key=value: Metadata filters likelang=rust(repeatable)--json: Emit structured JSON output (agent-friendly)--threads <n>: Maximum threads for parallel operations--cpu-preset <preset>: CPU usage preset (auto|low|medium|high|background)
Indexing
If no index exists, sgrep will automatically create one on first search. To manually index:
sgrep index # Index current directory
sgrep index --force # Rebuild from scratch
Watch Mode
For real-time index updates during development:
sgrep watch # Watch current repo
sgrep watch --debounce-ms 200
Configuration
Check or create embedding provider configuration:
sgrep config # Show current configuration
sgrep config --init # Create default config file
sgrep config --show-model-dir # Show model cache directory
sgrep config --verify-model # Check if model files are present
sgrep uses local embeddings by default. Config lives at ~/.sgrep/config.toml.
If HuggingFace is blocked (e.g., in China), set HTTPS_PROXY environment variable or see the offline installation guide.
Examples
Find authentication code:
sgrep search "how do we authenticate users?"
Find error handling:
sgrep search "error handling patterns" --filters lang=rust
Search specific file types:
sgrep search "API rate limiting" --glob "src/**/*.rs"
Get detailed results:
sgrep search "database connection pooling" --context --limit 5
Agent-friendly JSON output:
sgrep search --json "retry logic"
Understanding Results
Results show:
- File path and line numbers: Where the code is located
- Score: Relevance score (higher is better)
- Semantic score: How well it matches the query meaning
- Keyword score: Text matching score
- Code snippet: Relevant code excerpt
Best Practices
- Use natural language: Ask questions like you would ask a colleague
- Be specific: "authentication middleware" is better than "auth"
- Combine with filters: Use
--filters lang=rustto narrow by language - Use globs:
--glob "src/**/*.rs"to search specific directories - Check context: Use
--contextwhen you need full function/class definitions - Use JSON for automation: Use
--jsonfor structured output in scripts
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/sgrep-semantic-code-search-mm5t8b5a/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/sgrep-semantic-code-search-mm5t8b5a' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/sgrep-semantic-code-search-mm5t8b5a/download' --output '.skill-downloads/sgrep-semantic-code-search-mm5t8b5a/SKILL.md.part' && mv '.skill-downloads/sgrep-semantic-code-search-mm5t8b5a/SKILL.md.part' '.skill-downloads/sgrep-semantic-code-search-mm5t8b5a/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Extrait original : Prerequisites
Ensure sgrep is installed:
curl -fsSL https://raw.githubusercontent.com/rika-labs/sgrep/main/scripts/install.sh | sh
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/sgrep-semantic-code-search-mm5t8b5a/SKILL.md' && test -s '.skill-downloads/sgrep-semantic-code-search-mm5t8b5a/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/sgrep' && cp -R '.skill-downloads/sgrep-semantic-code-search-mm5t8b5a' '.claude/skills/sgrep'Cursor
test -f '.skill-downloads/sgrep-semantic-code-search-mm5t8b5a/SKILL.md' && test -s '.skill-downloads/sgrep-semantic-code-search-mm5t8b5a/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/sgrep' && cp -R '.skill-downloads/sgrep-semantic-code-search-mm5t8b5a' '.cursor/skills/sgrep'Codex
test -f '.skill-downloads/sgrep-semantic-code-search-mm5t8b5a/SKILL.md' && test -s '.skill-downloads/sgrep-semantic-code-search-mm5t8b5a/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/sgrep' && cp -R '.skill-downloads/sgrep-semantic-code-search-mm5t8b5a' '.agents/skills/sgrep'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/sgrep-semantic-code-search-mm5t8b5a'openskills read 'sgrep-semantic-code-search-mm5t8b5a'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/sgrep-semantic-code-search-mm5t8b5a/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Bonnes pratiques React Hook Form
Developpement
Maîtrisez React Hook Form : évitez les anti-patterns, gérez les abonnements, et traitez correctement reset, dirty state et entrées contrôlées.
Migration Emotion vers Mantine
Developpement
Migrer les styled-components Emotion vers des composants Mantine avec style props et modules CSS. Pour convertir .styled.tsx ou supprimer les imports @emotion.
Détecteur de dérive de périmètre
Developpement
Analyse les diffs git par rapport à une intention pour détecter la dérive de périmètre, fichiers non liés et PR trop larges, puis suggère de garder, diviser ou justifier.