Passer au contenu

Pour les utilisateurs de Codex CLI

AGENTS.md dit à Codex comment travailler.
Pas ce qui s'y trouve.

AGENTS.md fixe les règles du jeu. MCP permet à Codex d'aller chercher des outils. Maguyva est le serveur MCP qui donne à Codex une carte interrogeable de votre dépôt, pour que la première modification ne soit pas une supposition sur la structure des fichiers.

Palier Free : 3 dépôts, Jusqu'à 50 000 lignes de dépôt indexées, sans carte.

AGENTS.md, c'est l'accord. MCP, c'est le canal. Maguyva, c'est la carte.

La pile en couches

Quatre idées. Chacune fait un travail.

// accord

AGENTS.md

Comment Codex doit se comporter sur ce dépôt.

// transport

MCP

Comment Codex va chercher des outils et du contexte externes.

// dépôt

Maguyva

Le serveur MCP qui renvoie des faits ancrés dans le dépôt.

// qui paie

Des espaces de travail, pas des sièges

Les agents ne paient pas de siège. Voir les tarifs

AGENTS.md est un accord de travail. Utilisez-le.

Les instructions permanentes ont leur place dans AGENTS.md. C'est le bon endroit pour :

  • Les commandes de build, test et lint que Codex doit lancer.
  • Les garde-fous « toujours faire X / ne jamais faire Y » limités à un répertoire.
  • Les conventions de nommage et préférences de refonte.
  • Des pointeurs vers les journaux de décisions et notes d'architecture canoniques.

Restez concis. Délimitez la portée. Commitez-le.

Mais AGENTS.md n'a jamais été conçu pour être un index interrogeable de chaque symbole, fichier et point d'appel de votre dépôt.

Où AGENTS.md tout seul devient statique à grande échelle

Quatre modes d'échec, un par carte.

// un accord n'est pas un index

Dire à Codex comment travailler ne lui dit pas ce qui existe. La première modification sur un paquet inconnu est une supposition sur les chemins de fichiers et les noms de fonctions. AGENTS.md ne peut pas lister chaque symbole, et vous ne le voudriez pas.

// la doc dérive du code

Un bloc AGENTS.md décrivant votre topologie de queue est juste jusqu'à ce que quelqu'un introduise un nouveau consommateur. Le code fait maintenant foi et la doc est périmée avec assurance. Codex lit la mauvaise version.

// renommer est un problème de graphe

« Qu'est-ce qui référence cette classe ? » ne trouve pas de réponse dans un fichier markdown. Codex fait soit un grep-et-prie sur le monorepo, soit vous demande de coller les points d'appel dans le chat.

// les fenêtres de contexte ne sont pas gratuites

Gaver AGENTS.md jusqu'à ce que Codex « en sache assez » consomme des tokens qui devraient financer le raisonnement. Au-delà de quelques Ko, vous échangez la qualité des réponses contre du volume de contexte statique.

Comment les trois couches s'articulent

Les utilisateurs de Codex pensent déjà selon ce schéma. La page devrait le rendre évident.

AGENTS.md

accords

comment Codex se comporte

MCP

le canal

comment il va chercher

Maguyva

faits sur le dépôt

ce qu'il voit

  • AGENTS.md comment Codex se comporte sur ce dépôt.
  • MCP comment Codex va chercher des outils et du contexte. (spécification)
  • Maguyva ce que Codex voit quand il pose une question au dépôt. Recherche sémantique, AST, par graphe et textuelle, renvoyée avec chemins de fichiers et numéros de ligne.

AGENTS.md dit à Codex comment travailler.

Maguyva donne à Codex de quoi travailler.

Trois workflows

Spécifique à Codex. Ancré dans le vrai graphe d'appels, pas dans le grep de Codex.

// workflow 01

Renommer une classe partagée, trouver toutes les dépendances d'abord

codex> renommer PaymentClient → BillingClient

graph::callers(PaymentClient)            12 références dans 7 paquets
graph::importers(src/payments/client.ts)  9 importeurs
graph::extends(PaymentClient)             2 sous-classes (RetryClient, MockClient)

 Codex propose une migration de 21 modifications avec la liste des fichiers en ligne.
[exit 0]

Codex demande à Maguyva la liste des dépendances avant de commencer à modifier. La liste de migration revient ancrée dans le vrai graphe, pas dans le souvenir de Codex.

// workflow 02

Trouver la vraie implémentation, pas le stub de test

codex> comment normalizePhoneNumber gère-t-il le E.164 ?

semantic::query("normalize phone E.164")
  src/util/phone.ts:88   normalizePhoneNumber()   ← impl réelle
  test/util/phone.spec.ts:14  jest.mock(...)      ← stub
[exit 0]

Les noms mentent. Les mocks masquent le vrai code. Maguyva classe l'implémentation réelle avant le mock de test.

// workflow 03

Vérifier le rayon d'impact avant une refonte

codex> qui appelle QueueDispatcher.publish ?

graph::callers(QueueDispatcher.publish)
  3 dans src/billing/*    1 dans src/audit/*    1 dans src/notifications/*
[exit 0]

Les points d'appel inter-paquets remontent directement. Le diff est ancré dans les vrais importeurs, pas dans le grep de Codex.

Configuration dans Codex CLI

Trois étapes. Palier Free : 3 dépôts, Jusqu'à 50 000 lignes de dépôt indexées, sans carte.

  1. // step 01

    Indexez un dépôt sur maguyva.ai

    Choisissez-en un que vous connaissez bien, pour pouvoir vérifier les réponses.

  2. // step 02

    Ajoutez Maguyva comme serveur MCP dans votre config Codex

    $ export MAGUYVA_API_KEY=mgv_xxxx
    $ codex mcp add maguyva --url https://maguyva.tools/mcp \
        --bearer-token-env-var MAGUYVA_API_KEY
    
    # equivalent ~/.codex/config.toml
    [mcp_servers.maguyva]
    url = "https://maguyva.tools/mcp"
    bearer_token_env_var = "MAGUYVA_API_KEY"
  3. // step 03

    Posez une question dont vous connaissez déjà la réponse

    Ne commencez pas par toute votre entreprise. Commencez par un dépôt et une question vérifiable.