Agent de documentation API et de tests fonctionnels
Ce projet est un ensemble d'agents travaillant ensemble pour rédiger la documentation et les tests fonctionnels d'une API.
Voici le flux de travail :
- ExtractEntrypointsAgent : lit un fichier et extrait le code de tous les points d'entrée des routes API
- pour chaque point d'entrée :
-- WalkCallStackAgent : récupère toutes les fonctions impliquées dans la route API
-- DocumentationAgent : rédiger la documentation de l'API selon le code des fonctions
-- WriteTestsAgent : lire la documentation d'une route API et lister tous les cas de tests possibles
-- pour chaque cas de test :
--- décrire ce qui serait nécessaire pour tester le cas actuel (installation, démontage, test, matchers, etc.)
--- utilisez la description du test, la documentation de l'itinéraire et les commentaires de Jest runner (le cas échéant) pour écrire le code
--- exécutez le code
--- (répétez jusqu'à ce que tous les tests réussissent)
Le WriteTestsAgent utilise une chaîne de 2 invites.
- la première invite est utilisée pour concentrer le LLM sur l'écriture des spécifications attendues pour chaque scénario de test
- la deuxième invite concentre l'attention du LLM sur l'écriture et la correction du code de test correspondant (elle analyse le message d'erreur de Jest runner pour corriger le code de manière itérative)
Exemple
Le code présent dans examples/fastify/doc et examples/fastify/tests a été généré par les agents.
Pour vous essayer, exécutez npx ts-node run.ts
et soyez patient