Metadata-Version: 2.4
Name: sololc-vvault
Version: 0.1.1
Summary: vlt - Minimalist Secure Vault (Vvault CLI)
Project-URL: Homepage, https://github.com/nuv0x/sololc-vvault
Project-URL: Repository, https://github.com/nuv0x/sololc-vvault
Project-URL: Issues, https://github.com/nuv0x/sololc-vvault/issues
Author-email: Josh Klein <gigacoderx@gmail.com>
License: BSD-3-Clause
License-File: LICENSE
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.11.15
Requires-Dist: cryptography>=46.0.7
Requires-Dist: opencv-python>=4.13.0.92
Requires-Dist: pillow>=12.2.0
Requires-Dist: pyotp>=2.9.0
Requires-Dist: pyperclip>=1.11.0
Requires-Dist: python-dotenv>=1.2.2
Requires-Dist: pyyaml>=6.0.3
Requires-Dist: qrcode>=8.2
Requires-Dist: rich>=14.3.3
Requires-Dist: typer>=0.24.1
Description-Content-Type: text/markdown

# 🛡️ Sololc Vvault (vlt)
[![PyPI version](https://img.shields.io/pypi/v/sololc-vvault.svg?color=blue)](https://pypi.org/project/sololc-vvault/)
[![Python versions](https://img.shields.io/pypi/pyversions/sololc-vvault.svg)](https://pypi.org/project/sololc-vvault/)
[![License](https://img.shields.io/badge/License-BSD--3--Clause-orange.svg)](https://opensource.org/licenses/BSD-3-Clause)

**An elegant, functional, and secure CLI authenticator built for power users.**

`Vvault` (pronounced *Volt*) is a modern 2FA (Two-Factor Authentication) secret manager designed for the terminal. It balances industrial-grade security with a "bright and shiny" user experience, allowing you to manage your TOTP tokens with style and speed.

## ✨ Features

* **⚡️ Live Dashboard**: A visually stunning, real-time terminal UI to monitor all your TOTP codes and their expiration countdowns.
* **🔒 Local-First Security**: Secrets are stored physically in the `~/.vlt/` directory with strict file permissions.
* **📂 Smart Import**: Seamlessly import accounts via QR code images or standard `otpauth://` URL links.
* **📋 Clipboard Integration**: Copy verification codes directly to your clipboard with a single flag for lightning-fast logins.
* **🛠️ Modern Tech Stack**: Powered by `uv`, `Typer`, `Rich`, and `QReader` for a lightweight yet robust experience.

## 🚀 Installation

Ensure you have **Python 3.11+** installed. We recommend using [uv](https://github.com/astral-sh/uv) for the fastest installation and performance.

```bash
# Clone the repository
git clone [https://github.com/nuv0x/Vvault.git](https://github.com/nuv0x/Vvault.git)
cd Vvault

# Install dependencies and install the tool in editable mode
uv sync
pip install -e .
```

## 📖 Usage Guide
Vvault uses the short and punchy vlt command.

1. Initialization
Set up your secure storage directory at ~/.vlt/.
```bash
vlt init
```

2. Adding Accounts
You can add accounts manually or import them intelligently via QR codes.

Manual Add:
```bash
vlt add github --secret KHR2UEJ33JJG... --issuer GitHub --category Dev
```

QR Code Import:
```bash
vlt import --qr ./path/to/qr_code.png
```

URL Import:
```bash
vlt import --url "otpauth://totp/Service:User?secret=XYZ..."
```

3. Management & Viewing
Launch Live Dashboard:
```bash
vlt dash
```

Get a Single Code:
```bash
vlt get github          # Display the code
vlt get github --copy   # Display and automatically copy to clipboard
```

List All Accounts:
```bash
vlt list
```

4. Backup
Keep your data safe by exporting your vault.
```bash
vlt backup ./my_backup.yaml
```

## 🛠️ Project Structure
The project follows a modular, functional design for clarity and maintainability:
* src/relay_2fa/core/: Core logic layer containing TOTP generation, physical storage, and vault operations.
* src/relay_2fa/main.py: Interaction layer featuring the polished CLI interface built with Typer and Rich.
* ~/.vlt/: The default local data storage path.

## 🤝 Contributing
Contributions are welcome! If you have ideas for new features (such as supporting the Google Migration protocol or adding Master Password encryption), please feel free to:
* Fork the Project
* Create your Feature Branch (git checkout -b feature/AmazingFeature)
* Commit your Changes (git commit -m 'Add some AmazingFeature')
* Push to the Branch (git push origin feature/AmazingFeature)
* Open a Pull Request
