Développement basé sur les spécifications avec la CLI Antigravity : workflows d'agent structurés avec des compétences et MCP

1. Introduction

Le vibe-coding d'un MVP est rapide, mais l'ajout de fonctionnalités en lançant plus de requêtes au hasard est la façon dont les projets échouent. Vous avez besoin d'un moyen d'intégrer de la structure et du contexte réel dans le développement assisté par l'IA. C'est là qu'intervient Antigravity CLI, un agent de codage IA qui s'exécute dans votre terminal. Seul, il peut comprendre votre base de code, exécuter des commandes et modifier des fichiers. Sa véritable puissance réside dans ce que vous y branchez :

  • Les compétences fournissent à l'agent une méthodologie et des connaissances sur le domaine. Une compétence méthodologique impose des workflows de développement structurés, tandis qu'une compétence de domaine fournit des connaissances précises sur les API afin que l'agent ne fasse pas d'hallucinations.
  • Les serveurs MCP fournissent à l'agent des connexions en direct à des systèmes externes, ce qui lui permet d'inspecter des schémas réels, d'exécuter des requêtes et de valider son travail par rapport à des données réelles au lieu de s'appuyer sur des connaissances d'entraînement obsolètes.

Les compétences déterminent comment l'agent réfléchit, tandis que MCP détermine ce que l'agent peut voir et avec quoi il peut interagir. Ensemble, ils transforment un agent de codage à usage général en un agent qui suit un workflow structuré basé sur des données réelles. Cet atelier de programmation vous explique comment combiner ces éléments, de l'installation de plug-ins à la livraison d'une fonctionnalité.

Objectifs de l'atelier

Les modèles de cet atelier de programmation (installation de compétences pour la méthodologie et les connaissances du domaine, connexion de serveurs MCP pour l'accès aux données en direct et exécution d'un cycle de développement basé sur les spécifications) s'appliquent à toutes les fonctionnalités que vous créez avec Antigravity CLI, quels que soient la langue, le framework ou les produits Google Cloud. Pour concrétiser ces modèles, vous allez travailler sur un exemple spécifique : l'ajout de l'intégration BigQuery à un tableau de bord d'analyse d'e-commerce.

L'application de démarrage est une application Web FastAPI qui lit les données de vente à partir de fichiers CSV statiques et affiche des graphiques (tendances des revenus, meilleurs produits, répartition de l'état des commandes, performances par catégorie). À la fin, l'application interroge les données en direct de BigQuery, l'entrepôt de données sans serveur de Google Cloud qui vous permet d'exécuter des requêtes SQL sur de grands ensembles de données sans gérer l'infrastructure. Plus précisément, vous vous connectez à l'ensemble de données thelook_ecommerce, ce qui vous permet d'accéder à l'intégralité du catalogue de commandes, de produits et de clients qu'un fichier CSV de 500 lignes ne peut pas fournir. Vous allez créer cette fonctionnalité entièrement à l'aide de la CLI Antigravity, guidé par les compétences et MCP.

5acdeb09cd9d5960.png

La configuration de l'agent que nous utiliserons avec la CLI Antigravity se présentera comme suit :

5e3dd8629e65e6ce.png

Points abordés

  • Utiliser Antigravity CLI dans Cloud Shell : lancer l'interface utilisateur textuelle, y naviguer et exécuter des commandes slash
  • Que sont les compétences des agents et comment le modèle de divulgation progressive (métadonnées → instructions → ressources) permet de maintenir l'efficacité du contexte
  • Trois catégories de compétences : méthodologie (superpouvoirs), efficacité (homme des cavernes) et connaissances du domaine (google/skills)
  • Qu'est-ce que MCP et comment configurer un serveur MCP distant (BigQuery MCP) pour Antigravity CLI
  • Exécuter un cycle de développement axé sur les spécifications : spécifier → planifier → implémenter
  • (Facultatif) Fonctionnement et gestion des sous-agents dans la CLI Antigravity
  • Intégrer la bibliothèque cliente Python google-cloud-bigquery à une application FastAPI
  • (Facultatif) Déployer l'application sur Cloud Run à l'aide d'Antigravity CLI avec une compétence de domaine

Prérequis

  • Un compte Google Cloud
  • Connaître les bases de Python, des API REST et des commandes de terminal

2. Configurer votre environnement

Cette étape clone le dépôt de démarrage, configure votre projet Google Cloud et active les API dont vous avez besoin.

Ouvrir Cloud Shell

Ouvrez Cloud Shell dans votre navigateur. Cloud Shell fournit un environnement préconfiguré avec tous les outils dont vous avez besoin pour cet atelier de programmation. Cliquez sur Autoriser lorsque vous y êtes invité.

Cliquez ensuite sur Afficher > Terminal pour ouvrir le terminal.Votre interface devrait ressembler à ceci :

86307fac5da2f077.png

Ce sera notre interface principale, avec l'IDE en haut et le terminal en bas.

