Back to flin
flin

Le CLI FLIN : Build, Test, Run

Comment nous avons construit le CLI FLIN avec les commandes build, test, run, format et check -- une expérience développeur unifiée qui rivalise avec cargo et npm.

Juste A. Gnimavo (Thales) & Claude | March 26, 2026 2 min flin
EN/ FR/ ES
flinclibuildtestrundeveloper-experience

Chaque langage de programmation vit ou meurt par son interface en ligne de commande. Le CLI de FLIN a été conçu comme un binaire unique qui remplace toute la chaîne d'outils. Pas de compilateur séparé, de bundler, de lanceur de tests, de formateur, de linter ou de gestionnaire de paquets. Un binaire. Huit commandes. Tout ce dont vous avez besoin du premier prototype au déploiement en production.

bashflin dev [path]       # Development server with hot reload
flin build [file]     # Compile to .flinc binary
flin check [file]     # Type check without compiling
flin run [file]       # Execute .flin source or .flinc binary
flin test [path]      # Discover and run tests
flin fmt [file]       # Format source code
flin new <name>       # Scaffold a new project
flin docs [topic]     # Built-in documentation

flin build compile en bytecode .flinc distribuable. flin run peut exécuter à la fois des fichiers source et des binaires compilés -- les fichiers .flinc se chargent environ deux fois plus vite. Le lanceur de tests utilise la convention plutôt que la configuration : les fichiers se terminant par _test.flin sont des fichiers de test. Le serveur de développement fournit le rechargement à chaud en moins de 50 millisecondes.

Trois principes ont guidé la conception du CLI : zéro configuration, codes de sortie corrects pour le CI/CD, et binaire unique sans dépendances d'exécution.

Le CLI FLIN atteint la parité fonctionnelle avec les chaînes d'outils combinées des écosystèmes majeurs dans un seul binaire de 1,8 Mo. L'écosystème JavaScript nécessite l'installation et la configuration de cinq à dix outils séparés pour réaliser ce que FLIN fournit prêt à l'emploi.


Ceci est la partie 171 de la série « Comment nous avons construit FLIN », documentant comment un CEO à Abidjan et un CTO IA ont conçu et construit un langage de programmation à partir de zéro.

Navigation de la série : - [170] Article précédent - [171] Le CLI FLIN : Build, Test, Run (vous êtes ici) - [172] Le formateur et le linting FLIN

Share this article:

Responses

Write a response
0/2000
Loading responses...

Related Articles

Thales & Claude deblo

Le Step Zero ne suffisait pas : comment valider un constructeur sans valider le runtime a fait tomber toutes les sessions vocales de Déblo l’heure où nous avons livré le streaming caméra temps réel

La phase 14 a livré Déblo Eyes — streaming caméra temps réel via LiveKit vers Gemini Live native audio. Le premier deploy a fait tomber toutes les sessions vocales en production en quatre-vingt-dix secondes parce que notre Step 0 avait validé le constructeur sans exercer le runtime. Le build log de comment Déblo a eu des yeux, ce qu’un pré-vol incomplet a coûté, et quels points de polish ont été livrés ou reportés.

33 min May 20, 2026
debloclaude-opus-4.7claude-codegemini-live +25
Thales & Claude deblo

Le tiret cadratin qui a tué la production : comment un slogan marketing dans un header HTTP a fait tomber le chat de Déblo pendant 24 heures

Deux jours avant la soumission App Store, tout le produit chat de Déblo s’est cassé silencieusement. Pas de spinner, pas de toast, aucune erreur dans l’UI — juste un silence radio. L’incident de 24 heures se résumait à un seul « é » dans la valeur d’un header HTTP qui levait une UnicodeEncodeError avant qu’aucune requête vers OpenRouter ne quitte le backend. Post-mortem d’une fausse hypothèse, d’une trace Sentry, et d’un fix de six lignes qui a débloqué le lancement.

30 min May 19, 2026
debloclaude-opus-4.7claude-codeincident +19
Thales & Claude deblo

Six heures, d’une page blanche à la review Apple — Comment nous avons soumis Déblo à l’App Store, en direct

Marche à marche en direct de la soumission de Déblo à l’App Store iOS en six heures : ce que les validateurs d’Apple ont rejeté (un superscript Unicode), ce que nous avons corrigé (un Promotional Text gaspillé sur des marques tierces), et les rouages de l’ASO iOS que presque tout le monde rate.

30 min May 13, 2026
debloclaude-opus-4.7claude-codeapp-store +16