Communitygithub.com

CarryCtx Compétence de Base

CarryCtx est une compétence pour agents d'IA de codage qui fournit un contexte de projet persistant et une continuité d'état. Elle permet la gestion des tâches, le suivi granulaire de la progression, la création de points de contrôle, les graphes de dépendances AST, l'intégration MCP, l'application de préréglages de workflow et la préservation du contexte entre les sessions et les arbres de travail Git.

Qu'est-ce que CarryCtx Compétence de Base ?

CarryCtx est une compétence fondamentale pour les agents d'IA (Claude Code, Cursor, Windsurf, AGY, etc.) qui offre une gestion de contexte de projet persistant. Elle permet aux agents d'enregistrer leur identité, de démarrer des sessions, de gérer des tâches avec des dépendances et des priorités, et de suivre la progression granulaire via des éléments structurés (todo, bloquant, risque, note). La compétence crée des points de contrôle riches en sémantique qui capturent l'état de travail, le statut Git et les actions restantes, assurant une continuité parfaite entre les sessions et après les redémarrages. Elle intègre un sous-système de graphe de code AST qui extrait les dépendances des modules et les exporte dans des formats comme Mermaid, DOT, ASCII ou JSON pour la visualisation. CarryCtx expose également un serveur stdio MCP qui fournit six outils d'agent, permettant aux IDE et plateformes compatibles MCP d'interagir directement avec le contexte du projet. De plus, elle prend en charge les arbres de travail Git pour les tâches parallèles, les préréglages de workflow pour normaliser les processus, et des fonctionnalités de recherche en texte intégral pour retrouver rapidement des travaux antérieurs par contenu. Des diagnostics de santé (commande doctor) et des statistiques d'audit des agents complètent la suite, la rendant indispensable pour les workflows complexes impliquant plusieurs agents ou sessions.

Compatible avec✓Claude Code~Codex CLI✓Cursor✓Windsurf
npx skills add Xuepoo/carryctx-skills

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Compétence de Base CarryCtx

CarryCtx offre une continuité de contexte et d'état de projet de première classe pour les agents d'IA de codage. Il permet aux agents de gérer des tâches, de suivre la progression granulaire, de créer des points de contrôle, de maintenir des graphes de dépendances AST, d'exécuter des serveurs MCP stdio, d'appliquer des préréglages de workflow et de préserver le contexte de manière transparente entre les redémarrages de session et les arbres de travail Git.

Quand l'utiliser

Utilisez les commandes CarryCtx lorsque :

  • Vous démarrez une nouvelle tâche ou session : Enregistrez l'identité de l'agent, démarrez la session et restaurez le contexte (carryctx resume).
  • Vous gérez des tâches de projet : Créez, réclamez, démarrez, terminez, bloquez ou annulez des tâches (carryctx task ...).
  • Vous suivez la progression granulaire : Enregistrez des éléments structurés todo, block, risk et note.
  • Vous sauvegardez l'état / créez un point de contrôle : Capturez le progrès actuel, le statut Git et le travail restant avant de terminer une session ou de changer de focus.
  • Vous explorez le graphe de code : Scannez les dépendances des modules AST (carryctx graph scan) et exportez des diagrammes Mermaid/DOT/ASCII (carryctx graph export).
  • Vous intégrez des outils agent IA (MCP) : Exposez le contexte du projet à Cursor / Windsurf / AGY via le serveur stdio du Protocole de Contexte de Modèle (carryctx mcp).
  • Vous normalisez les workflows (Préréglages) : Listez, inspectez et appliquez des plans de travail, des règles de codage et des personas d'agent (carryctx preset ...).
  • Vous travaillez sur des tâches parallèles : Créez et isolez des tâches dans des arbres de travail Git dédiés (carryctx worktree ...).
  • Vous diagnostiquez des problèmes de santé : Exécutez carryctx doctor pour détecter les tâches orphelines, les hooks manquants et les problèmes de base de données.
  • Vous nettoyez les anciennes données : Utilisez carryctx project prune pour supprimer les tâches terminées et alléger la base de données.
  • Vous produisez des analyses d'agent : Utilisez carryctx stats pour auditer les durées de session, les métriques de tâche et exporter des rapports Markdown/CSV.
  • Vous recherchez un travail antérieur par contenu : Utilisez carryctx search "<query>" pour trouver des tâches, des éléments de progression, des points de contrôle ou des décisions par mot-clé, sans écrire de SQL ni fouiller les messages de commit.

Prérequis

  1. Installez l'interface en ligne de commande CarryCtx (cargo install carryctx ou binaire pré-compilé).
  2. Initialisez CarryCtx dans le dépôt du projet : carryctx init.

Référence Rapide