Configurer votre répertoire de travail

Clonez le dépôt associé contenant le code de démarrage de cet atelier de programmation :

git clone https://github.com/alphinside/sdd-agy-bigquery-dashboard.git
cloudshell workspace sdd-agy-bigquery-dashboard && cd sdd-agy-bigquery-dashboard

Ce dépôt contient une application de tableau de bord e-commerce complète et fonctionnelle qui lit des fichiers CSV statiques. Tout au long de cet atelier de programmation, vous utiliserez Antigravity CLI pour ajouter l'intégration BigQuery en tant que nouvelle fonctionnalité.

800c260f0be6933c.png

Voici les fichiers et répertoires clés :

  • src/main.py : application FastAPI avec des points de terminaison d'API qui fournissent des données de tableau de bord
  • src/data_service.py : couche de données qui lit les fichiers CSV à l'aide de Pandas
  • src/templates/dashboard.html : modèle Jinja2 avec visualisations Chart.js
  • data/ : fichiers CSV statiques (orders.csv, products.csv, order_items.csv) contenant un petit sous-ensemble de données e-commerce

L'application est un tableau de bord en lecture seule simple : main.py définit les points de terminaison de l'API, data_service.py lit les fichiers CSV et renvoie des données structurées, et dashboard.html affiche ces données sous forme de graphiques. L'intégration BigQuery que vous créez remplace data_service.py par un module qui interroge les données en direct au lieu de lire des fichiers statiques.

Configurer le terminal

Créer un projet Google Cloud ( facultatif)

Pour créer un projet, vous pouvez le faire depuis l'interface utilisateur de la console Cloud en cliquant sur le sélecteur de projet en haut à gauche, puis sur New Project.

e2411959f960166b.png

OU,si vous souhaitez une méthode plus rapide, exécutez la commande suivante dans le terminal.

PROJECT_ID="sdd-agy-cli-$(openssl rand -hex 5)"
gcloud projects create "$PROJECT_ID"
echo $PROJECT_ID

Cela créera un projet Google Cloud avec un ID de projet aléatoire. La commande génère l'ID du projet. Utilisez-le comme YOUR_PROJECT_ID dans la configuration ultérieurement.

Activer le terminal

Nous devons maintenant configurer notre terminal avec le projet Google Cloud sélectionné. Exécutez la commande suivante pour lister les projets disponibles et trouver l'ID du projet que vous souhaitez sélectionner.

gcloud projects list

Une liste s'affiche. Mémorisez ou copiez l'ID du projet que vous allez utiliser.

PROJECT_ID: alvin-exploratory-2
NAME: alvin-exploratory-2
PROJECT_NUMBER: 109790610330

Exécutez maintenant la commande suivante pour créer un script permettant d'activer le terminal ( ou vous pouvez simplement créer ce fichier vous-même).

cloudshell edit configure_terminal.sh

Copiez ensuite le code suivant dans le script.

#!/bin/bash

gcloud config set project YOUR_PROJECT_ID
export GOOGLE_CLOUD_PROJECT=$(gcloud config get-value project)
echo $GOOGLE_CLOUD_PROJECT

Remplacez YOUR_PROJECT_ID par l'ID du projet. La commande précédente exporte également l'ID du projet en tant que variable d'environnement pour l'utiliser tout au long de l'atelier de programmation. Enregistrez ensuite le fichier et exécutez-le.

bash configure_terminal.sh

Vérifiez que le projet est correctement défini en examinant le texte jaune à côté de votre répertoire de travail dans l'invite du terminal Cloud Shell. L'ID de votre projet devrait s'afficher.

8205fa68a1d749d7.png

Activer les API requises

Nous allons ensuite interagir avec BigQuery, qui est lié à notre scénario d'utilisation. Activez les API Google Cloud nécessaires pour cet atelier de programmation :

gcloud services enable bigquery.googleapis.com

Cette API nous permettra d'accéder à BigQuery. Préparons maintenant notre ensemble de données initial pour le scénario de cet atelier de programmation.

3. Configurer l'ensemble de données BigQuery

Voici le scénario : votre entreprise stocke déjà des données d'e-commerce dans BigQuery (commandes, produits et articles commandés). Vous développez une application pour afficher le tableau de bord des données de commande, mais pour le moment, elle ne lit qu'un petit extrait CSV de ces données afin que vous puissiez vous concentrer sur le frontend dans un premier temps. Vous souhaitez maintenant le mettre à niveau pour interroger directement BigQuery afin d'obtenir l'ensemble de données complet.

Pour simuler cela, vous utilisez TheLook E-commerce, un ensemble de données public géré par Google qui contient des données d'e-commerce synthétiques réalistes (plus de 125 000 commandes et plus de 29 000 produits). Vous copiez les tables concernées dans l'instance BigQuery de votre propre projet afin qu'elles servent de "données de votre entreprise".

