Premiers pas avec l'IDE Antigravity

1. Introduction

Antigravity est une plate-forme de développement agentique conçue pour aider tout le monde à créer des applications à l'ère agentique. Il se compose de quatre produits principaux : Antigravity, Antigravity IDE, Antigravity CLI et Antigravity SDK.

Dans cet atelier de programmation, nous nous concentrerons uniquement sur l'IDE Antigravity pour les développeurs.

Points abordés

  • Comprendre la plate-forme Antigravity
  • Installez l'IDE Antigravity.
  • Découvrez l'éditeur et le panneau d'agent Antigravity.
  • Commandes à barre oblique
  • Personnalisations, serveurs MCP et compétences.

Prérequis

L'IDE Antigravity doit être installé localement sur votre système (Mac, Windows et certaines distributions Linux). Vous aurez également besoin des éléments suivants :

  • Navigateur Web Chrome.
  • Un compte Gmail (compte Gmail personnel).

Problèmes concernant les rapports

À mesure que vous progressez dans l'atelier de programmation et avec Antigravity, vous pouvez rencontrer des problèmes.

Pour les problèmes liés à l'atelier de programmation (fautes de frappe, instructions incorrectes), veuillez ouvrir un bug à l'aide du bouton Report a mistake en bas à gauche de cet atelier de programmation :

e7d8a6055a16a773.png

Pour les bugs ou les demandes de fonctionnalités liés à Antigravity, veuillez signaler le problème dans Antigravity. Pour nous faire part de vos commentaires sur le produit, cliquez sur "Paramètres" en bas à gauche du produit Antigravity. Sélectionnez ensuite l'option Provide Feedback.

2. Plate-forme Antigravity

Avant de nous concentrer sur l'IDE Antigravity, commençons par comprendre la plate-forme Antigravity.

Antigravity se compose de quatre produits distincts :

  • Antigravity : application autonome phare et centre de commande pour gérer plusieurs agents locaux en parallèle.
  • Antigravity IDE : IDE agentique complet pour les développeurs.
  • Antigravity CLI : interface de ligne de commande pour les interactions avec les agents basées sur le terminal.
  • SDK Antigravity : outils permettant aux développeurs d'intégrer Antigravity de manière programmatique dans leurs propres systèmes.

Bien que tous les produits donnent accès aux mêmes agents Antigravity sous-jacents, le niveau d'interaction est différent.

Dans Antigravity, vous travaillez à un niveau supérieur avec les agents. Dans vos conversations avec l'agent, vous lui expliquez ce que vous souhaitez qu'il crée et vous le laissez gérer le code. Vous pouvez voir le code généré, mais vous ne le modifiez pas nécessairement vous-même.

Dans l'IDE Antigravity, vous êtes à un niveau de programmation inférieur. Vous pouvez toujours parler à l'agent via le panneau d'agent, mais vous bénéficiez également d'une vue complète du code et de l'aide de l'agent lorsque vous générez et modifiez du code.

Dans Antigravity CLI, vous utilisez des agents à partir de l'interface de ligne de commande. Là encore, vous pouvez toujours parler à l'agent et lui demander de générer et de modifier du code, mais tout se passe dans le terminal.

Le choix du niveau vous appartient. En règle générale, vous commencez à créer des applications dans Antigravity à un niveau supérieur. À mesure que la complexité augmente, vous passez à l'IDE Antigravity pour le codage ou à la CLI Antigravity pour les tâches plus adaptées au terminal.

3. Installation

Si l'application Antigravity est déjà installée, mais que l'IDE Antigravity ne l'est pas encore, un bouton "Install IDE" (Installer l'IDE) devrait s'afficher en haut à droite :

a3afce2c797f070c.png

Vous pouvez cliquer sur ce bouton ou accéder directement à la page de téléchargement de l'IDE Antigravity pour télécharger et installer l'IDE Antigravity pour votre système d'exploitation (macOS, Windows, Linux).

