Aller au contenu

Brancher un agent de code

Deux canaux, complémentaires : les fichiers statiques produits par aim sync, et le serveur MCP pour la recherche à la demande.

Les fichiers suffisent à obtenir l'essentiel du gain. Le MCP couvre la longue traîne et devient précieux sur les gros clients.

Les fichiers statiques

aim sync

Écrit dans le dépôt courant, selon la cible :

Agent Fichiers
Claude Code CLAUDE.md, .claude/skills/<nom>/SKILL.md
OpenCode et assimilés AGENTS.md
GitHub Copilot .github/copilot-instructions.md, .github/instructions/*.instructions.md

Pour n'en produire qu'une partie :

aim sync --targets claude-code
aim sync --targets claude-code,copilot

Le serveur MCP

aim mcp

La commande crée une clé dédiée et affiche la configuration prête à coller.

claude mcp add --transport http aim \
  https://api.prod.aim.dyneco.io/mcp \
  --header "Authorization: Bearer aimk_…"

Vérifie ensuite avec /mcp dans Claude Code : le serveur aim doit apparaître connecté, avec ses six outils.

{
  "mcpServers": {
    "aim": {
      "type": "http",
      "url": "https://api.prod.aim.dyneco.io/mcp",
      "headers": {
        "Authorization": "Bearer aimk_…"
      }
    }
  }
}

Copilot consomme les fichiers .github/instructions/ produits par aim sync. Le support MCP dépend de la version de l'extension ; si elle le gère, la même configuration HTTP s'applique.

Les six outils

Outil Quand l'agent s'en sert
conventions(client, path) Le plus utile. Avant d'écrire un fichier
search(client, query) Une pratique locale paraît incertaine
runbook(client, topic) Livrer, releaser, rollback, incident
fact(client, fact_id) Justifier une décision, remonter à la citation
context_pack(client) Démarrage sans fichier d'instructions dans le dépôt
clients() L'agent ignore sur quel client il travaille

Détail complet dans la référence des outils MCP.

Six et pas quinze

Un agent perd en précision quand on lui propose plusieurs outils voisins : il hésite au lieu d'agir. La surface est volontairement restreinte.

Pourquoi une clé plutôt que ta session Azure

Un jeton Entra expire au bout d'une heure. C'est parfait pour un humain qui lance des commandes, inutilisable pour un serveur configuré une fois pour toutes dans un agent.

Une clé d'API :

  • porte le même principal que toi : elle hérite exactement de tes accès, jamais plus ;
  • n'est affichée qu'à sa création — seule son empreinte est conservée ;
  • se révoque sans toucher à ton compte.
aim key list
aim key revoke <id>

Une clé par usage

Crée une clé par machine et par agent, avec un nom parlant. Le jour où tu perds un poste, tu révoques une clé et rien d'autre.

Faut-il les deux ?

Oui, et ils ne se recouvrent pas.

Le pack statique empêche l'agent de se tromper par défaut : il n'ira jamais demander « où placer les handlers ? », il écrira simplement au mauvais endroit si personne ne le lui a dit d'avance.

Le MCP répond aux questions que l'agent sait se poser : une procédure exacte, un terme métier, une règle sur un fichier précis.

Vérifier que ça marche

Dans une session neuve, sur un dépôt lié, demande à l'agent :

Quelles conventions s'appliquent au fichier internal/api/payment_handler.go ?

Une bonne réponse cite des règles précises du client et mentionne leurs sources. Une réponse générique signifie que ni les fichiers ni le MCP ne sont vus : vérifie que CLAUDE.md est à la racine du dépôt et que /mcp montre le serveur connecté.