Dans Cloud Shell, nous disposons déjà de l'interface de ligne de commande bq que nous pouvons utiliser pour interagir directement avec BigQuery. Nous pouvons donc préparer directement nos données.

Créez un ensemble de données dans votre projet :

bq mk --dataset $GOOGLE_CLOUD_PROJECT:thelook_ecommerce

Copiez les trois tables de l'ensemble de données public dans votre nouvel ensemble de données :

bq cp bigquery-public-data:thelook_ecommerce.orders $GOOGLE_CLOUD_PROJECT:thelook_ecommerce.orders
bq cp bigquery-public-data:thelook_ecommerce.order_items $GOOGLE_CLOUD_PROJECT:thelook_ecommerce.order_items
bq cp bigquery-public-data:thelook_ecommerce.products $GOOGLE_CLOUD_PROJECT:thelook_ecommerce.products

Vérifiez que les tables se trouvent dans votre ensemble de données :

bq ls $GOOGLE_CLOUD_PROJECT:thelook_ecommerce

Vous devriez voir trois tables listées : orders, order_items et products.

   tableId     Type    Labels   Time Partitioning   Clustered Fields  
 ------------- ------- -------- ------------------- ------------------ 
  order_items   TABLE                                                  
  orders        TABLE                                                  
  products      TABLE

Exécutez une requête de test rapide pour vérifier que les données sont accessibles :

bq query --nouse_legacy_sql \
  "SELECT COUNT(*) as total_orders FROM \`$GOOGLE_CLOUD_PROJECT.thelook_ecommerce.orders\`"
+--------------+
| total_orders |
+--------------+
|       125957 |
+--------------+

Vous devriez voir un nombre de commandes supérieur à 100 000.

4. Exécuter l'application Web initiale

Avant de mettre à niveau l'application, exécutons-la dans son état actuel pour voir à quoi ressemble le tableau de bord basé sur les fichiers CSV.

uv est un gestionnaire de packages et de projets Python rapide écrit en Rust ( documentation). Cet atelier de programmation l'utilise pour des raisons de rapidité et de simplicité. Si vous utilisez Cloud Shell pour ce tutoriel, il est déjà préinstallé dans l'instance. Consultez ce tutoriel si vous souhaitez l'installer pour votre

Installez les dépendances du projet, ce qui préparera également l'environnement virtuel pour vous :

uv sync

Ensuite, si vous connaissez Python, au lieu d'exécuter une commande python, nous exécuterons chaque commande avec le binaire uv. Lancez le serveur de développement FastAPI :

uv run uvicorn src.main:app --host 0.0.0.0 --port 8080

Ouvrez le tableau de bord dans votre navigateur à l'aide de la fonctionnalité Aperçu sur le Web de Cloud Shell. Cliquez sur le bouton Aperçu sur le Web (icône en forme d'œil dans la barre d'outils Cloud Shell), puis sélectionnez Prévisualiser sur le port 8080.

53758c68d6505e7a.png

Le tableau de bord affiche quatre panneaux de graphiques :

  • Tendance des revenus : graphique en courbes indiquant les revenus quotidiens au cours de la période spécifiée dans les données CSV
  • Principaux produits par revenu : graphique à barres horizontales classant les produits par ventes totales
  • Répartition de l'état des commandes : graphique en anneau montrant la répartition des commandes "Terminées", "Expédiées", "En cours de traitement", "Annulées" et "Retournées"
  • Performances par catégorie : graphique à barres horizontales indiquant les revenus par catégorie de produits

Notez le badge Source de données : CSV dans l'en-tête. Les fiches récapitulatives affichent les totaux calculés à partir de 500 commandes et d'environ 750 articles de commande, ce qui représente un petit sous-ensemble de l'ensemble de données TheLook complet. La période est limitée à octobre-décembre 2023.

Il s'agit de notre application de référence. Nous allons maintenant la mettre à niveau pour l'intégrer à BigQuery à l'aide de l'interface de ligne de commande Antigravity.

5. Configurer la CLI Antigravity

Cette étape présente Antigravity CLI, explique l'interface utilisateur du terminal et installe trois catégories de plug-ins pour améliorer notre workflow de développement. Vous découvrirez ce que sont les compétences agentiques et le MCP, et comment ils étendent les capacités d'un agent de codage IA.

Qu'est-ce que la CLI Antigravity ?

Antigravity CLI est une variante de l'agent de codage IA de Google : Antigravity pour le terminal. Il s'agit d'une interface utilisateur de terminal (TUI) légère, conçue en Go, qui se connecte au même harnais d'agent que celui de l'application de bureau Antigravity 2.0. Il lit votre base de code, exécute des commandes, modifie des fichiers et se connecte à des outils externes via MCP, le tout depuis le terminal.

Si vous utilisez Cloud Shell pour ce tutoriel, l'interface de ligne de commande Antigravity est déjà préinstallée. Pour le vérifier, exécutez la commande suivante :

