Sobre el proyecto

Vauchi CLI es la interfaz de línea de comandos para Vauchi, descrito como un sistema de tarjetas de contacto vivas intercambiadas en persona. El repositorio es un espejo de solo lectura de gitlab.com/vauchi/cli, donde se deben abrir los problemas y las solicitudes de fusión. El proyecto está en fase pre-alpha y bajo un desarrollo intenso, no está listo para producción y sus APIs pueden cambiar sin previo aviso. La instalación se realiza con cargo build -p vauchi-cli --release, produciendo el binario en target/release/vauchi. Los usuarios pueden crear una identidad criptográfica con vauchi init "Your Name". La gestión de la tarjeta de contacto incluye mostrar la tarjeta, añadir campos como correo electrónico, teléfono, redes sociales y sitio web, editar campos y eliminar campos. El intercambio de contactos está diseñado para el uso de códigos QR en persona. vauchi exchange start genera un código QR de intercambio, y vauchi exchange complete "wb://..." completa un intercambio utilizando los datos del código QR de otra persona. El README describe un flujo bidireccional: una parte inicia un intercambio, la otra lo completa y añade a la primera como contacto, luego ambos se sincronizan con el relay para intercambiar nombres de visualización. Los comandos de gestión de contactos incluyen listar contactos, mostrar detalles del contacto, buscar por nombre, verificar la huella digital de un contacto y eliminar un contacto. vauchi sync sincroniza con el servidor relay para recibir mensajes pendientes. El respaldo y la restauración utilizan comandos de exportación e importación cifrados: vauchi export backup.vauchi y vauchi import backup.vauchi. Las opciones globales permiten especificar un directorio de datos personalizado, por defecto ~/.local/share/vauchi, y un servidor relay, por defecto ws://localhost:8080. El CLI utiliza vauchi-core para operaciones criptográficas y gestión de datos. La comunicación con el servidor relay utiliza WebSocket con un protocolo JSON simple. La estructura del código fuente incluye main.rs para el punto de entrada y el enrutamiento de comandos, un directorio de comandos para la creación de identidad, gestión de tarjetas, contactos, intercambio, sincronización y respaldo, además de módulos de configuración, visualización y protocolo. El README establece reglas de desarrollo obligatorias: TDD con Red-Green-Refactor, pruebas primero, y mantener src/ solo para código de producción y tests/ solo para pruebas como hermanos en lugar de anidados. El proyecto está financiado por la comunidad a través de GitHub Sponsors y Liberapay, y tiene licencia GPL-3.0-or-later.