Jules Tools : l'agent de codage asynchrone désormais disponible en ligne de commande

Jules Tools : l'agent de codage asynchrone désormais disponible en ligne de commande

La scène du développement logiciel voit l'émergence constante d'outils visant à optimiser les processus. Une nouveauté significative est l'introduction de Jules Tools, une interface en ligne de commande (CLI) dédiée à Jules, l'agent de codage asynchrone de Google. Cette innovation promet de transformer la manière dont les développeurs interagissent avec cet agent intelligent, en l'intégrant directement dans leur flux de travail quotidien au sein du terminal.

Qu'est-ce que Jules, l'agent de codage ?

Avant l'arrivée de son interface CLI, Jules était déjà un acteur clé pour de nombreux développeurs. Il s'agit d'un agent de codage asynchrone capable de s'intégrer directement aux dépôts existants, de comprendre le contexte complet d'un projet et d'effectuer une multitude de tâches. Parmi ses capacités, on retrouve :

  • L'écriture de tests unitaires.
  • La construction de nouvelles fonctionnalités.
  • La fourniture de journaux de modifications audio.
  • La correction de bugs.
  • La mise à jour des versions de dépendances.

Jules opère en arrière-plan, exécutant des tâches dans des machines virtuelles (VMs) distantes et se synchronisant avec vos dépôts. Lorsqu'une tâche est lancée, il déploie une VM temporaire, y effectue le travail, puis renvoie une demande de fusion (pull request). Aucune action n'est entreprise sans votre sollicitation.

Présentation de Jules Tools : L'interface en ligne de commande

Jusqu'à présent, l'interaction avec Jules se faisait principalement via une interface web. Cependant, reconnaissant que les développeurs passent la majeure partie de leur temps dans le terminal – l'environnement où ils testent, construisent, déboguent et livrent leur code – l'équipe a développé Jules Tools.

Pourquoi une CLI pour Jules ?

L'objectif principal de Jules Tools est de permettre aux développeurs de travailler avec Jules sans quitter leur flux de travail. Cette interface légère en ligne de commande offre plusieurs avantages :

  • Démarrer des tâches directement.
  • Inspecter ce que Jules est en train de faire.
  • Personnaliser l'agent selon les besoins.
  • Un contrôle plus direct et une meilleure visibilité sur l'activité de Jules.
  • Rendre Jules programmable, scriptable et personnalisable.

Jules Tools agit à la fois comme un tableau de bord et une surface de commande pour votre agent de codage, permettant d'intégrer Jules dans vos propres automatisations ou de le diriger en temps réel avec quelques commandes rapides.

Comment Jules et Jules Tools fonctionnent ensemble ?

Alors que Jules exécute déjà des tâches en arrière-plan et gère des VMs distantes, Jules Tools fournit une couche de contrôle et d'interaction supérieure. Le passage par la ligne de commande enrichit l'expérience en rendant Jules plus adaptable aux scripts et aux automatisations complexes, facilitant ainsi son intégration dans les chaînes d'outils existantes des développeurs.

Installation et utilisation de Jules Tools

Mettre en œuvre Jules Tools

L'installation de Jules Tools est simplifiée et se fait via npm, le gestionnaire de paquets de Node.js :

npm install -g jules-tools

Une fois installé, l'exécution de la commande principale affiche un guide expliquant le fonctionnement. La CLI est structurée autour de commandes et d'options (flags) :

  • Les commandes indiquent à Jules quoi faire (ex : jules remote list pour lister les tâches distantes).
  • Les options (flags) permettent de personnaliser le comportement de Jules (ex : un flag pour changer l'interface du terminal en thème clair).

Exemples pratiques d'intégration

Grâce à sa nature scriptable, Jules Tools peut être combiné avec d'autres outils CLI pour s'adapter parfaitement au flux de travail du développeur. Voici quelques exemples concrets d'utilisation :

  • Lister tous les dépôts connectés à Jules : jules remote list --repo
  • Créer une tâche distante dans un dépôt : jules remote new --repo torvalds/linux --task "écrire des tests unitaires"
  • Assigner plusieurs tâches à partir d'un fichier TODO.md : cat TODO.md | while IFS= read -r line; do jules remote new --repo . --task "$line" done
  • Transmettre directement les problèmes GitHub à Jules : gh issue list --assignee @me --limit 1 --json title | jq -r '.[0].title' | jules remote new --repo .
  • Utiliser Gemini CLI pour analyser les problèmes GitHub et envoyer le plus fastidieux à Jules : gemini -p "quel est le problème le plus fastidieux, imprimez-le textuellement" | gh issue list --assignee @me | jules remote new --repo .

Ces exemples démontrent que Jules Tools n'est pas seulement une interface, mais un moyen d'intégrer Jules dans toutes les opérations habituelles du terminal.

L'interface interactive (TUI)

Pour les développeurs qui préfèrent des flux interactifs, Jules Tools propose également une interface utilisateur textuelle (TUI). Des commandes comme /remote offrent une vue tableau de bord des tâches, tandis que /new guide l'utilisateur pas à pas dans la création d'une tâche. Cette TUI offre le même niveau de contrôle que l'interface web, mais de manière plus rapide et plus proche de l'environnement de travail local.

La vision hybride du futur

Les créateurs de Jules Tools sont convaincus que l'avenir des outils de développement est hybride. Jules Tools s'inscrit pleinement dans cette direction :

  • Local + distant : Utiliser sa propre machine quand c'est souhaité, et déployer plusieurs VMs lorsque l'échelle l'exige.
  • Faire soi-même + délégation : Garder le contrôle direct sur le code tout en déléguant certaines tâches à Jules.

Un flag expérimental --future est même disponible pour prévisualiser ces comportements hybrides en cours d'exploration, bien qu'il ne fasse pas partie du lancement actuel.

En rendant Jules plus accessible et plus manipulable directement depuis le terminal, Jules Tools concrétise l'agent de codage, le transformant d'une entité basée dans le cloud en un compagnon réactif et tangible, juste à portée de main. Les développeurs sont encouragés à l'installer et à l'intégrer à leur propre flux pour découvrir comment Jules peut optimiser leur productivité.

Source : Developers.googleblog.com

Cet article a été rédigé avec l’assistance d’un modèle de langage (LLM).

Besoin d'un accompagnement personnalisé?

Je propose des accompagnements au forfait et en régie pour vous aider à améliorer votre visibilité en ligne.