dv - Discourse Vibe - https://github.com/samsaffron/dv est un outil que j’ai construit et qui vous permet de travailler facilement sur plusieurs conteneurs de développement Discourse préconfigurés.
Je l’ai créé pour faciliter le travail avec les agents IA, mais au fil du temps, il fait de plus en plus de choses.
Parmi les choses qu’il peut faire :
Extraire une PR dans un conteneur
Extraire et importer du code dans un conteneur
Exécuter plusieurs instances de développement Discourse sur plusieurs ports
Exécuter un grand nombre d’agents IA dans des conteneurs
et bien plus encore
Ce week-end, j’ai créé une aide pratique pour configurer l’IA dans un conteneur de développement en cours d’exécution.
Pour exécuter ceci sur votre propre machine.
Installez Docker
Exécutez le script d’installation dans le Readme de dv (ou compilez-le avec go build)
Exécutez dv build (si vous avez suffisamment de mémoire) ou dv pull si votre mémoire est limitée. Cela vous donnera l’image de base.
Exécutez dv new some-name (dv ls pour lister les conteneurs)
Exécutez dv config ai et configurez votre LLM à l’aide du TUI
dv config ai --help pour en savoir plus sur les clés API possibles que nous recherchons
après avoir ajouté le LLM, vous aurez un environnement de développement fonctionnel entièrement configuré avec Discourse AI
Visitez localhost:4200/session/admin/become pour vous connecter en tant qu’administrateur
Parlez au robot (bot IA dans la barre latérale)
Démo vidéo :
J’ai également publié comment utiliser dv + claude code router + discourse MCP à :
Merci pour cela ! J’en sais assez pour voir que cela pourrait être très intéressant pour moi, mais il me manque quelques blocs de connaissances pour vraiment comprendre ce que cela fait exactement et comment je peux l’utiliser.
Pourriez-vous fournir un peu plus de contexte « non-développeur » ? (Je suis un bricoleur : je ne sais jamais trop comment décrire mes compétences dans ce domaine… je ne suis pas du tout à l’aise avec le codage, mais je « comprends » assez de principes de base pour avoir réussi à écrire, avec difficulté, quelques plugins WordPress de base par le passé. Je connais un peu la ligne de commande, je comprends le codage simple et l’administration serveur… Ce que je vois de l’IA me fait rêver à l’idée que je pourrai enfin me rapprocher de la capacité à réaliser certains de mes projets !)
Exécuter plusieurs instances de Discourse Dev sur plusieurs ports
Cela semble génial, Sam. Je ne l’ai pas encore installé. J’ai beaucoup de mal à faire fonctionner plusieurs instances de Discourse avec Docker sur un serveur Ubuntu. J’utilise Caddy comme proxy inverse.
Je pense que mon objectif principal serait de tenter de refléter une instance Discourse en production dans un environnement de développement pour travailler sur des éléments personnalisés avant de les déployer en production. De préférence sur un nom de domaine différent.
Faut-il d’abord installer cet outil, puis installer de nouvelles instances de Discourse et les configurer, ou peut-il être installé pour fonctionner avec des installations existantes, puis ajouter d’autres instances ? Je ne suis pas sûr que Caddy soit le meilleur choix pour la gestion DNS avec cette configuration, ou s’il existe une meilleure alternative.
dv tente d’être un outil de bout en bout. Il gère le proxy et tout le reste ; par exemple, je conserve mes instances sur XYZ.home.arpa.
Vous configurez plusieurs conteneurs avec dv et utilisez dv catchup pour les mettre à jour vers la dernière version, ce qui prend en charge la mise à jour des plugins et du cœur.
Au final, tout repose sur des conteneurs Docker que vous pouvez façonner comme bon vous semble, y compris pour importer des données, exécuter des commandes personnalisées, etc.
C’est avant tout un environnement conçu « pour les développeurs et concepteurs en priorité ». Vous pourriez exécuter dv build → dv new something → dv ra codex et naviguer ainsi, mais l’objectif n’est pas de démocratiser l’ingénierie. Il s’agit plutôt de créer de nombreux pods de développement isolés sur votre machine, en tant que fonctionnalité avancée pour les ingénieurs et concepteurs.
Merci, c’est clair. Si c’est pour des gens qui veulent pouvoir jongler avec plusieurs environnements de développement, alors ce n’est vraiment pas pour moi (je me demande encore si je devrais en configurer un seul )