ActionCommandeObjectif
Configuration Agentcarryctx agent register --name "$(whoami)" --provider "claude-code"Enregistrer l'identité de l'agent
Agent Actuelcarryctx agent currentAfficher l'identité active de l'agent
Démarrer Sessioncarryctx session startCommencer une session de travail suivie
Reprendre Contextecarryctx resumeRécupérer la tâche courante, la progression et les actions suivantes
Créer Tâchecarryctx task create --title "..." [--depends-on CTX-0001]Définir une nouvelle tâche
Réclamer Tâchecarryctx task claim CTX-0001Assigner la tâche à l'agent courant
Éditer Tâchecarryctx task edit CTX-0001 [--title ...] [--priority ...] [--description ...]Mettre à jour le titre, la priorité ou la description de la tâche
Démarrer Tâchecarryctx task start CTX-0001Marquer la tâche comme en cours
Suivre Progression`carryctx progress <todoblock
Point de Contrôlecarryctx checkpoint --done "..." --remaining "..."Sauvegarder un instantané d'état riche en sémantique
Scanne Graphe Codecarryctx graph scanExtraire les dépendances AST dans une base SQLite
Exporter Graphe`carryctx graph export --type <mermaiddot
Serveur MCP Stdiocarryctx mcpLancer le serveur MCP stdio avec 6 outils agent
Appliquer Préréglagecarryctx preset apply <preset_name>Injecter des SOP de workflow, des règles ou des personas
Arbre de Travailcarryctx worktree create CTX-0001Créer un arbre de travail Git isolé pour la tâche
Terminer Sessioncarryctx session endTerminer la session en toute sécurité avec un point de contrôle
Doctorcarryctx doctorDiagnostiquer la santé du projet
Installer Hookscarryctx hooks installPoint de contrôle automatique à chaque commit Git
Nettoyer Donnéescarryctx project prune --older-than 30Supprimer les anciennes tâches terminées
Statistiques Agentcarryctx stats [--markdown] [--output file.csv]Voir les métriques et exporter des rapports de performance
Décisioncarryctx decision add --title "..." --task CTX-0001Enregistrer une décision architecturale
Passationcarryctx handoff create --target <agent> --task CTX-0001Transférer le travail entre agents
Pause Sessioncarryctx session pauseMettre en pause le minuteur de session active
Reprendre Sessioncarryctx session resumeReprendre une session en pause
Recherche`carryctx search "" [--type taskprogress

Comportement de Sortie (0.5.2+)

La sortie texte (le --format text par défaut) est compacte par conception : les commandes d'entité n'affichent qu'une ligne courte par enregistrement (Task created: CTX-0321, agent current n'affiche que le nom, les listes montrent display_id, le statut et un titre/résumé tronqué) afin que le contexte de l'agent reste réduit. Lorsque des enregistrements complets sont nécessaires :

  • --verbose (drapeau global) ou [output] verbose = true dans .carryctx/config.toml restaure l'enregistrement complet formaté.
  • --fields display_id,status,summary (drapeau global) ou la table [output.fields] par commande réduit les enregistrements à une liste d'autorisation en texte et JSON.
  • --format json renvoie toujours l'enveloppe complète.

La sortie JSON est inchangée et reste le contrat machine : chaque succès est une enveloppe unique sur stdout, chaque erreur une enveloppe unique sur stderr.

Workflow Standard de l'Agent

1. Initialisation de Session et Restauration de Contexte

Au début de toute interaction ou après un redémarrage d'agent :

# Enregistrer et définir l'identité si ce n'est pas déjà fait
carryctx agent current || carryctx agent register --name "claude" --provider "claude-code"

# Démarrer la session et charger le contexte actuel
carryctx session start
carryctx resume

Pour mettre en pause et reprendre des sessions :

carryctx session pause    # Mettre en pause la session active (le minuteur s'arrête)
carryctx session resume   # Reprendre une session en pause
carryctx session end      # Terminer la session avec un point de contrôle optionnel
carryctx session abandon  # Terminer la session sans point de contrôle

2. Analyse des Dépendances du Code (Sous-système Graphe)

Avant de modifier du code ou de refactoriser des modules :

# 1. Scannez les dépendances AST de la base de code
carryctx graph scan

# 2. Exportez un sous-graphe centré autour d'un module spécifique
carryctx graph export --type mermaid --focus "src/application/stats.rs" --depth 2

# 3. Exportez un aperçu architectural ASCII compact au niveau des modules
carryctx graph export --type ascii --compact

3. Préréglages de Workflow et Injection de Règles

Injectez des procédures opératoires standard ou des directives de codage :

# Lister les préréglages de workflow disponibles
carryctx preset list

# Appliquer un préréglage de workflow de correction de bogue standard au projet courant
carryctx preset apply workflows/bugfix

4. Cycle de Vie d'une Tâche

# Lister les tâches ouvertes
carryctx task list --status ready

# Réclamer et démarrer la tâche
carryctx task claim CTX-0001
carryctx task start CTX-0001

# Marquer la tâche comme terminée après vérification
carryctx task complete CTX-0001

5. Suivi Granulaire de la Progression

Au fur et à mesure de l'avancement, enregistrez des éléments de progression structurés :

carryctx progress todo "Écrire le test unitaire pour le middleware d'authentification"
carryctx progress todo "Implémenter la validation du jeton JWT"
carryctx progress block "Attente de confirmation des spécifications du point de terminaison API"
carryctx progress risk "Changement cassant dans la dépendance amont"
carryctx progress note "Utilisation d'un cache LRU pour optimiser les recherches de jetons"
# Marquer un todo comme terminé :
carryctx progress complete PX-0001

6. Création de Points de Contrôle

Sauvegardez l'état avant de terminer une session, de changer de tâche ou de passer le relais :

carryctx checkpoint \
  --done "Points de terminaison d'authentification backend terminés" \
  --remaining "Intégration du formulaire de connexion frontend" \
  --blocker "Aucun"

7. Parallélisme avec les Arbres de Travail

Lorsque vous travaillez sur des tâches indépendantes simultanément :

carryctx worktree create CTX-0002
# Bascule vers un répertoire d'arbre de travail isolé lié à CTX-0002

7a. Enregistrement des Décisions et Passations

Capturez les décisions architecturales et passez le travail entre agents :

# Enregistrer une décision architecturale (ADR) liée à une tâche
carryctx decision add --title "Utiliser SQLite pour le stockage" --task CTX-0001

# Lister ou rechercher des décisions
carryctx decision list
carryctx decision search --keyword SQLite

# Marquer une décision comme remplacée par une plus récente
carryctx decision supersede DEC-0001 --by DEC-0002

# Créer une passation pour transférer le travail à un autre agent
carryctx handoff create --target <agent-ulid> --summary "Implémenter l'API" --task CTX-0001

# Accepter, rejeter ou fermer une passation
carryctx handoff accept HO-0001
carryctx handoff reject HO-0001 --reason "Pas mon domaine"
carryctx handoff close HO-0001

7b. Recherche en Texte Intégral dans l'Historique du Projet

Trouvez un travail antérieur par son contenu, sans avoir à vous souvenir de la branche ou de la tâche concernée. Recherche dans les titres/descriptions de tâches, les éléments de progression, les notes de points de contrôle et les décisions, le tout classé par pertinence :

# Rechercher dans tout
carryctx search "markdown worker protocol"

# Limiter à un type d'entité
carryctx search "retry backoff" --type checkpoint

# Affiner par le statut de la tâche propriétaire ou l'agent propriétaire
carryctx search "auth" --status in_progress
carryctx search "auth" --owner claude-code

Chaque résultat inclut l'ID d'affichage de la tâche propriétaire, son statut et (lorsqu'il est connu) la branche sur laquelle elle a été travaillée — utilisez ceci avant de commencer un travail connexe pour éviter de dupliquer des problèmes déjà résolus, et avant une passation pour diriger l'agent récepteur vers le point de contrôle ou la décision exacte qui explique un choix antérieur.

8. Terminer la Session et Rapporter

# Terminer la session de travail
carryctx session end

# Exporter le rapport de statistiques du projet pour la description de la PR ou la documentation
carryctx stats --markdown --output /tmp/project_stats.md

9. Intégration du Protocole de Contexte de Modèle (MCP)

Pour connecter CarryCtx directement à Cursor / Windsurf / AGY :

{
  "mcpServers": {
    "carryctx": {
      "command": "carryctx",
      "args": ["mcp"]
    }
  }
}

Outils MCP exposés :

  • carryctx_graph_explorer : Interroger, scanner et exporter le Graphe de Contexte du projet
  • carryctx_context_manager : Gérer le contexte persistant, les points de contrôle et les instantanés d'état
  • carryctx_task_manager : Gérer les tâches du projet, les dépendances et les priorités
  • carryctx_progress_tracker : Gérer la progression des tâches, les notes et les bloqueurs
  • carryctx_decision_logger : Enregistrer et rechercher des enregistrements de décisions architecturales
  • carryctx_project_admin : Gérer la base de données du projet, les statistiques, l'archivage et la configuration

10. Débogage et Dépannage

Activez la journalisation de débogage structurée pour diagnostiquer les problèmes :

# Afficher les logs de débogage pour les opérations CarryCtx
export RUST_LOG=carryctx=debug
carryctx task list          # Voir la sortie de débogage avant les résultats de la commande

# Afficher uniquement les erreurs
export RUST_LOG=error
carryctx status

# Exécuter les diagnostics
carryctx doctor             # Vérifier la santé du projet
carryctx doctor --json      # Sortie de diagnostic lisible par machine

Meilleures Pratiques pour les Agents de Codage

  1. Exécutez toujours carryctx resume au démarrage : Réoriente immédiatement l'agent vers la tâche et la progression en cours.
  2. Scannez le graphe de code avant les grandes refontes : carryctx graph scan empêche les dépendances amont cassées.
  3. Réclamez explicitement les tâches : Empêche l'exécution en double lorsque plusieurs agents travaillent sur le même dépôt.
  4. Utilisez des éléments de progression structurés : Tenez todo, done et block à jour pendant les étapes d'exécution.
  5. Créez un point de contrôle avant de vous arrêter : Créez toujours un point de contrôle avant de céder le contrôle ou de terminer un travail complexe en plusieurs étapes.
  6. Exécutez carryctx doctor lors de la première utilisation ou après une mise à jour : Détecte les lacunes de configuration avant qu'elles ne provoquent des erreurs d'exécution.

Skills associés