Retour aux articlesBack to articles

Quelques jours après avoir écrit tv, je faisais encore cd projet && tv add à la main pour chaque nouveau projet — exactement le genre d'étape manuelle que l'outil était censé éliminer.

Donc tv sync scanne maintenant le workspace lui-même et rattache tout projet ayant un vrai dossier tasks/ non lié avant de synchroniser — plus besoin de tv add par projet.

Ça a fait remonter un vrai bug : ces projets rattachés automatiquement sont commités dans le coffre pendant l'étape de rattachement, donc quand sync vérifiait ensuite s'il restait quelque chose à faire, l'arbre était déjà propre et il sautait le push — les commits restaient là, locaux seulement, et je ne m'en serais jamais rendu compte. sync pousse maintenant aussi dès que le HEAD local est en avance sur origin, que cette exécution ait committé quelque chose ou non.

Dernière pièce du puzzle : le push doit vraiment se faire sans moi. J'ai basculé le remote du coffre de HTTPS vers SSH (la même clé qu'utilise tv-cli) et branché un timer systemd utilisateur qui lance tv sync toutes les 15 minutes, avec Persistent=true pour rattraper une exécution manquée dès que la machine se réveille. Le coffre se sauvegarde maintenant tout seul sur GitHub.

Le code est sur GitHub.

A few days after writing tv, I was still doing cd project && tv add by hand for every new project — exactly the kind of manual step the tool was supposed to remove.

So tv sync now scans the workspace itself and attaches any project with a real, unlinked tasks/ folder before syncing — no more per-project tv add.

That surfaced a real bug: those auto-attached projects get committed to the vault inside the attach step, so by the time sync checked whether there was anything left to do, the tree was already clean and it skipped the push — commits sat there, local-only, and I'd never have noticed. sync now also pushes whenever local HEAD is ahead of origin, commit-this-run or not.

Last piece: pushing still has to actually happen without me around. I moved the vault's remote from HTTPS to SSH (the same key tv-cli itself uses) and wired a systemd user timer to run tv sync every 15 minutes, with Persistent=true so a missed run catches up after the machine wakes up. The vault now backs itself up to GitHub on its own.

Code's on GitHub.