agy --help

Les détails des options de commande suivantes s'affichent :

Usage of agy:
  --add-dir                       Add a directory to the workspace (repeatable) (default [])
  -c                              Short alias for --continue
  --continue                      Continue the most recent conversation
  --conversation                  Resume a previous conversation by ID
  --dangerously-skip-permissions  Auto-approve all tool permission requests without prompting
  -i                              Short alias for --prompt-interactive
  --log-file                      Override CLI log file path
  --model                         Model for the current CLI session
  --new-project                   Create a new project for this session
  -p                              Short alias for --print
  --print                         Run a single prompt non-interactively and print the response
  --print-timeout                 Timeout for print mode wait (default 5m0s)
  --project                       Project ID for the current CLI session
  --prompt                        Alias for --print
  --prompt-interactive            Run an initial prompt interactively and continue the session
  --sandbox                       Run in a sandbox with terminal restrictions enabled

Available subcommands:
  changelog       Show changelog and release notes
  help            Show help for subcommands
  install         Configure environment paths and shell settings
  models          List available models
  plugin          Manage plugins (install, uninstall, list, enable, disable)
  plugins         Alias for plugin
  update          Update CLI

Lancer la CLI Antigravity

Nous devons maintenant configurer l'interface de ligne de commande Antigravity si vous l'utilisez pour la première fois. Dans le nouvel onglet du terminal, lancez-le.

agy

Si vous l'exécutez pour la première fois, vous serez invité à sélectionner la méthode d'authentification.

5606b640b9bed9c3.png

Pour ce tutoriel, utilisons Google OAuth. Vous serez invité à ouvrir une URL et à sélectionner le compte Google que vous utiliserez pour vous connecter.

e42183f1ccc5771a.png

Après avoir cliqué sur "Authentifier", sélectionnez le compte Google, puis cliquez sur Sign In.

572b1d06151b55fa.png

Une chaîne à copier s'affiche. Cliquez sur Copy to Clipboard pour la copier.

590d375c71f62a0e.png

Collez-le ensuite dans l'invite de commande Antigravity CLI, comme indiqué ci-dessous.

a807ff24fbf278b4.png

Vous serez ensuite invité à sélectionner un thème de couleurs et à accepter les conditions d'utilisation.

3a7cd90438c94f5c.png

Vous serez également invité à faire confiance au répertoire de l'espace de travail actuel. Acceptez-le et nous pourrons continuer. Il s'agit de l'entrée principale pour notre interaction avec la CLI Antigravity dans le terminal.

9e1e03543e8063c.png

Pour l'instant, quittons l'interface de ligne de commande Antigravity et passons à la section suivante.

6. Personnalisation : compétences de l'agent

La CLI Antigravity est prête à l'emploi. Elle peut lire votre code, exécuter des commandes shell et modifier des fichiers. Elle dispose d'un workflow de développement limité basé sur les spécifications et sa connaissance des API spécifiques est limitée à ce qui se trouve dans ses données d'entraînement. Pour une tâche comme l'intégration de BigQuery dans une application existante, deux lacunes apparaissent :

  1. Manque de processus : sans structure, l'interface de ligne de commande Antigravity peut passer directement à l'écriture de code. Pas de problème pour les petites corrections. Pour une fonctionnalité qui touche plusieurs fichiers et points de terminaison, vous vous retrouvez avec des implémentations incohérentes, des cas extrêmes manquants et aucune documentation sur ce qui a été décidé ni pourquoi.
  2. Lacunes dans les connaissances : les données d'entraînement de modèle peuvent inclure des schémas de bibliothèque cliente BigQuery obsolètes, des appels d'API obsolètes ou des schémas de table incorrects. Il n'a aucun moyen de vérifier à quoi ressemble le jeu de données actuel.

Les compétences comblent le manque de processus. Une compétence de méthodologie de développement telle que superpowers impose un cycle de spécification, de planification et d'implémentation : l'agent n'écrit pas de code tant que vous n'avez pas approuvé une spécification. Une compétence de domaine telle que bigquery-basics fournit une documentation d'API actuelle et gérée par Google afin que l'agent utilise les modèles de bibliothèque cliente appropriés.

Les serveurs MCP comblent le manque de connaissances au moment de l'exécution. BigQuery MCP offre à l'agent une connexion directe à votre ensemble de données réel. Il peut lister les tables, inspecter les types de colonnes et exécuter des exemples de requêtes. L'agent fonctionne à partir de données de schéma réelles, et non de suppositions.

Examinons ces deux

Compétences agentiques

Les compétences agentiques sont un format ouvert et léger qui permet d'étendre les capacités des agents IA avec des connaissances et des workflows spécialisés. Chaque compétence est un répertoire portable et contrôlé par version avec un fichier SKILL.md, un contrat lisible par machine qui définit la façon dont l'agent gère une tâche spécifique.

