Syncanix avec NestJS
Rendez une API NestJS prête pour les agents : ce que lit la découverte, comment la lancer et comment mettre en service la surface de chat et le serveur MCP.
NestJS déclare ses routes avec des décorateurs et compose les préfixes globalement. La découverte lit les deux — le préfixe de @Controller et setGlobalPrefix — même quand ils vivent dans des fichiers différents.
Ce que lit la découverte
La découverte est statique : elle lit votre code source, pas votre trafic. Elle compose les chemins de requête complets à travers les fichiers, si bien que les préfixes montés font partie de chaque route extraite :
// main.ts
app.setGlobalPrefix('api');
// orders.controller.ts
@Controller('orders')
export class OrdersController {
@Get(':id') // → GET /api/orders/:id
@Post(':id/refund') // → POST /api/orders/:id/refund
}L’extracteur combine le préfixe du contrôleur (style @Controller) avec setGlobalPrefix de main.ts — une composition inter-fichiers — si bien que chaque décorateur de handler est catalogué sous son chemin de production complet.
Lancez la découverte
Depuis la racine du dépôt, lancez la commande init. Elle détecte le framework automatiquement, demande votre consentement avant tout enrichissement par LLM et écrit un catalogue déterministe :
$ npx syncanix init
✓ detected framework
✓ scanned routes
✓ wrote .syncanix/catalog.json
→ review your capabilities in the dashboardRelisez le catalogue
Le catalogue dans .syncanix/catalog.json liste chaque capacité trouvée par la découverte : méthode, chemin et la description enrichie que verront vos utilisateurs. Relisez-le comme du code avant de l’envoyer : c’est le contrat qu’exposent votre surface de chat et votre serveur MCP.
Mettez la surface en service
Une fois le catalogue envoyé, intégrez le widget pour le chat dans votre application et connectez le serveur MCP par tenant pour Claude, ChatGPT et Cursor. Chaque action d’écriture reste soumise aux permissions, confirmée et auditée.