Git a été pensé pour du texte : des lignes, des diffs, des fusions. Devant une texture, un son ou un fichier de projet de plusieurs centaines de mégaoctets, il devient lourd, et il faut lui greffer des extensions pour s’en sortir.
Alors j’ai commencé à écrire autre chose. Pas un Git de plus : un système avec son propre vocabulaire, parce que les mots qu’on donne aux choses finissent par décider de ce qu’on peut en faire. Un Space pour le projet. Des Layers, des lignes de travail. Des Steps, des instantanés sans nom. Des Lenses pour regarder chaque type de fichier comme il mérite d’être regardé. Et le Weave, l’endroit où les couches se rencontrent et se réconcilient.
La première règle est écrite en haut du README, et toutes les autres en découlent : un travail accepté ne doit jamais disparaître en silence. Elle a coûté vingt-trois décisions d’architecture, un store adressé par contenu, une synchronisation réécrite trois fois, et plus de huit cents tests.
Trois mois de nuits, cent trente-quatre commits. Le projet est encore en fondation, et c’est très bien comme ça.