Devin indexe désormais automatiquement vos dépôts et produit des wikis avec des diagrammes d’architecture, des liens vers les sources et des résumés de votre base de code.
Utilisez-le pour vous familiariser rapidement avec les parties de votre base de code que vous connaissez moins bien — consultez-le dans votre barre latérale.
Ask Devin utilisera les informations du Wiki pour mieux comprendre votre base de code et trouver le contexte pertinent.
DeepWiki sera généré automatiquement lors de la connexion des dépôts au cours de l’onboarding.
Une version gratuite de DeepWiki et d’Ask Devin, compatible avec les dépôts GitHub publics, est désormais disponible. Elle génère automatiquement des diagrammes d’architecture, de la documentation et des liens vers le code source pour vous aider à comprendre rapidement des bases de code qui vous sont encore inconnues. Vous pouvez également poser des questions complexes sur la base de code pour obtenir des réponses spécifiques, fondées sur le contexte.
Visitez deepwiki.com pour commencer à explorer des dépôts open source populaires comme React, TensorFlow, LangChain et bien d’autres. Vous pouvez également soumettre l’URL de votre propre dépôt GitHub public pour l’indexation.
Essayez DeepWiki dès maintenant →
Le fichier .devin/wiki.json vous permet de piloter le comportement par défaut de génération de wiki de Devin, ce qui est particulièrement important pour les grands dépôts qui peuvent atteindre les limites intégrées.
Si un fichier .devin/wiki.json est trouvé dans le répertoire racine de votre dépôt lors de la génération du wiki, nous utiliserons les repo_notes et pages fournis pour orienter la génération du wiki. Si pages est renseigné, nous contournerons la planification par clusters par défaut et créerons exactement les pages que vous aurez spécifiées. Cela garantit que les parties importantes de votre base de code sont documentées, même lorsque le système automatique les ignorerait autrement.
Créez un fichier .devin/wiki.json à la racine de votre dépôt avec la structure suivante :
{
"repo_notes": [
{
"content": "Ce dépôt contient les principaux composants d'interface utilisateur dans le dossier cui/, qui doivent être priorisés dans la documentation",
"author": "Team Lead"
}
],
"pages": [
{
"title": "Vue d'ensemble des composants CUI",
"purpose": "Documenter la structure du dossier cui/ et les principaux composants d'interface utilisateur",
"parent": null
},
{
"title": "Système d'authentification",
"purpose": "Documenter le flux d'authentification et les composants associés",
"parent": null
},
{
"title": "Composants de connexion",
"purpose": "Documentation détaillée des composants d'interface utilisateur liés à la connexion",
"parent": "Authentication System"
}
]
}
repo_notes (Array)
Fournit du contexte et des instructions pour aider le système de documentation à mieux comprendre votre dépôt.
- content (string, obligatoire) : contenu de la note (max. 10 000 caractères)
- author (string, facultatif) : personne ayant rédigé la note
Spécifie exactement quelles pages doivent être créées dans votre wiki.
Ce champ est optionnel. Si vous incluez uniquement repo_notes, le système générera tout de même un wiki, en utilisant vos notes pour guider la structure et l’orientation sans que vous ayez à définir chaque page.
Lorsque vous fournissez des pages, elles sont traitées comme des instructions explicites. Seules les pages que vous définissez dans le JSON seront générées, ni plus ni moins.
- title (string, requis) : le titre de la page (doit être unique et non vide)
- purpose (string, requis) : ce que cette page doit documenter
- parent (string, optionnel) : titre de la page parente pour une organisation hiérarchique
- page_notes (array, optionnel) : notes supplémentaires spécifiques à cette page
- Maximum 30 pages (80 pour la version Entreprise)
- Maximum 100 notes au total (repo_notes + l’ensemble des page_notes combinées)
- Maximum 10 000 caractères par note
- Les titres de page doivent être uniques et non vides
Exemple 1 : repo_notes pour guider la génération du wiki
Si vous préférez ne pas définir de pages spécifiques, vous pouvez fournir uniquement des repo_notes pour aider à guider la génération du wiki. Cela permet à Devin de créer automatiquement la structure de la documentation tout en prenant en compte vos priorités et vos domaines d’intérêt. C’est utile lorsque vous souhaitez une meilleure couverture et une meilleure mise en avant, sans avoir à définir explicitement chaque page vous‑même.
{
"repo_notes": [
{
"content": "Le dépôt contient trois zones principales : le dossier frontend/ avec les composants React, le dossier backend/ avec les services API, et le dossier infra/ avec les scripts de déploiement. La documentation doit mettre l'accent sur l'interaction entre ces parties et identifier la couche API backend comme priorité absolue."
}
]
}
Exemple 2 : s’assurer que certains dossiers spécifiques sont documentés
Si votre vaste dépôt contient des dossiers importants qui ne sont pas inclus dans le wiki, spécifiez-les explicitement :
{
"repo_notes": [
{
"content": "Le dossier cui/ contient des composants d'interface utilisateur critiques qui doivent être documentés. Le dossier backend/ contient la logique principale de l'API. Le dossier utils/ contient des utilitaires partagés utilisés dans l'ensemble de la base de code."
}
]
}
Exemple 3 : Gestion des composants manquants
Si vous constatez que certaines parties de votre base de code ne sont pas documentées :
{
"repo_notes": [
{
"content": "Le répertoire testing/ contient des utilitaires de test et des patterns importants que les développeurs doivent connaître. Le répertoire scripts/ contient des scripts de déploiement et de maintenance essentiels aux opérations."
}
]
}
Exemple 4 : Structure hiérarchique de la documentation
Pour les dépôts complexes, organisez les pages de manière hiérarchique :
{
"repo_notes": [
{
"content": "Il s'agit d'une application full-stack avec des composants frontend, backend et partagés distincts qui doivent être documentés séparément tout en maintenant des relations claires entre eux."
}
],
"pages": [
{
"title": "Vue d'ensemble de l'architecture",
"purpose": "Présentation générale de l'architecture de l'application et des interactions entre composants"
},
{
"title": "Frontend",
"purpose": "Structure et composants de l'application frontend",
"parent": "Vue d'ensemble de l'architecture"
},
{
"title": "Composants React",
"purpose": "Documentation détaillée des composants React, de leurs props et de leur utilisation",
"parent": "Frontend"
},
{
"title": "Gestion de l'état",
"purpose": "Gestion de l'état de l'application, incluant les stores et le flux de données",
"parent": "Frontend"
},
{
"title": "Backend",
"purpose": "Services backend, API et couche de données",
"parent": "Vue d'ensemble de l'architecture"
},
{
"title": "Points de terminaison API",
"purpose": "Documentation de l'API REST incluant les points de terminaison et les formats de requête/réponse",
"parent": "Backend"
}
]
}
1. Utiliser les Repo Notes de manière stratégique
- Apporter du contexte sur les parties les plus importantes de votre base de code
- Mentionner les dossiers ou composants spécifiques à traiter en priorité
- Expliquer les relations entre les différentes parties de votre système
2. Organiser les pages de manière logique
- Commencez par des pages de présentation générale
- Utilisez des relations parent-enfant pour créer des hiérarchies claires
- Regroupez les fonctionnalités connexes
3. Soyez précis sur l’objectif de chaque page
- Indiquez clairement ce que chaque page doit documenter
- Mentionnez les répertoires, fichiers ou concepts spécifiques à traiter
- Donnez suffisamment de détails pour que le système comprenne votre intention
4. Traiter les lacunes connues
- Si vous savez que certaines parties de votre base de code ne sont pas prises en compte, incluez-les explicitement
- Utilisez des titres descriptifs qui indiquent clairement ce qui doit être couvert
Résolution des problèmes courants
« Seuls certains dossiers sont documentés »
C’est le problème classique des gros dépôts.
Solution : Utilisez .devin/wiki.json pour spécifier explicitement quelles parties de votre base de code doivent être documentées.
Commencez par ne mettre à jour que repo_notes, puis régénérez le wiki avec ce contexte supplémentaire pour voir si le wiki mis à jour inclut les dossiers manquants. N’ajoutez le tableau pages que si nécessaire.
”Des composants importants manquent dans le wiki”
Ajoutez des pages spécifiques pour ces composants et utilisez repo_notes pour mettre en avant leur importance.
Rappel : DeepWiki générera uniquement les pages incluses dans ce tableau, donc assurez-vous que toutes les pages sont présentes, et pas seulement la page manquante.
{
"repo_notes": [
{
"content": "Le répertoire [missing-component] est critique pour l'application et doit être documenté de manière exhaustive."
}
],
"pages": [
{
"title": "Nom du composant critique",
"purpose": "Documenter le répertoire [missing-component] et ses fonctionnalités"
}
]
}
- Créez
.devin/wiki.json à la racine de votre dépôt
- Ajoutez des
repo_notes expliquant la structure de votre base de code et vos priorités
- Si nécessaire, spécifiez toutes les pages que vous souhaitez voir créées, avec des titres et des objectifs clairs
- Validez le fichier (
commit) et régénérez votre wiki
Le système va maintenant créer la documentation en suivant vos instructions explicites plutôt que de s’appuyer sur une analyse entièrement automatique, ce qui garantit une couverture plus complète et plus précise des grands dépôts.