repo-harness
// flux d'ingénierie natif pour agents

Des sessions ancrées dans les fichiers, pas dans la mémoire du chat.

repo-harness transforme les sessions de code de Claude et Codex en un flux reproductible, local au dépôt. Confiez à l'agent un plan ou un sprint approuvé — votre boucle se résume à review et next.

COMPATIBLE AVEC Claude Codex ChatGPT Pro
Hook the robot rides Claude and Codex toward the carrot
zsh — adopt
# 1. bootstrap the runtime once
$ npx -y repo-harness init
✓ host adapters · skills · CodeGraph configured
# 2. preview, then apply the repo-local contract
$ repo-harness adopt --dry-run
✓ Migration Report — 14 surfaces ready
// pourquoi ancré dans les fichiers

Le chat oublie. Le dépôt se souvient.

Le même problème de coordination, de deux façons. repo-harness sort la source de vérité du fil de discussion pour la placer dans des fichiers que chaque agent — et chaque humain — peut lire.

Coordination par mémoire de chat
  • Le contexte se volatilise quand une session se termine ou atteint sa limite
  • Chaque session redécouvre la structure par des boucles grep-et-lecture
  • Aucune trace durable de ce qui a été décidé, ni pourquoi
  • Claude et Codex se désynchronisent au fil des conversations
  • Réviser, c’est relire toute la conversation
repo-harness
Flux ancré dans les fichiers
  • Reprenez à la prochaine étape exacte depuis .ai/harness/handoff/
  • Un contexte racine stable d’environ 12 Ko, plus un index CodeGraph
  • Plans, contrats, vérifications et revues vivent dans le dépôt
  • Claude et Codex lisent d’abord les mêmes artefacts sources
  • Révisez à partir d’une seule Human Review Card et de preuves machine
// ce que ça fait

La surface est volontairement réduite.

Inspectez un dépôt, installez les fichiers de flux locaux au dépôt, routez les événements de l'hôte par des hooks, et gardez les surfaces de flux cohérentes entre Claude, Codex et les humains.

Sessions ancrées dans les fichiers

Transferts, plans et paquets de reprise vivent dans le dépôt. Une session peut s'arrêter en cours de tâche ; la suivante reprend à l'étape exacte, aux blocages et aux fichiers modifiés.

Sobre en tokens par conception

Un contexte racine stable d'environ 12 Ko plus un index CodeGraph pour les requêtes structurelles — au lieu de boucles grep-et-lecture qui rescannent le dépôt à chaque session.

Des hooks qui protègent et tracent

Huit routes gérées avertissent, bloquent, tracent et transfèrent le travail. Les barrières d'édition tiennent jusqu'à l'approbation du plan ; les barrières de « fait » vérifient des preuves ancrées dans les fichiers.

Une seule Human Review Card

Une surface de décision sur un écran par tâche : verdict, fichiers prévus vs réels, commandes passées, risque résiduel et rollback.

Worktrees isolés

Les agents travaillent dans une branche ou un worktree liés, limités aux chemins autorisés par le contrat — l'état modifié sans rapport reste protégé.

Local et auditable

La vérité durable, ce sont les fichiers du dépôt, pas l'historique de chat ni des fils hébergés. Le sidecar MCP optionnel n'expose que les artefacts de flux — aucune écriture de source, aucun shell.

// tout le système d'un coup d'œil

Local, auditable, natif pour agents.

Huit couches, une source de vérité. La CLI orchestre ; les contrats et le système de classement tiennent l'état durable ; la couche de vérification prouve le travail — et ChatGPT Pro planifie en local pendant que Claude ou Codex exécute.

Interfaces Orchestrateur Contrats et état Classement Délégation Vérification Intégrations Résultats
architecture repo-harness · cliquez pour agrandir
repo-harness architecture, full size
// du plan à la clôture

Une chaîne en couches, de bout en bout.

La chaîne de planification est volontairement étagée. Chaque étape écrit un artefact prêt à décider que l'agent suivant lit en premier — le chat n'est jamais la source de vérité.

Chaque tâche commence par une due diligence structurée — la discipline P1/P2/P3 de Geju.
P1
Cartographie

Cartographier le terrain : fichiers, surfaces et l'existant que le changement touche.

P2
Traçage

Tracer l'impact : appelants, appelés et la chaîne de causes derrière.

P3
Décision

Décision et justification : l'approche choisie, et pourquoi — consignée pour l'agent suivant.

$ repo-harness prd
Intention produit

Un cadrage guidé, puis un PRD de couche supérieure sous plans/prds/.

$ repo-harness sprint
Backlog ordonné

Le PRD devient un sprint avec des lignes d’acceptation vérifiables par la machine.

$ repo-harness goal
Claude ou Codex exécute

Un prompt /goal borné fait passer chaque tranche de sprint dans la boucle, sur l'un ou l'autre agent.

livré
parcours de revue humaine

N'acceptez que lorsque la revue recommande le succès, que le verdict de la carte est succès et que l'acceptation externe passe. Inspectez ensuite le contrat, la dernière trace et les fichiers modifiés.

checks/latest.json
$ repo-harness mcp prepare-goal \
--prd plans/prds/auth.prd.md \
--sprint plans/sprints/auth.sprint.md
› .ai/harness/handoff/codex-goal.md
✓ goal handoff ready
// chatgpt pro comme planificateur

Planifiez avec ChatGPT Pro. Exécutez avec Claude ou Codex.

