Sh0
All Sh0 articles.
16 commandes en un jour : l'histoire complète du CLI
Comment nous avons construit 16 commandes CLI, 2 endpoints serveur et un système de streaming WebSocket -- audités à travers 6 sessions indépendantes -- en une seule journée de développement assisté par IA.
De 10 commandes à 30 : le sprint d'ergonomie développeur
Comment nous avons ajouté sh0 init, link, open et config -- quatre commandes qui font du CLI sh0 un outil natif dans le workflow du développeur, pas une réflexion après coup.
La documentation comme produit
Comment nous avons documenté 30 commandes CLI sur une page marketing, une page de tableau de bord et 4 pages de documentation en 5 langues -- en traitant la documentation comme une fonctionnalité produit, pas une réflexion après coup.
Mode watch et streaming WebSocket
Comment nous avons construit sh0 watch pour l'auto-déploiement sur changement de fichier et migré le streaming des logs de build du polling HTTP vers WebSocket -- avec repli gracieux.
L'auditeur a trouvé ce que le constructeur a manqué
Comment des sessions d'audit IA indépendantes ont trouvé 5 Critiques, 12 Importants et 19 Mineurs dans 3 200 lignes de code Rust CLI -- et pourquoi le constructeur ne les aurait jamais détectés.
Détection automatique de 19 stacks technologiques depuis le code source
Comment le moteur de build de sh0 détecte 19 stacks technologiques, génère des Dockerfiles de production avec des builds multi-étapes, et crée des contextes de build optimisés -- le tout en Rust pur.
Écrire un client Docker Engine from scratch en Rust
Pourquoi nous avons écrit un client Docker Engine API personnalisé avec hyper et des sockets Unix au lieu de passer par le CLI Docker, et le parsing de flux multiplexés qui a tout fait fonctionner.
Moteur de sauvegarde : AES-256-GCM, 13 fournisseurs de stockage, et cauchemars FTP
Construction d'un moteur de sauvegarde avec stockage pluggable, chiffrement AES-256-GCM, 13 fournisseurs de stockage via OpenDAL -- et le bug FTP IPv6 qui nous a forcés à écrire notre propre client.
Autoscaling en Rust : seuils CPU, cooldowns et répartition de charge
Comment nous avons construit la mise à l'échelle horizontale avec la répartition de charge Caddy, la gestion de conteneurs répliqués, et un autoscaler avec des cooldowns configurables.
Les bugs qui ont failli nous briser
Échecs de git pull, CSRF bloquant les uploads, processus Caddy résiduels, incompatibilités FTP IPv6, et alias réseau Docker -- les bugs qui ont failli faire dérailler sh0.
Multi-serveur BYOS : tunnels SSH, transfert d'images et Trust On First Use
Comment nous avons construit le support multi-serveur : tunnels SSH vers les sockets Docker distants via russh, transfert d'images par disque, vérification de clé hôte Trust On First Use.
Sandbox IA : donner à Claude un conteneur sûr pour déboguer vos applications
Nous avons construit un sandbox IA qui donne à Claude un accès root à un conteneur Alpine avec curl, git, node et python -- pour qu'il puisse réellement déboguer vos déploiements.