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

Comment estimer votre quota Claude quand Anthropic ferme le robinet

Je suis en train de construire Tokamak, une app de barre de menu pour macOS qui surveille votre quota Claude Max. Il y a quelques semaines, Anthropic a publié ça dans ses Terms of Service : “You may not use OAuth or similar authorization mechanisms to allow third-party applications to access Claude on behalf of users.” Et moi, qui lis le quota Claude Max en utilisant les cookies du navigateur pour appeler un endpoint non documenté, je suis resté à fixer l’écran en pensant : “Et maintenant quoi ?” ...

22 février 2026 · Fernando

Notarisation sur macOS : le videur de boîte qu'Apple a mis devant votre app

Il est deux heures du matin. Votre app compile. Vous la signez. Vous l’empaquetez dans un DMG. Vous exécutez notarytool submit. Apple dit “In Progress”. Vous attendez 5 minutes. 10. 20. Une heure. Deux heures. La soumission reste “In Progress”. Vous allez vous coucher. Le lendemain matin : Invalid. Sans plus d’explication que “The signature of the binary is invalid”. Pour les deux architectures. Merci, Apple. Très utile. La notarisation est l’un de ces processus qui fonctionne parfaitement… jusqu’à ce que ça ne fonctionne plus. Et quand ça échoue, vous vous retrouvez avec un .dmg que Gatekeeper ne va pas laisser ouvrir et une erreur qui ne vous dit rien. Après m’être battu avec ça pendant quelques jours avec Tokamak (mon app de menu bar pour surveiller le quota de Claude), j’ai décidé de documenter tout ce que j’avais appris et d’écrire un linter pour ne plus jamais repasser par là. ...

22 février 2026 · Fernando

Machines virtuelles macOS en une seule commande

Je suis en train de construire une app de barre de menus pour macOS. Elle fonctionne parfaitement sur mon Mac. Maintenant je dois savoir si elle fonctionne sur un macOS propre : sans mes configurations, sans mes autorisations, sans mes données. Un utilisateur qui l’installe à partir de zéro. Comment on teste ça ? Il faut une machine virtuelle. “Facile”, me suis-je dit. “J’ai UTM installé. J’ouvre l’assistant, je crée une VM macOS, et c’est parti.” ...

21 février 2026 · Fernando

Pourquoi 99% de ce que vous envoyez à Claude est déjà en cache

Je développe une app qui surveille ma consommation de tokens dans Claude Code. Il y a quelques jours, en regardant les chiffres bruts, je suis tombé sur ça : cacheReadInputTokens: 4.241.579.174 inputTokens: 1.293.019 Quatre milliards deux cent quarante-et-un millions de tokens lus depuis le cache. Un million deux cent quatre-vingt-treize mille tokens “frais”. Ça fait un 99,97% de cache hit. Ma première réaction a été de penser que quelque chose était cassé. Personne n’a 99% de cache. Ni Redis. Ni Cloudflare. Ni votre mère quand elle dit qu’elle sait déjà ce que vous allez lui demander à manger. ...

19 février 2026 · Fernando

Invoquer les sages : comment utiliser un LLM comme séance de mentorat avec n'importe quel expert

Ma femme invoque Charlie Munger pour planifier le budget familial. Dans ChatGPT. C’est pas une blague. Elle lui dit un truc comme “agis comme Charlie Munger en révisant nos finances familiales” et lui balance les dépenses du mois. Le truc lui renvoie des trucs comme “tu confonds investissement et dépense dans le poste éducation” ou “ce fonds a un coût caché que tu ne comptabilises pas”. Des trucs que Munger dirait. Avec le ton que Munger utiliserait. ...

18 février 2026 · Fernando

Beads est mort. Longue vie au CLI de Linear

Il y a moins d’un mois j’ai écrit un post entier pour expliquer comment utiliser trois couches de mémoire avec Claude Code : Linear pour la stratégie, Beads pour la tactique et Tasks pour l’exécution. Une jolie pyramide, bien élégante. Ben non. Aujourd’hui je mets Beads à la retraite. Pas par caprice, mais parce que la réalité s’est chargée de démontrer qu’un outil qui te cause plus de problèmes qu’il n’en résout, c’est pas un outil. C’est un boulet. ...

18 février 2026 · Fernando

Git Worktrees : comment avoir plusieurs agents IA qui travaillent en parallèle sans se marcher dessus

Le goulot d’étranglement du checkout unique Je développe une app de menu bar sous macOS. J’ai trois features dans le backlog : un sparkline de consommation, des notifications natives, et un widget de bureau. Les trois sont indépendantes. Les trois, je vais les faire avec Claude Code. Le problème : Claude Code travaille dans un répertoire. Un répertoire a une branche. Et git checkout c’est comme un rond-point à une voie : un seul peut passer. ...

16 février 2026 · Fernando

5 défenses contre les hallucinations de code (et pourquoi seules 3 fonctionnent)

La semaine dernière, j’ai raconté comment mon IA a inventé une structure JSON complète et l’a enveloppée dans des DTO, des fixtures et des tests qui passaient. 90 tests au vert. Tout était faux. Ce post était le diagnostic. Voici le traitement. Après avoir découvert le désastre, j’ai fait ce que fait tout ingénieur dont l’orgueil est blessé : enquêter de manière obsessionnelle pendant des jours pour éviter que cela ne se reproduise. J’ai lu des papers, testé des outils, analysé des données réelles de mes API, et construit un système de défenses pour mon app. ...

16 février 2026 · Fernando

Silent failure : quand votre IA invente et que les tests disent que tout va bien

Hier j’ai découvert que la moitié d’un module de mon app était basée sur des données inventées. Pas par un junior distrait. Par mon IA. Le pire n’est pas qu’elle ait inventé. Le pire c’est que tout compilait et que les 90 tests passaient. La fiction cohérente Je suis en train de construire BFClaude-9000, une app de barre de menu pour macOS qui surveille le quota de Claude Max. Une partie de la fonctionnalité nécessite de distinguer si un compte Claude est payant ou gratuit, en appelant l’API de claude.ai. ...

13 février 2026 · Fernando