Outil CLI
nrslib/takt avatar
nrslib/takt

TAKT : coordonner les agents de codage IA avec des workflows YAML

Topologie de coordination des agents TAKT : définissez comment les agents d'IA se coordonnent, où les humains interviennent et ce qui est enregistré, dans YAML.

1 341 étoiles99 forksTypeScriptMIT
GitHub

En bref

De quoi s’agit-il ?
TAKT est un CLI open source qui organise les agents de codage IA en phases avec des boucles de planification, d'implémentation, de revue et de correction définies par des workflows YAML.
À qui s’adresse-t-il ?
TAKT exprime la coordination des agents comme une machine à états YAML, déplaçant le contrôle du processus des invites vers des fichiers de workflow versionnables. Il est développé avec TAKT lui-même.
Puis-je l’utiliser commercialement ?
Oui. MIT est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
Est-il encore maintenu ?
Oui. Les derniers commits datent d’il y a 2 jours.
En quel langage est-il écrit ?
Principalement TypeScript, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 14 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Le problème d'où part TAKT

Le README de TAKT s'ouvre sur « Stop babysitting AI coding agents. » Le problème décrit est que les agents de codage IA, dans un travail de longue durée, oublient les instructions, accumulent un contexte pollué, brouillent les responsabilités d'implémentation et de revue, et peuvent forcer les humains à répéter le même retour. Ajouter plus de règles aux invites ou à CLAUDE.md peut aider mais ne peut pas faire respecter le processus. TAKT traite les agents IA comme quelque chose à contrôler de l'extérieur plutôt que de simplement leur faire confiance.

Le workflow possède le processus

Le README oppose TAKT aux agents de codage IA ordinaires. Dans TAKT, le workflow YAML possède le processus plutôt que l'invite demandant à l'agent de suivre un processus. Les boucles de revue et de correction sont des transitions explicites plutôt que des étapes qui peuvent être oubliées ou sautées. Chaque étape reçoit uniquement le contexte dont elle a besoin plutôt qu'un long contexte qui ne cesse de croître. Les responsabilités sont séparées par des personas, des permissions et des contrats de sortie. Les tâches en file d'attente s'exécutent dans des arbres de travail isolés par défaut, et les journaux et rapports préservent le chemin de la tâche à la PR. Les workflows sont réutilisables, revus et versionnables.

Structure des workflows

Un workflow est défini par une séquence d'étapes. L'exemple minimal montre un workflow nommé plan-implement-review avec initial_step: plan et max_steps: 10. Chaque étape spécifie un persona (qui), une permission d'édition (ce qui est autorisé) et des règles (ce qui se passe ensuite). Dans l'exemple, l'étape plan a edit: false, l'étape implement a edit: true et required_permission_mode: edit, et l'étape review a edit: false. Les règles mappent des conditions aux étapes suivantes : planification terminée va à implement, implémentation terminée va à review, approuvé va à COMPLETE, et besoin de correction va à implement. COMPLETE termine le workflow avec succès, ABORT termine par un échec. Des définitions d'étapes réutilisables peuvent être stockées dans .takt/steps/ et développées avec uses avant validation. Les fichiers de workflow vivent dans workflows/. Lorsque le même nom de workflow existe à plusieurs endroits, l'ordre de résolution est .takt/workflows/, puis ~/.takt/workflows/, puis les intégrés.

Workflows intégrés

Le README fournit un tableau des workflows intégrés. Le workflow par défaut est décrit comme un workflow de développement standard avec test-first, revue par les pairs parallèle multi-perspectives (architecture, anti-modèle IA, codage, sémantique, cycle de vie des contrats, robustesse), adjudication et une boucle de correction convergente. Les workflows frontend et backend sont pour le développement frontend et backend. Le workflow dual combine frontend et backend. takt-default est le workflow utilisé pour développer TAKT lui-même. Les workflows frontend-maintenance et backend-maintenance sont décrits comme une revue stricte en plusieurs phases avec des moniteurs de boucle, et backend-maintenance avec une double signature de superviseur. La série *-mini (default-mini, frontend-mini, backend-mini, dual-mini) est décrite comme des variantes légères qui omettent write_tests.

Commandes