Voici à quoi ressemble un répertoire de skills :

skills/<skill-name>/
├── SKILL.md          # Required: YAML frontmatter + workflow instructions
├── scripts/          # Optional: helper scripts
├── references/       # Optional: reference implementations
├── assets/           # Optional: templates or assets
└── ...                # Any additional files or directories

Une compétence est un dossier contenant un fichier SKILL.md. Ce fichier inclut des métadonnées (nom et description, au minimum) et des instructions indiquant à un agent comment effectuer une tâche spécifique. Les compétences peuvent également regrouper des scripts, des documents de référence, des modèles et d'autres ressources.

Voici le fichier SKILL.md de la compétence bigquery-basics que vous utiliserez plus tard dans cet atelier de programmation :

---
name: bigquery-basics
metadata:
  category: BigDataAndAnalytics
description: >-
  Manages datasets, tables, and jobs in BigQuery. Use when you need to interact
  with BigQuery, run SQL queries, manage BigQuery resources (datasets, tables,
  views), or perform basic data ingestion and analysis.
---

# BigQuery Basics

[Detailed instructions about BigQuery APIs, SQL patterns,
 client library usage, data ingestion patterns, etc.]

Le frontmatter YAML (nom, description et métadonnées) est ce que l'interface de ligne de commande Antigravity charge au démarrage. Il s'agit de métadonnées légères. Le corps Markdown sous --- correspond à l'ensemble complet d'instructions, qui n'est chargé que lorsqu'Antigravity détecte une tâche liée à BigQuery.

Dévoilement progressif

Les compétences utilisent un modèle de divulgation progressive à trois niveaux qui empêche la saturation de la fenêtre de contexte :

  1. Couche 1 (découverte) : au démarrage, Antigravity ne lit que les métadonnées YAML de chaque compétence installée. Il sait que la compétence existe, mais rien de plus.
  2. Niveau 2 (activation) : lorsque votre tâche correspond à la description d'une compétence, AGY lit l'intégralité de SKILL.md dans son contexte actif. Il sait maintenant quoi faire.
  3. Couche 3 (exécution) : si nécessaire, Antigravity accède aux scripts, aux exemples ou aux ressources de la compétence. Il sait désormais comment faire.

Seules les connaissances pertinentes sont chargées au bon moment. Une compétence pour le déploiement Cloud Run ne consomme pas de contexte lorsque vous travaillez sur une requête BigQuery, par exemple.

Trois catégories de compétences

Il existe de nombreux types de compétences d'agent. Dans cet atelier de programmation, nous utiliserons trois compétences, chacune représentant une catégorie différente :

Catégorie

Compétences

Purpose

Connaissances du domaine

google/skills

Ce que l'agent sait sur les technologies spécifiques

Méthodologie

obra/superpowers

Comment développer : applique le développement piloté par les spécifications, la planification et les tests

Efficacité

JuliusBrussee/caveman

Efficacité de l'utilisation des jetons

google/skills fournit des compétences d'agent first party gérées par Google pour les produits Google. Par exemple, il fournit à l'agent des connaissances précises et à jour sur les API BigQuery, les modèles de déploiement Cloud Run et d'autres services. Sans compétences de domaine, l'agent s'appuie sur des données d'entraînement qui peuvent être obsolètes ou incomplètes. Les compétences de domaine remplacent les devinettes par une documentation à jour.

obra/superpowers est une implémentation directive d'un workflow de développement axé sur les spécifications (SDD, Specification-Driven Development). Sans framework SDD, les agents passent directement au code lorsque vous décrivez une fonctionnalité. Cela fonctionne pour les petites corrections, mais produit des résultats incohérents et difficiles à maintenir pour les tâches plus importantes. La conception axée sur les données impose un cycle structuré : clarifier les exigences → rédiger une spécification → générer un plan → implémenter selon la spécification. Chaque étape produit un artefact pouvant être examiné. L'agent ne commencera à coder que lorsque vous aurez approuvé la spécification. Il existe d'autres frameworks SDD, tels que spec-kit, agent-skills et d'autres, chacun ayant une opinion différente sur le cycle spécifier-planifier-implémenter. Cet atelier de programmation utilise les superpouvoirs comme exemple concret. La discipline sous-jacente (spécifier et planifier avant de coder) s'applique quel que soit le framework choisi.

JuliusBrussee/caveman compresse les résultats de l'agent jusqu'à 75%. Il supprime les mots de remplissage, les formules de politesse et les explications trop détaillées, tout en conservant la substance technique. Moins de jetons par réponse signifie des échanges plus productifs par session et des réponses plus rapides. Activez-le avec /caveman ou en demandant à l'agent de parler efficacement. Elle se désactive automatiquement pour les avertissements de sécurité et les actions irréversibles.

Installation des compétences agentiques

Installation de Google Skills