Une fois l'installation terminée, un écran de bienvenue devrait s'afficher :

a7bda49c67b4d971.png

Connectez-vous avec votre compte Google et poursuivez l'installation en choisissant votre thème.

À un moment donné, vous serez invité à indiquer comment vous souhaitez utiliser l'agent Antigravity IDE. Sur cet écran, vous pouvez ajuster la règle d'exécution du terminal, la règle d'examen et la règle d'exécution JavaScript pour l'agent. Pour l'instant, choisissez Review-driven development (Développement après examen).

923299763a029330.png

Sur l'écran suivant, vous pouvez configurer les extensions et l'outil de ligne de commande agy-ide. Nous vous recommandons de n'installer que les extensions dont vous avez besoin.

c4e8005b3042b401.png

L'IDE Antigravity est également fourni avec des plug-ins, des collections de compétences et des MCP pour aider les agents à travailler avec les produits pour les développeurs Google. Choisissez ceux qui vous semblent utiles pour votre travail :

195da4a9d7b5a075.png

Vous êtes maintenant prêt à utiliser Antigravity IDE.

4. Interface de l'IDE Antigravity

Lorsque vous démarrez Antigravity IDE pour la première fois, l'interface principale d'Antigravity IDE devrait s'afficher.

4a3bd4e0483365d9.png

Vous pouvez commencer par ouvrir un dossier local. Il est également conseillé d'ouvrir un nouveau terminal via Terminal, puis l'élément de menu New Terminal.

Vous disposez désormais de l'éditeur, du terminal et de l'agent :

d1465bea8316f991.png

Dans l'éditeur, vous bénéficiez de l'assistance de l'IA d'Antigravity lorsque vous saisissez du code. Le panneau de l'agent vous permet de discuter avec l'agent, de choisir différents modèles et de consulter des fichiers et des commandes. Le terminal n'est pas assisté par l'IA par défaut, mais si vous installez Antigravity CLI, vous pouvez le démarrer avec la commande agy et obtenir également une assistance de l'IA dans le terminal.

Paramètres Antigravity

Il est conseillé de consulter les paramètres Antigravity en bas à droite. Il contient les paramètres de base de l'agent :

14201a391e0d5955.png

Les paramètres avancés fournissent d'autres paramètres, tels que le mode de sécurité de l'agent :

9c2939aafa9724b5.png

Cela vous permet de spécifier la marge de manœuvre de l'agent en ce qui concerne les commandes de terminal, l'accès au système de fichiers, etc. Assurez-vous de les examiner et de choisir les paramètres qui vous conviennent pour votre projet.

5. Éditeur

Découvrons l'éditeur. Créez un fichier Python, hello.py, pour explorer les fonctionnalités de l'éditeur.

Lorsque vous saisissez du code dans hello.py dans l'éditeur, une saisie semi-automatique intelligente se déclenche. Vous pouvez l'accepter en appuyant sur la touche Tabulation :

b34cd085032c2d5f.png

Vous obtenez des suggestions d'tabulation pour passer le curseur à l'emplacement logique suivant dans le code. Par exemple, lorsque vous avez fini de saisir main(), l'éditeur vous demande de passer à la méthode main :

2dd69707af98c677.png

Vous obtenez également une suggestion dans l'onglet d'importation pour ajouter les dépendances manquantes :

5ce8b0b5b9fdfdcc.png

6. Panneau de l'agent

Le panneau latéral de l'agent se trouve à droite. Si elle n'est pas visible, vous pouvez l'afficher ou la masquer à l'aide du raccourci Cmd + L.

Vous pouvez choisir différents types de modèles, utiliser @ pour inclure plus de contexte, comme des fichiers, des répertoires, des terminaux ou des serveurs MCP, ou / pour les commandes (qui seront abordées dans une étape ultérieure).

ae98a3c19c2a8fc7.png

