Cette compétence nécessite Bun. Le script utilise bun:sqlite.
Trace la chaîne d'appels depuis un emplacement de code donné jusqu'à tous les points d'entrée qui peuvent l'atteindre.
Langages pris en charge : tout langage indexé par CodeGraph (C#, Java, Kotlin, Go, TypeScript, JavaScript, Rust, C, C++, Vue, JSX, TSX, Terraform, Helm YAML, ...)
Entrée : Un nom de symbole, un chemin de fichier ou une référence fichier:ligne. Exemples :
FindToolNameCollisionsToolsMappingExtensions.cs:145src/services/auth.ts:89CheckCertificate
Prérequis : CodeGraph doit être indexé dans ce projet (le répertoire .codegraph/ doit exister). S'il est absent, demandez à l'utilisateur d'exécuter d'abord codegraph init.
Étapes
1. Exécuter le script
Le script se trouve dans scripts/find-call-chain.ts du répertoire de base de cette compétence. Exécutez-le depuis le dossier du projet, car il cherche .codegraph/ à partir du dossier courant :
bun <répertoire-de-base-de-la-compétence>/scripts/find-call-chain.ts "<entrée>"
Affichez l'intégralité de la sortie à l'utilisateur sans modification.
2. Correspondances multiples de symboles
Si le script affiche « Multiple symbols matched », listez les candidats affichés et demandez à l'utilisateur de relancer avec une référence fichier:ligne pour celui qu'il souhaite.
3. Aucun symbole trouvé
Si le script se termine par « No symbol found » :
- Essayez des orthographes alternatives ou une référence
fichier:ligne - Vérifiez que CodeGraph est à jour :
codegraph index
Détection des nœuds terminaux (intégrée au script — aucune intervention du LLM)
Le script arrête de parcourir une branche lorsque :
| Condition | Exemples |
|---|---|
kind = route (natif CodeGraph) | Tout nœud de route d'un framework |
| Correspondance de motif de nom de langage | *Controller (C#/Java), *Activity (Kotlin), main (Go/Rust/C), *Page/*Route (TS/JS) |
| Aucun appelant trouvé | Nœud feuille dans le graphe d'appels |
| Limite de profondeur (6 sauts) | Marquée ⚠ limite de profondeur dans l'arbre |
| Cycle détecté | Marquée ⟳ cycle dans l'arbre |