Commençons par installer les compétences Google nécessaires avec lesquelles nous allons interagir. Dans ce tutoriel, les principales piles technologiques que nous aborderons sont BigQuery et Cloud Run. Installons ces compétences. Nous allons utiliser la commande npx skills pour installer

npx skills add google/skills

Une interface utilisateur de terminal interactif s'ouvre. Elle propose de nombreuses compétences. Utilisez les touches fléchées et la barre d'espace pour sélectionner les compétences dont vous avez besoin pour cet atelier de programmation.

8b6b0deb5fe07dfd.png

Recherchez bigquery-basics et cloud-run-basics, puis cliquez sur Espace pour les sélectionner. La case doit être grisée comme indiqué ci-dessous.

4fa62a7341444be5.png

Ensuite, sur la page de sélection des agents, cliquez simplement sur Entrée pour ignorer la sélection, car l'interface CLI Antigravity est déjà incluse par défaut.

c16e7ed1be8ad91b.png

Sélectionnons le champ d'installation Project (Projet). Les compétences seront installées dans le répertoire .agents de notre répertoire de travail.

6c84cee31651dffc.png

Enfin, cliquez sur Entrée pour répondre Oui et terminer l'installation. Si vous avez configuré de nombreuses skills, vous pouvez également répondre Oui pour installer la skill find-skills.

4709e3a1ad34a27d.png

Installation de skills tiers en tant que plug-ins

Ensuite, nous allons installer les compétences obra/superpowers et JuliusBrussee/caveman. Ces compétences peuvent être installées en tant que plug-ins Antigravity CLI. Vous pouvez donc les installer à l'aide de ces commandes.

agy plugin install https://github.com/obra/superpowers
agy plugin install https://github.com/JuliusBrussee/caveman

Nous pouvons ensuite vérifier l'installation à l'aide de la commande suivante :

agy plugin list

Les résultats suivants s'affichent :

{
  "imports": [
    {
      "name": "superpowers",
      "source": "gemini-cli",
      "importedAt": "2026-07-06T01:50:36Z",
      "components": [
        "skills",
        "hooks"
      ]
    },
    {
      "name": "caveman",
      "source": "gemini-cli",
      "importedAt": "2026-07-06T01:50:37Z",
      "components": [
        "skills",
        "agents",
        "commands"
      ]
    }
  ]
}

Cela a finalisé la configuration de nos compétences. Passons à la suivante.

7. Personnalisation : outils MCP

e7b9be2e1c98b4db.png

MCP (Model Context Protocol) est un protocole ouvert qui standardise la façon dont les agents d'IA découvrent les outils externes et interagissent avec eux. Il définit un modèle client-serveur : l'agent héberge un client MCP et les outils sont exposés par les serveurs MCP. N'importe quel client compatible avec MCP peut utiliser n'importe quel serveur compatible avec MCP. L'agent n'a pas besoin de code d'intégration personnalisé pour chaque outil.

MCP utilise une architecture client-serveur :

  • Hôte : application dans laquelle réside le modèle d'IA (CLI Antigravity dans ce cas)
  • Client : composant de l'hôte qui gère la communication MCP (intégré à la CLI Antigravity)
  • Serveur : programme léger qui expose des fonctionnalités à l'IA ( dans notre cas, nous utiliserons le serveur MCP BigQuery géré par Google Cloud).

Lorsque l'interface de ligne de commande Antigravity exécutera le workflow SDD plus loin dans cet atelier de programmation, elle aura besoin d'informations précises sur le schéma de l'ensemble de données BigQuery (noms de tables, types de colonnes, relations). BigQuery MCP permet à l'interface de ligne de commande Antigravity d'inspecter directement le schéma actif. Cela permet de générer des spécifications et du code qui font référence à des tables et des colonnes réelles, et non à des tables et des colonnes imaginaires.

Configuration MCP gérée de BigQuery

Google héberge un serveur MCP BigQuery géré sur l'infrastructure Google Cloud. Aucune configuration locale n'est requise ( vous pouvez consulter les autres produits Google Cloud compatibles dans cette documentation). Configurez la CLI Antigravity pour qu'elle s'y connecte en créant le fichier de configuration MCP dans le répertoire de votre projet :

mkdir -p .agents
cat > .agents/mcp_config.json << EOF
{
  "mcpServers": {
    "bigquery": {
      "serverUrl": "https://bigquery.googleapis.com/mcp",
      "transport": "http",
      "authProviderType": "google_credentials"
    }
  }
}
EOF

Cette configuration indique à AGY d'effectuer les opérations suivantes :

  • Où trouver le serveur MCP BigQuery (serverUrl)
  • Pour utiliser les identifiants Google pour l'authentification (authProviderType)

La configuration se trouve au niveau de l'espace de travail (.agents/mcp_config.json).

Nous pouvons vérifier la configuration depuis l'interface de ligne de commande Antigravity. Exécutons-la d'abord.

agy

Vérifiez ensuite la configuration en exécutant la commande à barre oblique /mcp.