Le moyen le plus simple d'interagir avec l'agent est de commencer à poser des questions dans une conversation, mais il existe plusieurs façons d'interagir avec l'agent.

Si vous avez installé un linter statique (par exemple, Pylint), des erreurs de syntaxe s'affichent dans le code lorsque vous faites une erreur. Si vous pointez sur un problème dans l'éditeur et sélectionnez Explain and fix . Le panneau de l'agent s'ouvre pour vous fournir une explication et une solution possible :

db123f692200e653.png

Vous pouvez également accéder à l'onglet Problems de l'IDE et sélectionner Send to Agent pour que l'agent tente de résoudre ces problèmes :

2f95dba053a09dd5.png

Vous pouvez également sélectionner une partie de la sortie du terminal contenant une erreur et l'envoyer à la conversation de l'agent avec Cmd + L :

b1a29237e8efd11a.png

Lorsque vous discutez avec l'agent, vous voyez des icônes en haut de la fenêtre de saisie :

3b17223d6d2e7bea.png

Il s'agit de l'aperçu des modifications (pour afficher les modifications du code), du terminal (processus en arrière-plan), des artefacts et du navigateur.

7. Artefacts

Antigravity repose sur sa capacité à recueillir facilement vos commentaires à chaque étape du développement. Au fur et à mesure qu'il travaille sur une tâche, l'agent crée différents artefacts :

  • Avant de coder : un plan d'implémentation et une liste de tâches.
  • Différences de code lors de la génération de code
  • Après le codage : une procédure pas à pas pour expliquer ce qui a été fait et vérifier les résultats.

Ces artefacts permettent à Antigravity de communiquer ses plans et ses progrès. Plus important encore, ils vous permettent de fournir des commentaires à l'agent sous forme de commentaires Google Docs. Cela est très utile pour orienter efficacement l'agent dans la direction souhaitée.

Essayons de créer une application simple et voyons comment fournir des commentaires à Antigravity en cours de route.

Dans le panneau latéral de l'agent, essayez le prompt suivant :

Build a TODO list application with Python Flask, SQlite DB, and a CRUD frontend. Keep the application simple

Cela lancera l'agent pour qu'il commence à planifier et à produire un plan d'implémentation.

Plan de mise en œuvre

Un plan d'implémentation est une présentation de ce qu'Antigravity prévoit de faire, de la pile technologique qu'il utilisera et une description générale des modifications proposées.

Au bout de quelques secondes, un plan d'implémentation devrait s'afficher dans la conversation :

935372be9721a21c.png

Si le résultat vous convient, vous pouvez cliquer sur le bouton Proceed. Si vous souhaitez nous faire part de vos commentaires, vous pouvez ouvrir le plan d'implémentation et ajouter des commentaires au format Google Docs avant de l'envoyer.

Liste de tâches

Une fois le plan d'implémentation mis à jour, Antigravity crée une liste de tâches. Voici une liste concrète des étapes qu'Antigravity suivra pour créer et valider l'application. Il s'agit d'un moyen pour l'entreprise de communiquer sur ses progrès :

5eb1f122174855a8.png

Modifications de code

À ce stade, Antigravity génère du code dans de nouveaux fichiers. Vous pouvez Accept all ou Reject all ces modifications dans le panneau latéral de chat de l'agent sans avoir à examiner les détails. Vous pouvez également cliquer sur Review changes pour afficher les détails des modifications et ajouter des commentaires détaillés dans le code.

Tutoriel

Une fois le codage terminé, Antigravity démarre le serveur et peut ouvrir un navigateur pour vérifier l'application. Il effectue des tests manuels, comme l'ajout et la modification de tâches, etc. Enfin, il crée un fichier de procédure pour résumer ce qu'il a fait pour vérifier l'application. Cela peut inclure une capture d'écran ou un flux de validation avec un enregistrement du navigateur.

