5.2 KiB
5.2 KiB
allowed-tools, description, argument-hint, model
| allowed-tools | description | argument-hint | model | ||||
|---|---|---|---|---|---|---|---|
|
Interroger la documentation Symfony locale pour répondre à une question | <question> | claude-sonnet-4-5-20250929 |
Interrogation de la Documentation Symfony
Répondre à une question technique sur Symfony en utilisant la documentation locale présente dans docs/symfony/.
Purpose
Fournir des réponses précises et contextualisées aux questions Symfony en s'appuyant sur la documentation officielle stockée localement, sans nécessiter d'accès web.
Variables
- QUESTION: La question technique posée par l'utilisateur
- DOCS_PATH:
docs/symfony/- Chemin vers la documentation locale - SEARCH_KEYWORDS: Mots-clés extraits de la question pour la recherche
Relevant Files
docs/symfony/- Documentation Symfony localedocs/symfony/README.md- Index de la documentation chargée
Workflow
Étape 1: Vérification de la documentation locale
- Vérifier l'existence de
docs/symfony/ - Si le répertoire n'existe pas ou est vide :
- Informer l'utilisateur
- Suggérer d'exécuter
/load:doc:symfonypour charger la documentation - Arrêter l'exécution avec message explicite
- Si la documentation existe :
- Lire
docs/symfony/README.mdpour connaître le contenu disponible - Continuer vers l'étape 2
- Lire
Étape 2: Analyse de la question
- Extraire les mots-clés principaux de QUESTION
- Identifier le contexte technique (composant, feature, concept)
- Exemples de mots-clés :
- "routing" → chercher dans routing.md, controller.md
- "doctrine" → chercher dans doctrine.md, database.md
- "form" → chercher dans forms.md, validation.md
- "security" → chercher dans security.md, authentication.md
Étape 3: Recherche dans la documentation
- Utiliser Grep pour rechercher les mots-clés dans
docs/symfony/ - Paramètres de recherche :
- Case insensitive (
-i) - Afficher le contexte (3 lignes avant/après avec
-C 3) - Limiter les résultats pertinents
- Case insensitive (
- Lire les fichiers markdown pertinents identifiés
- Si aucun résultat :
- Élargir la recherche avec des termes associés
- Suggérer des termes de recherche alternatifs
Étape 4: Analyse et synthèse
- Extraire les sections pertinentes de la documentation
- Organiser les informations par ordre de pertinence
- Identifier :
- Concept principal
- Exemples de code
- Bonnes pratiques
- Warnings et notes importantes
- Liens vers documentation connexe
Étape 5: Construction de la réponse
- Réponse structurée en format bullet points
- Inclure :
- Explication concise du concept
- Exemples de code si disponibles
- Références aux fichiers de documentation sources
- Liens internes vers sections connexes
- Format markdown enrichi avec :
- Blocs de code PHP/YAML/Twig selon contexte
- Sections info/warning si pertinent
- Liste hiérarchique pour les étapes
Étape 6: Rapport final avec timing
- Présenter la réponse formatée
- Calculer et afficher la durée totale
- Afficher le timestamp de fin
Report Format
## 📚 Réponse : [Sujet principal]
### Concept
- Explication principale
- Points clés
### Exemple de Code
[Bloc de code si disponible]
### Documentation de Référence
- 📄 `docs/symfony/[fichier].md` - [Section]
- 📄 Autres fichiers pertinents
### Voir Aussi
- Concepts connexes
- Autres commandes utiles
Error Handling
- Documentation manquante : Message clair + suggestion
/load:doc:symfony - Aucun résultat trouvé : Suggérer termes alternatifs ou reformulation
- Question trop vague : Demander précisions avec exemples
- Fichiers corrompus : Signaler et suggérer rechargement
Examples
Exemple 1 - Question simple
/symfony:doc:question "Comment créer une route ?"
Résultat attendu :
- Recherche dans routing.md, controller.md
- Exemples d'annotations/attributs PHP 8
- Exemples YAML
- Références aux fichiers sources
Exemple 2 - Question sur composant
/symfony:doc:question "Comment utiliser les formulaires avec validation ?"
Résultat attendu :
- Recherche forms.md, validation.md
- Exemples de FormType
- Contraintes de validation
- Intégration Doctrine
Exemple 3 - Question avancée
/symfony:doc:question "Quelle est la différence entre les voters et les guards ?"
Résultat attendu :
- Recherche security.md, voters.md, guard.md
- Comparaison conceptuelle
- Cas d'usage appropriés
- Exemples des deux approches
Best Practices
- Toujours vérifier la présence de la documentation avant recherche
- Privilégier la précision sur l'exhaustivité
- Citer les sources (fichiers markdown consultés)
- Fournir des exemples de code concrets
- Suggérer des commandes connexes si pertinent
- Garder les réponses concises mais complètes
- Afficher le timing au début et à la fin
- Calculer précisément la durée d'exécution
Notes
- Cette commande fonctionne 100% offline une fois la documentation chargée
- La documentation doit être rafraîchie périodiquement avec
/load:doc:symfony - Supporte toutes les versions de Symfony présentes dans
docs/symfony/ - Peut être étendue pour supporter d'autres frameworks avec le même pattern