/mcp

Vous devriez voir quelque chose comme ceci :

a7ef228bfcbb5280.png

Appuyez ensuite sur Esc pour quitter l'interaction avec la commande à barre oblique.

Quittez la CLI Antigravity (appuyez deux fois sur Ctrl+D) pour le moment.

8. Développement de fonctionnalités avec le développement basé sur les spécifications

Une fois les compétences/plug-ins installés et le MCP BigQuery connecté, vous pouvez utiliser le workflow de développement basé sur les spécifications pour spécifier formellement la fonctionnalité d'intégration BigQuery. C'est à cette étape que l'expression "spécifier avant de coder" devient concrète.

Assurez-vous de saisir la CLI Antigravity. Pour cette démonstration, nous autoriserons l'exécution de tous les outils avec ce flag.

agy --dangerously-skip-permissions

Activer le mode homme des cavernes

Avant de commencer le cycle SDD, activez le mode "homme des cavernes" pour que l'utilisation des jetons reste efficace tout au long du workflow en plusieurs étapes :

/caveman:caveman

Les réponses de l'interface de ligne de commande Antigravity deviennent laconiques, en supprimant les mots de remplissage et les formules de politesse, tout en conservant la substance technique. Moins de jetons par échange signifie des conversations plus productives dans la même limite.

8e6965ae2207147e.png

Démarrer la spécification SDD

Invitez la CLI Antigravity à répondre à la demande de fonctionnalité :

I want to add a BigQuery integration feature to this e-commerce dashboard app. Currently it reads
from CSV files in the data/ directory. I want to replace the CSV reads with live queries
against the thelook_ecommerce dataset in my BigQuery project using the
google-cloud-bigquery Python client library.

The dashboard should show the same panels (revenue trend, top products, order status,
category performance) but with the full dataset instead of the 500-row CSV subset.

Follow spec-driven-development for development workflow, ensure spec and plan docs created following the superpowers standard in current working directory; also use Bigquery MCP to figure out the data schema.

La compétence Super pouvoirs s'active automatiquement lorsqu'elle détecte une demande au niveau d'une fonctionnalité. AGY entre dans le cycle SDD au lieu de passer directement au code.

L'interface de ligne de commande Antigravity lancera le processus pour comprendre le projet actuel et recueillir le contexte requis. Vous verrez la commande ListDir et Read s'exécuter, comme indiqué ci-dessous.

3102949f929df967.png

Il utilisera également la connexion BigQuery MCP que nous avons configurée précédemment pour trouver le schéma de l'ensemble de données.

7fbc061a07058d24.png

Cela garantit que l'interface de ligne de commande Antigravity dispose du contexte approprié avant de commencer le développement.

Précisions sur les exigences

Antigravity CLI peut poser des questions ciblées sur le champ d'application de la fonctionnalité. Voici quelques exemples de questions typiques :

  • Comment configurer l'ID du projet ?
  • Comment le graphique "Tendance des revenus" doit-il être agrégé et affiché ?
  • Comment aborder l'intégration ? SQL direct vs Pandas local

Vous pouvez répondre à ces questions en suivant les recommandations de l'agent.

91fb44a131f927e9.png4d5e5ffbc81644a5.png

Consulter les spécifications

Après avoir obtenu des éclaircissements, il produira un document de spécifications formel. Si vous suivez correctement les instructions, vous respecterez la convention de compétence obra/superpowers, qui consiste à créer un document de spécifications dans le répertoire docs/superpowers/specs, comme indiqué ci-dessous.

86e0a2f86a956497.png

Le document de spécification doit ressembler à ceci :

# BigQuery Integration Design Specification

## Overview

This document specifies ...

## Architecture

The application currently reads ...

## Data Schema & Sources

All tables reside in the BigQuery ...

...

Après avoir examiné ces informations, nous devons confirmer les spécifications pour passer à la phase de planification.

74cde3e9b4c95b88.png

proceed with the specs

Phase de planification et exécution des sous-agents

Une fois que vous avez approuvé la spécification, l'interface de ligne de commande Antigravity la décompose en un plan d'implémentation qui sera écrit dans le répertoire docs/superpowers/plans.

727b92a4eca89106.png

Les documents du forfait listent plusieurs éléments, comme dans l'exemple ci-dessous :

  • Fichiers à modifier
  • Fichiers à créer/mettre à jour
  • Modifications de la dépendance
  • Découpage des tâches

Il recommandera également d'utiliser subagent driven development, qui est compatible avec Antigravity CLI. Au lieu d'un seul agent effectuant tout séquentiellement, Antiravity CLI peut déléguer des tâches à des sous-agents spécialisés. Lors de l'implémentation, vous pouvez voir des sous-agents tels que :

  • Implémenteur de tâches : écrit le code pour une tâche spécifique du plan.
  • Relecteur de tâches : examine le code implémenté par rapport à la spécification
  • Relecteur final du code : effectue une révision globale de toutes les modifications avant la finalisation.