Vous pouvez également commenter la capture d'écran ou l'enregistrement du navigateur dans la présentation. Par exemple, nous pouvons ajouter un commentaire Change the blue theme to orange theme et l'envoyer. Une fois le commentaire envoyé, Antigravity effectue les modifications, vérifie les résultats et met à jour le tutoriel.

Annuler les modifications

Enfin, après chaque étape, si vous n'êtes pas satisfait du changement, vous pouvez l'annuler depuis le chat. Il vous suffit de sélectionner ↩️ Undo changes up to this point dans le chat.

8. Commandes à barre oblique

Des commandes à barre oblique / intégrées sont disponibles dans l'IDE Antigravity. Dans le panneau latéral de l'agent, si vous saisissez / , la liste des commandes devrait s'afficher :

c0b121133b3191ca.png

/goal indique à l'agent d'exécuter une tâche jusqu'à la fin, tandis que /schedule permet de planifier des tâches récurrentes ou ponctuelles. /grill-me est utile pour s'aligner sur un plan avec l'agent, et /learn permet d'extraire des compétences ou des règles réutilisables à partir des conversations.

Essayez ces commandes pour voir comment elles peuvent vous être utiles.

9. Personnalisations

L'IDE Antigravity propose deux options de personnalisation : Règles et Workflows.

Cliquez sur ... en haut à droite, puis sélectionnez Customizations. Vous verrez alors Rules et Workflows :

3415bdfa2f263b08.png

Les règles aident à guider le comportement de l'agent. Il s'agit de consignes que vous pouvez fournir pour vous assurer que l'agent les respecte lorsqu'il génère du code et des tests. Par exemple, vous pouvez demander à l'agent de suivre un certain style de code ou de toujours documenter les méthodes. Vous pouvez les ajouter en tant que règles, et l'agent en tiendra compte.

Les workflows sont des requêtes enregistrées que vous pouvez déclencher à la demande avec / lorsque vous interagissez avec l'agent. Elles guident également le comportement de l'agent, mais sont déclenchées par l'utilisateur à la demande.

Une bonne analogie est que les Règles ressemblent davantage à des instructions système, tandis que les workflows sont plutôt des requêtes enregistrées que vous pouvez choisir à la demande.

Les règles et les workflows peuvent être appliqués de manière globale ou par espace de travail, et enregistrés aux emplacements suivants :

  • Règle globale : ~/.gemini/GEMINI.md
  • Workflow global : ~/.gemini/config/global_workflows/<YOUR_WORKFLOW_NAME>.md
  • Règles de l'espace de travail : your-workspace/.agents/rules/
  • Workflows Workspace : your-workspace/.agents/workflows/

Ajoutons des règles et des workflows dans l'espace de travail.

Ajouter une règle

Commençons par ajouter une règle de style de code. Accédez à Rules, puis sélectionnez le bouton +Workspace. Donnez-lui un nom tel que code-style-guide en respectant les règles de style de code suivantes :

* Make sure all the code is styled with PEP 8 style guide
* Make sure all the code is properly commented

Ensuite, ajoutons une autre règle pour nous assurer que le code est généré de manière modulaire avec des exemples dans une règle code-generation-guide :

* The main method in main.py is the entry point to showcase functionality.
* Do not generate code in the main method. Instead generate distinct functionality in a new file (eg. feature_x.py)
* Then, generate example code to show the new functionality in a new method in main.py (eg. example_feature_x) and simply call that method from the main method.

Les deux règles sont enregistrées et prêtes.

Ajouter un workflow