Le README liste les commandes clés. takt sans argument démarre une conversation pour affiner les exigences et exécuter ou mettre en file d'attente des tâches. takt exec démarre le mode d'exécution instantanée avec les agents Assistant, Worker, Review et Replanning et la détection de boucle. takt add affine une tâche par conversation IA et la met en file d'attente, également à partir des issues GitHub. takt run exécute toutes les tâches en attente. takt watch surveille la file d'attente des tâches et exécute automatiquement les tâches en attente. takt list gère les branches de tâches (fusionner, réessayer, remettre en file, forcer l'échec, instruire, supprimer). takt #N utilise une issue GitHub comme entrée initiale. takt eject copie les workflows/facettes intégrés pour personnalisation. takt workflow init crée un nouveau squelette de workflow. takt workflow doctor valide les définitions de workflow. takt repertoire add installe un package de répertoire depuis GitHub. TAKT fournit également deux points d'entrée d'intégration client : takt-acp exécute TAKT comme agent Agent Client Protocol sur stdio JSON-RPC, et takt-mcp l'exécute comme serveur MCP stdio.

Configuration

L'exemple de configuration minimale se trouve dans ~/.takt/config.yaml et définit provider, model et language. Le README liste les fournisseurs : claude, claude-sdk, claude-terminal, codex, opencode, cursor, copilot, kiro et mock. Trois fournisseurs (claude-sdk, codex, opencode) fonctionnent via SDK TypeScript et ne nécessitent que Node.js. Les autres fournisseurs nécessitent des CLI externes tels que Claude Code, GitHub Copilot CLI, Cursor Agent et Kiro CLI. Les clés API peuvent être fournies via des variables d'environnement telles que TAKT_ANTHROPIC_API_KEY, TAKT_OPENAI_API_KEY et TAKT_OPENCODE_API_KEY. Le README détaille également la configuration auto_routing qui permet à un workflow de choisir fournisseur/modèle par étape avec des pools de candidats et des règles.

Exécution et traçabilité

Les tâches en file d'attente s'exécutent dans des arbres de travail isolés. Les métadonnées d'exécution, sessions, traces, rapports et autres artefacts d'exécution restent des fichiers ordinaires sous .takt/runs/<run>/. Un workflow utilisant Finding Contract crée paresseusement .takt/runs/<run>/finding-contract.sqlite. Les décisions de routage automatique sont écrites localement dans .takt/events/ en NDJSON, et le README déclare que TAKT ne télécharge pas les décisions de routage. L'enregistrement local est activé par défaut, peut être configuré avec telemetry.routing_decisions et peut être inspecté ou modifié avec takt telemetry status|enable|disable.

Installation, licence et vérification

Le README donne la commande d'installation npm install -g takt et aussi les flocons Nix : nix run github:nrslib/takt et nix profile install github:nrslib/takt. Le paquet Nix installe le CLI TAKT lui-même ; les fournisseurs CLI externes, git et gh/glab doivent être installés séparément. TAKT nécessite Node.js >=24.15.0. Le dépôt est sous licence MIT ; le texte de licence accorde le droit d'utiliser, copier, modifier, fusionner, publier, distribuer, sous-licencier et vendre des copies du logiciel, et déclare que le logiciel est fourni « tel quel » sans garantie d'aucune sorte, y compris la qualité marchande, l'adéquation à un usage particulier et la non-contrefaçon. Il ne dit rien sur le support ou la posture de sécurité. La description du dépôt est « TAKT Agent Koordination Topology - Define how AI agents coordinate, where humans intervene, and what gets recorded , in YAML ».

Conclusion éditoriale

TAKT exprime la coordination des agents comme une machine à états YAML, déplaçant le contrôle du processus des invites vers des fichiers de workflow versionnables. Il est développé avec TAKT lui-même. Le dépôt est sous licence MIT et documente le tutoriel, la référence CLI, la configuration, l'observabilité, la philosophie de conception, le guide de workflow, le catalogue intégré, le prompting par facettes, l'économie de jetons, les packages de répertoire, la gestion des tâches, l'intégration CI/CD, les intégrations externes et le journal des modifications.

Sources officielles

  1. Official README
  2. Project repository
Notes de la communauté

Notes de la communauté