À propos du projet

Vauchi CLI est l'interface en ligne de commande pour Vauchi, décrit comme un système de cartes de contact dynamiques échangées en personne. Le dépôt est un miroir en lecture seule de gitlab.com/vauchi/cli, où les problèmes et les demandes de fusion doivent être ouverts. Le projet est en phase pré-alpha et en plein développement, n'est pas prêt pour la production, et ses API peuvent changer sans préavis. L'installation s'effectue avec cargo build -p vauchi-cli --release, produisant le binaire dans target/release/vauchi. Les utilisateurs peuvent créer une identité cryptographique avec vauchi init "Votre Nom". La gestion de la carte de contact comprend l'affichage de la carte, l'ajout de champs tels que l'e-mail, le téléphone, les réseaux sociaux et le site web, ainsi que l'édition et la suppression de champs. L'échange de contacts est conçu pour une utilisation de codes QR en personne. vauchi exchange start génère un code QR d'échange, et vauchi exchange complete "wb://..." complète un échange en utilisant les données QR de quelqu'un d'autre. Le README décrit un flux bidirectionnel : une partie commence un échange, l'autre le complète et ajoute la première comme contact, puis les deux se synchronisent avec le relais pour échanger les noms d'affichage. Les commandes de gestion des contacts incluent la liste des contacts, l'affichage des détails du contact, la recherche par nom, la vérification de l'empreinte d'un contact et la suppression d'un contact. vauchi sync synchronise avec le serveur relais pour recevoir les messages en attente. La sauvegarde et la restauration utilisent des commandes d'exportation et d'importation cryptées : vauchi export backup.vauchi et vauchi import backup.vauchi. Des options globales permettent de spécifier un répertoire de données personnalisé, par défaut ~/.local/share/vauchi, et un serveur relais, par défaut ws://localhost:8080. Le CLI utilise vauchi-core pour les opérations cryptographiques et la gestion des données. La communication avec le serveur relais utilise WebSocket avec un protocole JSON simple. La structure du code source comprend main.rs pour le point d'entrée et le routage des commandes, un répertoire commands pour la création d'identité, la gestion des cartes, les contacts, l'échange, la synchronisation et la sauvegarde, ainsi que des modules config, display et protocol. Le README stipule des règles de développement obligatoires : TDD avec Red-Green-Refactor, les tests d'abord, et le maintien de src/ pour le code de production uniquement et de tests/ pour les tests uniquement en tant que dossiers frères plutôt qu'imbriqués. Le projet est financé par la communauté via GitHub Sponsors et Liberapay, et est sous licence GPL-3.0-or-later.