Outils Shell que votre agent possède déjà
Les outils qu’un agent sollicite en permanence : trouver le fichier, chercher dedans, remettre en forme le résultat, le déplacer ailleurs.
40 outilsPresque chaque tâche d’un agent y touche. Si on lui demande où quelque chose est configuré, il parcourt l’arborescence au lieu de deviner. Si on lui demande d’extraire les erreurs d’un journal, il filtre au lieu de vous lire le fichier entier. C’est la différence entre un agent qui décrit ce qu’il ferait et un agent qui le fait.
Les outils
Préinstallés dans toutes les formules, rien à configurer. Quelques-uns dépendent du moteur choisi.
rgRipgrep. Recherche par expression régulière dans tout un dépôt, en quelques millisecondes.
fdUn find plus simple : retrouvez fichiers et dossiers par nom ou par motif.
batcat avec coloration syntaxique, numéros de ligne et repères Git.
jqFiltrez, remodelez et mettez en forme du JSON directement dans un pipe.
yqLe langage de requête de jq, appliqué au YAML et au TOML.
mlrMiller. Découpez, joignez, triez et résumez des enregistrements CSV, TSV et JSON.
qsvIndexez, joignez, découpez et validez rapidement de très gros fichiers CSV.
csvcutcsvkit. Extrayez, supprimez et réordonnez les colonnes d’un CSV.
in2csvConvertissez des fichiers Excel, JSON ou à largeur fixe en CSV.
sql2csvExécutez une requête SQL sur une base et récupérez le résultat en CSV.
7zCompressez et décompressez le format 7z et la plupart des autres archives.
zipCréez et mettez à jour des archives ZIP.
unzipListez et extrayez le contenu d’une archive ZIP.
xzCompressez et décompressez avec xz et LZMA.
zstdCompression et décompression rapides avec Zstandard.
lessParcourez page par page un fichier long ou la sortie d’une commande.
fileIdentifiez la vraie nature d’un fichier, quelle que soit son extension.
treeAffichez un dossier sous forme d’arborescence indentée.
patchAppliquez un diff à un fichier ou à toute une arborescence.
columnAlignez en colonnes lisibles le texte reçu dans un pipe.
bcCalcul en précision arbitraire, directement dans un pipe.
pvObservez les données passer dans un pipe, avec débit et progression.
csvsqlInterrogez des CSV en SQL, ou chargez-les directement dans une base.
csvlookAffichez un CSV sous forme de tableau aligné, lisible dans un terminal.
csvstatObtenez types, valeurs nulles et plages pour chaque colonne d’un CSV.
csvjsonConvertissez un CSV en JSON ou GeoJSON, un objet par ligne.
csvgrepFiltrez les lignes d’un CSV par motif ou regex sur des colonnes nommées.
csvsortTriez un CSV sur une ou plusieurs colonnes, en tenant compte des types.
csvjoinJoignez plusieurs fichiers CSV sur une colonne commune.
spongeAbsorbez toute l’entrée avant d’écrire, pour qu’un pipe puisse réécrire son propre fichier source.
tsPréfixez chaque ligne d’un flux avec un horodatage.
chronicExécutez une commande et n’affichez sa sortie qu’en cas d’échec.
ifneN’exécutez une commande que si l’entrée standard n’est pas vide.
peeEnvoyez l’entrée standard à plusieurs commandes à la fois, comme tee le fait pour les fichiers.
vipeInsérez un éditeur au milieu d’un pipe pour retoucher le flux à la main.
vidirRenommez et supprimez des fichiers en éditant la liste d’un dossier comme du texte.
isutf8Vérifiez qu’un fichier ou un flux est bien de l’UTF-8 valide.
errnoRecherchez un errno par numéro, nom ou message.
hexdumpAffichez un fichier en hexadécimal, octal ou ASCII pour inspecter du binaire.
ast-grepCherchez et réécrivez du code par motif d’arbre syntaxique plutôt que par regex.
Une vraie ligne de commande, déjà en place
Chaque agent tourne sur une machine isolée avec toute la boîte à outils préinstallée. Aucune étape de configuration, dans toutes les formules.
