Expérience agentique : 1'324 appels à mon CLI, 15,9% d'erreur

L’utilisateur le plus fréquent de mon CLI, ce n’est pas moi lql est un CLI en Rust pour gérer les issues Linear. Je l’ai écrit parce qu’aucune des alternatives existantes ne fonctionnait pour mon cas d’usage réel : un agent IA qui gère les issues de façon autonome. Pourquoi j’ai dû écrire mon propre CLI Le MCP de Linear fut la première tentative. L’idée est élégante : un serveur MCP qui expose l’API Linear directement à l’agent. En pratique, c’était lent, instable, et l’agent devait construire les requêtes GraphQL depuis zéro à chaque appel. Chaque appel était une opportunité d’inventer un champ qui n’existe pas. Je l’ai désinstallé au bout de deux semaines. ...

29 avril 2026 · Fernando

Votre CLI a un nouvel utilisateur, et ce n’est pas un humain

Vous demandez à votre copilote IA de capturer une fenêtre. Le copilote écrit peek app "Xcode". L’outil cherche une fenêtre dont le propriétaire s’appelle exactement Xcode. Il ne la trouve pas, car le processus s’appelle Xcode-16.3. L’outil affiche Erreur : application introuvable. Le copilote, qui est un LLM doté de la mémoire émotionnelle d’un poisson rouge, essaie peek app "Xcode-16.3". Ça fonctionne. Mais cela lui a coûté un cycle de conversation, des tokens d’entrée, des tokens de sortie et la patience de celui qui paie la facture. ...

7 avril 2026 · Fernando

Le meilleur qui soit arrivé à Python en décennies est écrit en Rust

TL;DR : Les outils Python sont depuis des années un désastre fragmenté et lent. La révolution n’est pas venue de l’intérieur de l’écosystème : elle est venue de Rust. uv, Ruff et ty — tous écrits en Rust par Astral — ont remplacé une demi-douzaine d’outils et sont entre 10x et 100x plus rapides. À la fin, le culte de Ferris avait peut-être un peu raison. Avez-vous déjà essayé d’expliquer à quelqu’un comment installer des dépendances en Python ? ...

26 mars 2026 · Fernando

150 lignes d'excuses supprimées

TL;DR : Mon agent IA avait un fichier d’instructions de 246 lignes pour gérer les issues dans Linear. 150 de ces lignes étaient des contournements : UUIDs codés en dur, fallbacks vers curl, notes de « la CLI ne supporte pas X ». Je ne les ai pas réécrites — j’ai construit un outil qui les a rendues inutiles. Ces 150 lignes sont maintenant à zéro. As-tu déjà écrit un document d’instructions si long que sa propre longueur démontre que quelque chose cloche ? ...

26 mars 2026 · Fernando

Madness Driven Design : Don Quijote, Sancho Panza et ton copilote IA

TL;DR : Un LLM est comme Don Quijote — tu ne peux pas le corriger, il est stochastique par nature. La solution n’est pas de guérir le fou, mais de placer un Sancho Panza déterministe à ses côtés. MDD se compose de deux couches : d’abord, tu étudies ses erreurs pour concevoir des outils qui les absorbent, puis tu le testes avec ces outils pour vérifier que tu n’as rien laissé passer. Conçois pour la folie, pas contre elle. ...

26 mars 2026 · Fernando

Pourquoi la sortie de mon CLI n’est pas en XML (et comment j’ai réinventé TOON sans le savoir)

TL;DR : Quand votre principal consommateur est un LLM, XML et JSON gaspillent des jetons en répétant la structure à chaque élément. Un format compact et positionnel réduit la consommation de 50 %. Il s’avère que cette idée avait déjà un nom : TOON (Token-Oriented Object Notation). Même pression sélective — jetons précieux et clés répétitives — même solution. Anthropic utilise XML pour tout. Leurs system prompts sont enveloppés dans <instructions>, leurs exemples dans <example>, leurs outils dans <function>. Si vous travaillez avec Claude, vous vivez entouré de balises. ...

26 mars 2026 · Fernando

Programmation Adversariale : quand ton copilote IA invente une API

TL;DR : Ton IA va inventer des champs d’API qui semblent parfaits mais qui n’existent pas. La solution n’est pas de croiser les doigts pour qu’elle tombe juste : c’est de télécharger le schéma réel avant d’écrire, capturer des réponses réelles comme fixtures, et séparer fetch du traitement pour pouvoir tester hors réseau. Programmation adversariale : programme en supposant que ton copilote ment. As-tu déjà écrit du code pour une API et tout compilait, les tests passaient, la logique semblait correcte… mais quand tu te connectes à l’API réelle, plus rien ne fonctionne ? ...

26 mars 2026 · Fernando

Linear Agent n'est pas ce qu'il vous faut. Votre agent était déjà dans le terminal

TL;DR : Linear a lancé un agent IA intégré. C’est sympa, mais cela ne résout pas le problème des développeurs qui travaillent avec des agents de codage dans le terminal. Ce qu’il nous faut, ce n’est pas un autre agent, mais une CLI robuste que notre agent existant peut utiliser. Et s’il faut la construire, autant le faire en Rust — d’où lql, une CLI pour Linear conçue pour les agents. ...

25 mars 2026 · Fernando

RustyClaw : Je vais réécrire un agent IA en Rust (parce que le mème m'y oblige)

“Tu sais ce qu’il y a de mieux avec Rust ? Il t’empêche de compiler des travaux bâclés. Tu sais ce qu’il y a de pire ? Tout ce que tu codes au début est bâclé.” — M. Krabs, probablement Quoi de mieux qu’un agent IA ? Un agent IA réécrit en Rust. Si tu as passé plus de cinq minutes sur internet, tu connais ce mème : peu importe le projet — un éditeur de texte, un serveur DNS, une calculatrice IMC — il y aura toujours quelqu’un dans les commentaires pour dire “tu devrais le réécrire en Rust”. C’est le fameux Rewrite It In Rust — RIIR pour les intimes — aussi inéluctable que la gravité. ...

24 février 2026 · Fernando

git-cliff: le changelog qui s'écrit tout seul (ou presque)

107 commits. Des conventional commits impeccables depuis le premier jour. Feat, fix, refactor, chore — tout parfaitement étiquetté. Et le CHANGELOG ? Vide. Inexistant. Un fichier que “j’écrirai demain” pendant deux mois. Si ça vous dit quelque chose, vous n’êtes pas seuls. Écrire un changelog à la main, c’est un cauchemar de catégorie olympique. Ce n’est pas que ce soit difficile — c’est que c’est pénible, répétitif, et il y a toujours quelque chose de plus urgent à faire. Et c’est justement pour ça que git-cliff existe. ...

22 février 2026 · Fernando