Assistant IA
Posez des questions sur votre code en langage naturel.
Vue d'Ensemble
L'Assistant IA ArchiCore comprend votre code et peut répondre à des questions comme :
- "Comment fonctionne le système d'authentification ?"
- "Qu'est-ce qui casserait si je modifiais UserService ?"
- "Où est la logique de traitement des paiements ?"
- "Explique le flux de données pour la création de commandes"
Utiliser l'Assistant
Interface Web
- Sélectionnez un projet
- Tapez votre question dans le panneau de chat
- Obtenez une réponse avec des références au code
CLI
Tapez simplement votre question en mode interactif :
> Comment fonctionne l'authentification des utilisateurs ?
Le système d'authentification dans ce projet utilise des tokens JWT.
Voici comment ça fonctionne :
1. **Flux de Login** (src/auth/login.ts)
- L'utilisateur soumet email/mot de passe
- Identifiants validés contre la base de données
- Token JWT généré avec l'ID utilisateur
2. **Validation du Token** (src/middleware/auth.ts)
- authMiddleware() extrait le token du header
- Token vérifié avec JWT_SECRET
- Utilisateur attaché à l'objet request
3. **Gestion des Sessions** (src/services/session.ts)
- Sessions stockées dans Redis
- Expiration de 7 jours par défaut
- Support du refresh token
Fichiers clés :
- src/auth/login.ts:45-78
- src/middleware/auth.ts:12-34
- src/services/session.ts:23-56
API
curl -X POST https://api.archicore.io/api/v1/projects/:id/ask \
-H "Authorization: Bearer VOTRE_API_KEY" \
-d '{"question": "Comment fonctionne l'authentification ?"}'
Types de Questions
Questions d'Architecture
> Quelle est l'architecture globale de ce projet ?
> Comment les modules sont-ils organisés ?
> Quels design patterns sont utilisés ?
Questions de Flux de Code
> Que se passe-t-il quand un utilisateur passe une commande ?
> Comment les données circulent-elles de l'API à la base de données ?
> Trace le cycle de vie de la requête pour /api/users
Questions d'Impact
> Qu'est-ce qui casserait si je modifiais UserService ?
> Quels fichiers dépendent du module de base de données ?
> Quels tests couvrent la logique de paiement ?
Questions de Localisation
> Où est la logique d'envoi d'emails ?
> Quel fichier gère l'inscription des utilisateurs ?
> Trouve le middleware de rate limiting
Questions d'Explication
> Explique ce que fait processOrder()
> Pourquoi cette fonction utilise-t-elle la récursion ?
> Quel est le but de la couche de cache ?
Conseils pour de Meilleures Réponses
Soyez Spécifique
❌ "Comment ça fonctionne ?"
✓ "Comment fonctionne le processus d'inscription des utilisateurs ?"
Fournissez du Contexte
❌ "Pourquoi c'est lent ?"
✓ "Pourquoi la fonction getProducts() dans src/api/products.ts pourrait-elle être lente ?"
Posez des Questions de Suivi
> Comment fonctionne l'authentification ?
[Réponse sur les tokens JWT...]
> Peux-tu me montrer le code pour la validation du token ?
[Montre le code spécifique...]
> Que se passe-t-il si le token est expiré ?
[Explique le flux de refresh token...]
Support des Langues
L'assistant répond dans la même langue que votre question :
> Comment fonctionne l'authentification ?
Le système d'authentification utilise des tokens JWT...
Limitations
L'assistant IA :
- Ne connaît que le code indexé - Exécutez
/indexd'abord - Ne peut pas exécuter de code - Analyse uniquement le code statique
- Peut avoir des infos obsolètes - Ré-indexez après les modifications
- Se concentre sur votre projet - Ne discutera pas des bibliothèques externes en détail
Confidentialité
- Les questions sont traitées par des modèles IA
- Le contexte de votre code est envoyé pour analyse
- Aucun code n'est stocké de façon permanente
- Voir Politique de Confidentialité pour les détails