Le sidecar optionnel repo-harness mcp n'expose que des artefacts de flux aux clients MCP. ChatGPT Pro planifie sur l'état réel du dépôt et fait avancer une idée à travers PRD → Sprint → transfert Goal — ensuite votre session Claude ou Codex existante exécute le sprint ancré dans les fichiers.

Le sens inverse : le moteur navigateur Oracle pilote votre session ChatGPT Web connectée pour les consultations et revues — local → web, sans clé API, chaque exécution enregistrée comme trace locale au dépôt.

  1. 1
    Lire l'état du dépôt

    ChatGPT lit les fichiers de flux via le sidecar MCP — plans, contrats, vérifications, transferts.

  2. 2
    Écrire le PRD

    write_prd_from_idea rédige un PRD prêt à décider sous plans/prds/.

  3. 3
    Écrire le Sprint

    write_checklist_sprint le transforme en backlog ordonné à acceptation vérifiable par la machine.

  4. 4
    Préparer le transfert

    prepare_codex_goal_from_sprint écrit .ai/harness/handoff/codex-goal.md.

  5. 5
    Claude ou Codex exécute

    Votre session Claude ou Codex existante lance le prompt /goal natif de l’hôte et met en scène chaque phase de sprint terminée.

MCP Connector web → local
mcp — planner profile
# expose only workflow artifacts to ChatGPT
$ repo-harness mcp setup chatgpt --repo .
$ repo-harness mcp serve --transport http \
--host 127.0.0.1 --port 8765 --profile planner
› connect the /mcp URL as a ChatGPT Connector
✓ planner online — read-only over workflow files
Oracle browser engine local → web
oracle — browser consult
# the other direction — consult ChatGPT Web from the repo
$ repo-harness chatgpt browser-consult \
--provider oracle --file plans/prds/x.prd.md \
--prompt "Review this PRD, return risks."
› drives your signed-in ChatGPT Web — no API key
✓ saved → .ai/harness/handoff/gptpro/
Limite de sécurité
aucune écriture de code source aucun shell arbitraire aucun runner par défaut séparé du quota API
// protections, traces et transferts

Huit routes de hook gérées.

L'adaptateur installé possède huit routes. Le tuple event + routeId + matcher est le contrat stable — elles avertissent, bloquent, tracent et transfèrent le travail entre sessions.

RouteMatcherRôle
SessionStart .default all sessions Injecte le transfert précédent, le statut du sprint et des constats de sécurité de config en lecture seule avant le début du travail.
PreToolUse .edit Edit | Write Impose la politique de worktree et la disponibilité plan/contrat avant toute édition d'implémentation.
PreToolUse .subagent Task | Agent Fait revenir le travail délégué par la session parente plutôt que de laisser fuiter des déclarations d'achèvement.
PostToolUse .edit Edit | Write Enregistre les traces d'édition, rafraîchit le transfert et le statut des tâches, met en file la dérive d'architecture.
PostToolUse .bash Bash Observe les résultats des commandes et capture les preuves de vérification sans remplacer le runner.
PostToolUse .always all tools Trace et observation d'exécution toujours actives, à faible bruit ; les copies périmées sont sautées en douceur avec un indice de rafraîchissement.
UserPromptSubmit .default all prompts Classe l'intention du prompt, route les indices de planification/vérification/recherche, rend des conseils sûrs pour l'hôte.
Stop .default session stop Finalise le transfert et empêche de terminer avec un brouillon de plan ou des lacunes de preuve non résolus.

les routes de protection échouent en mode fermé — les barrières requises bloquent quand leurs scripts manquent.

// le parcours de revue humaine

Acceptez ou rejetez depuis un seul écran.

Chaque tâche écrit une Human Review Card — la surface de décision sur un écran. Voyez ce qui a changé, pourquoi c'était dans le périmètre, ce qui l'a vérifié, le risque restant et comment revenir en arrière.

N'acceptez que lorsque la revue recommande le succès, que le verdict de la carte est succès et que l'acceptation externe est succès, not_required ou une dérogation manuelle explicite.

tasks/reviews/20260618-1042-add-oauth.review.md
# Human Review Card verdict · succès
Type de changement
Fonctionnalité — ajout du flux device OAuth
Commandes passées
bun test check-task-workflow --strict
Fichiers prévus vs réels
src/auth/device-flow.ts
src/auth/index.ts
tests/auth/device-flow.test.ts
Acceptation externe
dérogation manuelle
Risque résiduel
Le chemin de rafraîchissement du token est couvert par des tests ; le backoff de rate-limit reste indicatif.
Action du relecteur
accepter
Rollback
git revert codex/add-oauth
// les 5 premières minutes

Propulsé par Bun. Une commande pour démarrer.

L'installeur par défaut tourne sur Bun — aucune config Node requise, et il installe Bun pour vous s'il manque. Déjà sur Node ? Ça marche aussi. Démarrez le runtime une fois, puis prévisualisez le contrat local au dépôt avec un dry run avant toute application.

Prévisualisez avant d’appliquer
Lancez repo-harness adopt --dry-run depuis la racine du dépôt. Il signale chaque fichier qui serait créé ou rafraîchi — n’appliquez que si le rapport semble correct.
Docs et référence complètes
install
# macOS / Linux — installs Bun if missing
$ curl -fsSL https://raw.githubusercontent.com/\
Ancienttwo/repo-harness/main/install.sh | sh
$ repo-harness init
✓ host adapters · skills · CodeGraph configured
// les 5 premières minutes

Rendez votre prochaine session agent reprenable.

Démarrez le runtime, prévisualisez le contrat avec un dry run, puis prouvez le flux. Gratuit et open source sous licence MIT.

$ bun add -g repo-harness