Définissons également un workflow pour générer des tests unitaires. Cela nous permettra de déclencher des tests unitaires une fois que nous serons satisfaits du code (plutôt que l'agent génère des tests unitaires en permanence).

Accédez à Workflows, puis sélectionnez le bouton +Workspace. Nommez-le generate-unit-tests et ajoutez les éléments suivants :

* Generate unit tests for each file and each method
* Make sure the unit tests are named similar to files but with test_ prefix

Le workflow est également prêt à être utilisé.

Essayer

Voyons maintenant les règles et les workflows en action. Créez un fichier main.py squelette dans votre espace de travail :

def main():
    pass

if __name__ == "__main__":
    main()

Accédez maintenant au panneau latéral de l'agent et demandez-lui : Implement binary search and bubble sort.

Au bout d'une ou deux minutes, vous devriez obtenir trois fichiers dans l'espace de travail : main.py, bubble_sort.py et binary_search.py. Vous remarquerez également que toutes les règles sont implémentées : le fichier principal n'est pas encombré et contient l'exemple de code, chaque fonctionnalité est implémentée dans son propre fichier, tout le code est documenté et bien structuré :

from binary_search import binary_search, binary_search_recursive
from bubble_sort import bubble_sort, bubble_sort_descending


def example_binary_search():
    """
    Demonstrate binary search algorithm with various test cases.
    """
    ...

def example_bubble_sort():
    """
    Demonstrate bubble sort algorithm with various test cases.
    """
    ...

def main():
    """
    Main entry point to showcase functionality.
    """
    example_binary_search()
    example_bubble_sort()
    print("\n" + "=" * 60)


if __name__ == "__main__":
    main()

Maintenant que nous sommes satisfaits du code, voyons si nous pouvons déclencher le workflow de génération de tests unitaires.

Accédez au chat et commencez à saisir /generate. Antigravity connaît déjà notre workflow :

1b5120e06e55e98.png

Sélectionnez generate-unit-tests, puis appuyez sur la touche Entrée. Au bout de quelques secondes, de nouveaux fichiers s'affichent dans votre espace de travail : test_binary_search.py et test_bubble_sort.py, avec un certain nombre de tests déjà implémentés.

10. Serveurs MCP

Le protocole MCP (Model Context Protocol) est devenu la norme pour aider les agents à se connecter à des systèmes externes. Ils jouent un rôle clé pour s'assurer que l'agent reste ancré dans vos données et votre intégration.

L'IDE Antigravity est compatible avec les serveurs MCP, qu'ils soient locaux ou distants. Il est également fourni avec des intégrations à plusieurs serveurs MCP qui fonctionnent avec les services Google Cloud. L'installation se fait en un clic et ne nécessite que quelques données de configuration.

Cliquez sur l'icône ... en haut à droite, puis sélectionnez MCP Servers. Une boîte de dialogue s'affiche, dans laquelle vous pouvez voir la liste des serveurs MCP :

3fed0fbf1daa6df0.png

Vous pouvez cliquer sur Cloud Run pour installer son serveur MCP, par exemple.

Si vous cliquez sur Manage MCP Servers en haut à droite, vous pouvez également consulter la configuration brute du serveur MCP dans ~/.gemini/config/mcp_config.json. Vous pouvez également ajouter d'autres serveurs MCP personnalisés dans ce fichier, puis cliquer sur le bouton d'actualisation pour les voir reconnus dans l'IDE Antigravity.

Pour utiliser les serveurs MCP configurés, vous pouvez poser à Antigravity une question qui nécessite un serveur MCP. Par exemple, vous pouvez activer le serveur cloudrun-mcp et demander à Antigravity : Build and deploy a Cloud Run service. Cela devrait inciter Antigravity à rechercher et à utiliser le serveur cloudrun-mcp pour configurer et déployer un service Cloud Run.

11. Compétences

Bien que les modèles sous-jacents d'Antigravity soient de puissants généralistes, ils ne connaissent pas le contexte spécifique de votre projet ni les normes de votre équipe. Le chargement de chaque règle ou outil dans la fenêtre de contexte de l'agent entraîne un gonflement des outils, des coûts plus élevés, une latence et une confusion.

Les skills résolvent ce problème grâce à la divulgation progressive. Une compétence est un ensemble spécialisé de connaissances qui reste dormant jusqu'à ce qu'il soit nécessaire. Il n'est chargé dans le contexte de l'agent que si votre demande spécifique correspond à la description de la compétence .

Structure et portée

Les compétences sont des packages basés sur des répertoires. Vous pouvez les définir dans deux champs d'application en fonction de vos besoins :

  • Champ d'application global (~/.gemini/config/skills/) : disponible dans tous les produits et projets Antigravity (Antigravity, IDE Antigravity, CLI Antigravity).
  • Champ d'application du projet/de l'espace de travail (<project-root>/.agents/skills/) : la compétence ne serait disponible que dans un projet spécifique.

Voici à quoi ressemble un répertoire de skills type :

my-skill/
├── SKILL.md    #(Required) metadata & instructions.
├── scripts/    # (Optional) Python or Bash scripts for execution.
├── references/ # (Optional) text, documentation, or templates.
└── assets/     # (Optional) Images or logos.

Ajoutons une compétence.

Compétence en revue de code

Il s'agit d'une compétence d'instruction uniquement, c'est-à-dire que nous n'avons besoin que de créer le fichier SKILL.md, qui contiendra les métadonnées et les instructions de la compétence. Créons une compétence qui fournit à l'agent des informations pour examiner les modifications de code afin de détecter les bugs, les problèmes de style et les bonnes pratiques.

Créez un répertoire dans le dossier du projet qui contiendra la skill :

mkdir -p .agents/skills/code-review

Créez un fichier SKILL.md dans le dossier du projet (par exemple, .agents/skills/code-review) que nous venons de créer, avec le contenu ci-dessous :

---
name: code-review
description: Reviews code changes for bugs, style issues, and best practices. Use when reviewing PRs or checking code quality.
---

# Code Review Skill

When reviewing code, follow these steps:

## Review checklist

1. **Correctness**: Does the code do what it's supposed to?
2. **Edge cases**: Are error conditions handled?
3. **Style**: Does it follow project conventions?
4. **Performance**: Are there obvious inefficiencies?

## How to provide feedback

- Be specific about what needs to change
- Explain why, not just what
- Suggest alternatives when possible

Notez que le fichier SKILL.md ci-dessus contient les métadonnées (nom et description) en haut, puis les instructions. Lorsque l'agent se charge, il ne lit que les métadonnées des compétences et ne charge les instructions complètes des compétences qu'en cas de besoin.

Validons la skill. Démarrez une nouvelle conversation avec Antigravity et demandez-lui quelles compétences sont installées. La compétence code-review devrait s'afficher :

61d2f8a77a133c46.png

Essayer

Créez un fichier nommé demo_bad_code.py avec le contenu ci-dessous :

import time

def get_user_data(users, id):
   # Find user by ID
   for u in users:
       if u['id'] == id:
            return u
   return None

def process_payments(items):
   total = 0
   for i in items:
       # Calculate tax
       tax = i['price'] * 0.1
       total = total + i['price'] + tax
       time.sleep(0.1) # Simulate slow network call
  
   return total

def run_batch():
   users = [{'id': 1, 'name': 'Alice'}, {'id': 2, 'name': 'Bob'}]
   items = [{'price': 10}, {'price': 20}, {'price': 100}]
  
   u = get_user_data(users, 3)
   print("User found: " + u['name']) # Will crash if None
  
   print("Total: " + str(process_payments(items)))

if __name__ == "__main__":
   run_batch()

Ouvrez une nouvelle conversation dans un projet spécifique d'Antigravity et saisissez le prompt suivant : review the @demo_bad_code.py file.

L'agent doit identifier la compétence code-review, charger les détails, puis effectuer l'action conformément aux instructions fournies dans le fichier code-review/SKILL.md.

Voici un exemple de résultat :

12. Conclusion

Félicitations ! Vous avez installé, configuré et exploré les principales fonctionnalités d'Antigravity IDE.

Pour en savoir plus sur la plate-forme Antigravity, consultez les ateliers de programmation et la documentation de référence suivants.

Autres ateliers de programmation

Documents de référence