tickytacky
Una aplicación de escritorio para Windows y macOS que ejecuta varias sesiones de agentes de código en paralelo, cada una en su propio worktree de Git, y muestra qué hace cada agente sin leer su terminal.
Repositorio privado
01Qué es
Usted registra un repositorio Git como proyecto e inicia una sesión sobre él. La aplicación crea un worktree y una rama, lanza dentro de ese worktree un agente de línea de comandos como Claude Code, y mantiene la sesión en un panel junto a las demás. Puede conectar una terminal a cualquier sesión, revisar los archivos que cambió y fusionar el worktree cuando el resultado le convenga.
02Qué construí
Toda la aplicación: un núcleo en Rust que gestiona los procesos de terminal, los worktrees de Git y un registro SQLite de proyectos y sesiones, y una interfaz en React con el panel, una terminal integrada y un visor de código y diferencias. Dos programas auxiliares pequeños permiten que un agente informe su estado y vuelva a llamar a la aplicación. La interfaz está en inglés y francés, y una comprobación en la compilación falla si falta una cadena en francés.
03La regla de la que depende todo
El estado de un agente nunca sale de analizar la salida de la terminal. Un programa de hook escribe pequeños archivos de estado, un observador los lee, y la terminal solo lleva bytes sin procesar a una pantalla que una persona lee. Los dos canales comparten únicamente un identificador de sesión, así que un cambio en el formato de salida de un agente no puede romper el panel.
04Cómo funciona
La lógica de dominio en Rust vive en su propio crate, sin dependencia de Tauri, y por eso se prueba sin ventana. Una fusión espera una cuenta regresiva breve y cancelable antes de tocar Git. La integración continua ejecuta las pruebas de Rust en Windows y macOS, y cada push a las ramas principales lanza semantic-release, que deduce la versión a partir de los mensajes de commit y adjunta compilaciones sin firmar a una versión en borrador.
Cómo está construido
- Inicio de una sesión: se crea un worktree y se guarda la sesión
- Bytes de la terminal, del agente a la pantalla
- Estado del agente a través del hook y los archivos de estado
- El agente que vuelve a llamar a la aplicación
Interfaz
React en una webview
Núcleo Rust
App Tauri y crate de dominio
Procesos
Lanzados en la máquina
Almacenamiento
Archivos y base locales
Programas auxiliares
Los ejecuta el agente
Entrega
Compilación y publicación
Seleccione una parte del diagrama para ver qué hace. Cada color es un flujo a través del sistema.