droid-cli

Par factory-ai · factory-plugins

Connaissances de base pour les workflows de contrôle de droid — non invoqué directement. Patterns de cibles CLI droid, raccourcis, modes et helpers de lancement.

npx skills add https://github.com/factory-ai/factory-plugins --skill droid-cli

Cible CLI Droid

L'orchestrateur t'a routé ici. Superpose ces schémas spécifiques à la cible au-dessus du driver skill que tu as déjà chargé.

Raccourcis, modes et schémas de lancement spécifiques à Droid.

Raccourcis

Action Combinaison de touches Résultat
Basculer mode Spec shift tab active/désactive le mode Spec
Cycler autonomie ctrl l Off > Low > Med > High > Off
Cycler modèles ctrl n bascule entre les modèles disponibles
Cycler raisonnement tab High > none > Low > Medium > High
Annuler / fermer / arrêter esc arrête le streaming, ferme les overlays
Effacer l'entrée ctrl u efface la ligne courante
Basculer mode bash ! sur entrée vide bascule le prompt entre > et $
Aide / raccourcis ? ouvre l'aide des touches
Entrée multiligne shift enter insère une nouvelle ligne sans soumettre

Dialogues

Quand un dialogue affiche Use up/down to navigate... : up/down déplace la surbrillance, enter sélectionne, esc ferme.

Commandes slash

Commande Objectif
/help Afficher les commandes
/settings Ouvrir le menu des paramètres
/model Ouvrir le sélecteur de modèle
/clear ou /new Démarrer une nouvelle session
/sessions Parcourir les sessions précédentes
/review Démarrer une revue de code IA
/status Afficher la configuration actuelle
/cost Afficher l'utilisation / les frais
/compress [prompt] Résumer et passer à une session fraîche

Mentions de fichiers

Tape @ pour ouvrir les suggestions de fichiers, filtre en tapant, tab pour accepter, esc pour annuler :

$TCTL -s demo type "review @"
$TCTL -s demo type "package.json"
$TCTL -s demo press tab

Indices visuels

État À rechercher
Mode Spec activé la bordure d'entrée affiche Spec
Mode bash activé le prompt est $
Inactif / prêt le prompt est > sans spinner
Dialogue ouvert menu encadré + indice de navigation
Suggestions de fichiers dropdown sous l'entrée
En train de réfléchir Thinking... et indice d'arrêt

Lancer Droid

Comment droid-dev fonctionne

droid-dev est un thin bash shim à ~/.local/bin/droid-dev. Il exécute bun sur la checkout vers laquelle DROID_DEV_REPO_ROOT pointe — il n'utilise PAS un binaire pré-compilé. Cela signifie :

  • Aucune build par branche. Un seul npm run setup (dans n'importe quelle checkout) installe le shim. Changer de branche est instantané via --repo-root.
  • Prérequis : La worktree cible doit avoir node_modules installé (npm install à la racine du repo). S'il manque, le lancement bun échoue.
  • tctl --repo-root définit DROID_DEV_REPO_ROOT automatiquement et épingle la session à cette worktree.

droid-dev

Les lancements droid-dev requièrent --repo-root (ou --env DROID_DEV_REPO_ROOT=...). tctl l'impose — les lancements sans cela échoueront :

# tuistory (défaut — PTY virtuel)
$TCTL launch "droid-dev" -s demo --backend tuistory \
  --repo-root /path/to/worktree \
  --cols 120 --rows 36

# true-input (preuve de terminal réel — compositeur Wayland headless)
$TCTL launch "droid-dev" -s demo --backend true-input \
  --repo-root /path/to/worktree

Branche de fonctionnalité / worktree

Pour les comparaisons, lance des sessions séparées pointant vers différentes worktrees :

$TCTL launch "droid-dev" -s before --backend tuistory \
  --repo-root /path/to/baseline-worktree \
  --cols 120 --rows 36 --record /tmp/before.cast \
  --env FORCE_COLOR=3 --env COLORTERM=truecolor

$TCTL launch "droid-dev" -s after --backend tuistory \
  --repo-root /path/to/candidate-worktree \
  --cols 120 --rows 36 --record /tmp/after.cast \
  --env FORCE_COLOR=3 --env COLORTERM=truecolor

Configuration de comparaison (démos avant/après)

Pour les comparaisons avant/après, tu as besoin de deux chemins de worktree — un pour la baseline et un pour la candidate.

  1. Trouver les worktrees existantes : git worktree list dans n'importe quelle checkout. Le clone principal (souvent sur dev ou main) est une baseline valide.
  2. Créer si nécessaire : git worktree add /tmp/baseline-worktree dev (ou la branche de base pertinente).
  3. S'assurer node_modules : Exécute npm install dans n'importe quelle worktree qui en manque. C'est la seule installation nécessaire — pas de npm run setup ni de build CLI par branche.
  4. Lancer avec --repo-root : Chaque tctl launch épingle à une worktree.

Sécurité de l'environnement

Le script runner de tctl lance droid-dev via bash -lc, ce qui charge un shell de login propre. Les vieilles variables d'env FACTORY_* des processus parents sont généralement remplacées par le runner. Si tu soupçonnes une contamination d'env, passe des remplacements explicites avec --env.

Mode Exec

Exécution non-interactive en une seule fois :

droid exec "analyze this file"
droid exec --auto medium "run the tests"

Journalisation

Active la journalisation de debug en passant le chemin du fichier journal via --env :

$TCTL launch "droid-dev" -s demo --backend tuistory \
  --repo-root /path/to/worktree \
  --env FACTORY_LOG_FILE=/tmp/droid-test.log
tail -f /tmp/droid-test.log

Skills similaires