751df4f6d964e42b.png

Si vous recevez une invite de ce type, répondez comme suit :

Use subagent driven development

Nous verrons plus tard que les sous-agents sont chargés de sélectionner les tâches une par une.

fb4a986dbceaec96.pngb2e74e769f9ff4bf.png620d12e9056f621b.png

Au bout d'un moment, le développement sera terminé ( probablement après la génération de l'agent Final Code Reviewer). Nous pouvons ensuite inspecter le résultat.

Mise à jour de l'examen manuel des applications

Une fois toutes les tâches terminées, nous pouvons vérifier l'application mise à jour. Quittez l'interface de ligne de commande Antigravity en appuyant deux fois sur Ctrl+D, puis exécutez la commande suivante.

bash configure_terminal.sh && uv run uvicorn src.main:app --host 0.0.0.0 --port 8080

Si le développement est réussi, vous devriez maintenant voir Total Orders affiché avec plus de 120 000 commandes et intégré à BigQuery.

20398466e2d8a70f.png

Félicitations ! Vous avez réussi à intégrer BigQuery à votre application Web grâce à l'aide complète de la CLI Antigravity.

9. (Facultatif) Déployer sur Cloud Run avec Antigravity CLI

Le tableau de bord fonctionne localement via l'aperçu Web de Cloud Shell. Cette étape facultative permet de déployer l'application sur Cloud Run en tant que service Web accessible publiquement. Elle montre comment les compétences de domaine de l'interface de ligne de commande Antigravity s'étendent du développement aux opérations.

La compétence cloud-run-basics (du plug-in google/skills que vous avez installé précédemment) fournit à l'interface de ligne de commande Antigravity des informations sur les modèles de déploiement Cloud Run, les exigences Dockerfile, la liaison de ports et les indicateurs gcloud run deploy. Le déploiement basé sur la source (gcloud run deploy --source .) compile et déploie en une seule commande. Cloud Build gère automatiquement la conteneurisation.

Activer les API Cloud Run

Activez les API requises pour le déploiement :

gcloud services enable \
  run.googleapis.com \
  cloudbuild.googleapis.com \
  cloudresourcemanager.googleapis.com

Saisissez ensuite "CLI Antigravity".

agy --dangerously-skip-permissions

Inviter la CLI Antigravity à déployer

Demandons-lui de déployer nos applications.

Deploy this application to Cloud Run, name the service "bigquery-dashboard" and make it publicly accessible

Il lira la compétence cloud-run-basics pour comprendre les exigences de déploiement de l'application Web du projet en cours.

a5ef955de2d71c91.png

Une fois l'opération terminée, il vérifie que le déploiement a réussi et vous fournit un récapitulatif du processus de déploiement précédemment exécuté, comme dans l'exemple ci-dessous. Vous pouvez accéder à votre application avec l'URL fournie.

b58fb8f5f2023264.png

Vous avez maintenant déployé et rendu accessible votre application en direct à l'aide de l'interface CLI Antigravity.

10. Conclusion

Vous avez migré un tableau de bord d'e-commerce de fichiers CSV statiques vers des données BigQuery en direct, sans écrire de code d'application à la main. L'interface de ligne de commande Antigravity a géré l'implémentation grâce à un workflow de développement discipliné basé sur les spécifications, guidé par des compétences réutilisables et une connexion en direct à vos données via MCP.

Connaissances acquises

  • Utiliser Antigravity CLI dans Cloud Shell pour le développement assisté par l'IA
  • Découvrez ce que sont les compétences des agents et comment la divulgation progressive permet de maintenir l'efficacité de la fenêtre de contexte.
  • Trois catégories de compétences : méthodologie (superpouvoirs), efficacité (homme des cavernes), connaissances du domaine (google/skills)
  • Qu'est-ce que MCP et comment configurer BigQuery MCP pour accéder aux données en direct
  • Exécuter un cycle de développement axé sur les spécifications (spécifier → planifier → implémenter) au lieu du vibe coding
  • Comment la CLI Antigravity peut générer des sous-agents pour rendre le développement plus ciblé et efficace

Nettoyage

Pour éviter que les ressources créées dans cet atelier de programmation ne soient facturées sur votre compte Google Cloud, vous pouvez supprimer les ressources individuelles ou l'intégralité du projet.

Le moyen le plus simple de libérer de l'espace consiste à supprimer le projet. Toutes les ressources associées au projet sont supprimées.

gcloud projects delete $GOOGLE_CLOUD_PROJECT

Option 2 : Supprimer des ressources individuelles

Si vous souhaitez conserver le projet, mais supprimer uniquement les ressources créées dans cet atelier de programmation :

bq rm -r -f $GOOGLE_CLOUD_PROJECT:thelook_ecommerce
gcloud run services delete bigquery-dashboard --region us-central1 --quiet