Un mec de 20 ans avec 45 apps, dont une qui rapporte 30 000 $/mois. Un étudiant qui fait six chiffres en 70 jours. Ton fil est saturé de ces histoires — le mien aussi.
Voilà ce qu'aucun de ces posts ne te file : le système barbant qui fait passer une app de « l'idée » à « en ligne sur l'App Store », encore et encore, sans que tu doives superviser chaque étape.
J'ai construit ce système cette année. Des agents IA le font tourner — Claude Code et Codex, qui bossent en relais. 10 apps iOS et une douzaine d'outils open source sont passés dedans : soumissions, rejets, resoumissions, déploiements en prod, campagnes pub, et les enterrements de celles qui ne méritaient pas de vivre.
Aujourd'hui, il passe en open source. Gratuit, MIT, pas de cours, pas de newsletter, pas de « MP moi pour la sauce » :
→ github.com/davidmosiah/agents-that-ship
Le code n'a jamais été le problème
L'IA écrit déjà le code. Cette partie est réglée. Ce qui tue encore les apps en 2026 :
- commencer cinq trucs et n'en finir aucun
- - un agent qui retente douze fois le même correctif mort à 2h du mat
- - « c'est bon ! » sur une UI que personne n'a jamais ouverte en mode sombre sur un iPad
- - une semaine de travail qui traîne, non pushée, sur un laptop
- - « livré ! » alors qu'en réalité c'est « dans une branche locale »
- - le cron job d'un projet mort qui continue de poster (et de dépenser) pendant des jours après l'enterrement
- rien de tout ça n'est un problème de code. C'est un problème d'exploitation. Et aucun fichier CLAUDE.md ou AGENTS.md que j'aie jamais vu ne couvre ça — ils décrivent tous la base de code et s'arrêtent exactement là où commence le vrai boulot qui rapporte.
- alors j'ai écrit l'autre moitié.
- J'ai audité 7 500 de mes propres prompts pour construire ça
- À un moment, j'ai passé en revue chaque prompt que j'avais jamais envoyé à mes deux agents. Environ 7 500. Découverte brutale : la plupart, c'était moi qui réenseignais les mêmes cinq leçons. Pousse ton travail. Arrête de retenter ce correctif. Ne me donne pas cinq options. Vérifie l'iPad. Est-ce que tu l'as vraiment exécuté ?
- alors j'ai transformé chaque correction répétée en règle écrite. Après ça, mon prompt le plus courant est devenu « oui, s'il te plaît. »
- C'est tout le truc. Les agents n'ont pas besoin de plus d'autonomie. Ils ont besoin de décisions prises à l'avance, si bien que ton boulot se résume à dire oui.
- Les 9 playbooks
- Chacun est écrit À l'agent — à la deuxième personne, avec des portes qu'il ne peut pas contourner en parlant :
- 01 kickoff → lire l'état, proposer UNE chose. Pas de menus.
- 02 spec → phases avec des portes exécutables. « Poli » n'est pas une porte.
- 03 build → diff minimal, exécute-le pour de vrai, push avant de fêter ça.
- 04 débloquer → deux correctifs ratés = arrête d'éditer, change de stratégie.
- 05 polish → parcours chaque écran. clair+sombre, téléphone+tablette, chaque langue. Des captures d'écran ou ça n'a pas eu lieu.
- 06 œil neuf → un modèle différent redérive chaque affirmation à partir du dépôt. L'auto-relecture, c'est relire son propre alibi.
- 07 ship → commité ≠ pushé ≠ soumis ≠ approuvé ≠ en ligne. Nomme le vrai état.
- 08 métriques → chaque nombre avec son delta, chaque expérience née avec une date de mort.
- 09 sunset → enterrer les projets morts correctement : balayer TOUS les planificateurs, tuer les dépenses, écrire le verdict.
- Les règles qui impriment du temps
- Deux coups. Le même échec deux fois signifie que le modèle du problème de l'agent est faux. Arrête d'éditer. Reproduis depuis zéro, écris des hypothèses qui sont réellement différentes, instrumente, puis corrige. Renommer une variable et réessayer, c'est le deuxième coup, pas la deuxième idée. Cette seule règle économise plus de tokens que n'importe quelle astuce de prompt que je connais.
- L'auteur n'est pas le validateur. Avant de dire « fini » sur quelque chose de risqué, un deuxième agent — modèle différent, contexte vierge — redérive les affirmations à partir du vrai dépôt. Deux modèles différents qui se relisent mutuellement attrapent ce que l'auto-relecture ne peut structurellement pas voir.
- Le travail non pushé n'existe pas. « Est-ce que tu as pushé ? » était ma question la plus répétée. Maintenant, commit+push ferme chaque bloc, sans qu'on le demande. Une phrase a tué toute une catégorie d'anxiété.
- Enterrer correctement. J'ai un jour tué un projet et son fantôme a continué à poster un digest quotidien pendant deux jours de plus — un minuteur oublié a survécu à l'enterrement. Le playbook sunset balaye tous les planificateurs sur toutes les machines, avec une preuve en sortie.
- Deux agents, une machine
- Le multiplicateur : mes agents prennent des tours. Celui qui a du quota implémente ; l'autre valide. Les passations sont des specs avec des portes, pas des vibes. Et un script de verrouillage d'environ 150 lignes les empêche de jamais se percuter sur le même dépôt — le code de sortie 3 signifie « l'autre agent est là, choisis un autre front. »
- Faire tourner deux modèles différents en pipeline est la mise à niveau qualité la moins chère en IA actuellement. Le dépôt contient le contrat complet.
- Pourquoi c'est gratuit
- Parce que c'est du markdown. Neuf fichiers. Pas de SDK, pas de framework, rien qui pourrisse quand le prochain modèle sort. Ça fonctionne comme des compétences Claude Code, des sections AGENTS.md, ou des règles Cursor — des adaptateurs sont inclus.
- Et une règle de plus là-dedans, celle que je défendrais par-dessus toutes les autres : RIEN ne devient public en ton nom sans un nouveau « oui ». Pas de dépôts, pas de posts, pas de packages. L'enthousiasme d'un agent ne devrait jamais pouvoir dépenser ta réputation.
- (cet article a été rédigé par un agent. Un humain a signé. C'est le système qui fonctionne.)
- Pique-le :
- → github.com/davidmosiah/agents-that-ship
- Forke-le, vide-le, sois en désaccord avec la moitié. La seule règle que je garderais à tout prix : le contrat existe PAR ÉCRIT. Chaque règle qui ne vit que dans ta tête est une règle que ton agent va ré-enfreindre demain.





