Об этом проекте

Vauchi CLI представляет собой интерфейс командной строки для Vauchi — системы «живых» визитных карточек, предназначенных для обмена при личной встрече. Репозиторий является зеркалом gitlab.com/vauchi/cli, где следует открывать тикеты и merge-запросы. Проект находится на стадии pre-alpha и в активной разработке, он не готов к промышленному использованию, а API могут измениться без уведомления. Установка выполняется с помощью команды cargo build -p vauchi-cli --release, в результате чего бинарный файл создается в target/release/vauchi. Пользователи могут создать криптографическую личность с помощью vauchi init "Your Name". Управление визиткой включает просмотр карты, добавление таких полей, как email, телефон, социальные сети и веб-сайт, а также редактирование и удаление полей. Обмен контактами разработан для использования QR-кодов при личной встрече. Команда vauchi exchange start генерирует QR-код обмена, а vauchi exchange complete "wb://..." завершает обмен, используя данные QR-кода другого пользователя. В README описан двусторонний процесс: одна сторона инициирует обмен, другая завершает его и добавляет первую сторону в контакты, после чего обе стороны синхронизируются с реле для обмена отображаемыми именами. Команды управления контактами включают список контактов, просмотр деталей, поиск по имени, проверку отпечатка (fingerprint) контакта и удаление контакта. Команда vauchi sync синхронизирует данные с сервером реле для получения ожидающих сообщений. Резервное копирование и восстановление осуществляются через зашифрованные команды экспорта и импорта: vauchi export backup.vauchi и vauchi import backup.vauchi. Глобальные опции позволяют указать пользовательский каталог данных (по умолчанию ~/.local/share/vauchi) и сервер реле (по умолчанию ws://localhost:8080). CLI использует vauchi-core для криптографических операций и управления данными. Связь с сервером реле осуществляется по протоколу WebSocket с использованием простого JSON-протокола. Структура исходного кода включает main.rs для точки входа и маршрутизации команд, директорию commands для создания личности, управления картами, контактами, обменом, синхронизацией и бэкапом, а также модули config, display и protocol. В README указаны обязательные правила разработки: TDD по циклу Red-Green-Refactor, написание тестов перед кодом, хранение продуктивного кода строго в src/, а тестов — в соседней директории tests/. Проект финансируется сообществом через GitHub Sponsors и Liberapay и распространяется под лицензией GPL-3.0-or-later.