← Tous les projets
Projets 04/Application de bureau · Tauri 2, Rust, React

tickytacky

Une application de bureau pour Windows et macOS qui fait tourner plusieurs sessions d’agents de code côte à côte, chacune dans son propre worktree Git, et montre ce que fait chaque agent sans lire son terminal.

Dépôt privé

01Ce que c’est

On enregistre un dépôt Git comme projet et on démarre une session dessus. L’application crée un worktree et une branche, lance dans ce worktree un agent en ligne de commande comme Claude Code, et garde la session sur un tableau de bord à côté des autres. On peut attacher un terminal à n’importe quelle session, consulter les fichiers modifiés et fusionner le worktree quand le résultat convient.

02Ce que j’ai construit

Toute l’application : un cœur en Rust qui gère les processus de terminal, les worktrees Git et un registre SQLite des projets et des sessions, et une interface React avec le tableau de bord, un terminal intégré et un visualiseur de code et de différences. Deux petits programmes annexes permettent à un agent de signaler son état et de rappeler l’application. L’interface est en anglais et en français, et une vérification à la compilation échoue si une chaîne française manque.

03La règle dont tout dépend

Le statut d’un agent ne vient jamais de l’analyse de la sortie du terminal. Un programme de hook écrit de petits fichiers d’état, un observateur les lit, et le terminal ne fait que transporter des octets bruts vers un écran qu’une personne lit. Les deux canaux ne partagent qu’un identifiant de session : un changement dans le format de sortie d’un agent ne peut donc pas casser le tableau de bord.

04Comment il tourne

La logique métier en Rust vit dans sa propre crate, sans dépendance à Tauri, et se teste donc sans fenêtre. Une fusion attend un court compte à rebours annulable avant de toucher à Git. L’intégration continue exécute les tests Rust sous Windows et macOS, et chaque push sur les branches principales lance semantic-release, qui déduit la version des messages de commit et joint des builds non signés à une version en brouillon.

Comment c’est construit

  1. Interface

    React dans une webview

  2. Cœur Rust

    App Tauri et crate métier

  3. Processus

    Lancés sur la machine

  4. Stockage

    Fichiers et base locaux

  5. Programmes annexes

    Petits programmes lancés par l’agent

  6. Livraison

    Build et publication

Sélectionnez un élément du schéma pour voir son rôle. Chaque couleur est un flux à travers le système.

© 2026 Benoit Ardiet · Quito, Équateur · UTC−5GitHubLinkedInAucun pistage, aucun cookie.