![Cuba Icon](https://codeberg.org/zarni/cuba/raw/tag/v0.2.0/cuba-gui/assets/icons/icon.svg)
# 💻 Cuba CLI

[![Build](https://ci.codeberg.org/api/badges/zarni/cuba/status.svg)](https://ci.codeberg.org/zarni/cuba)
[![License: MIT or Apache 2.0](https://img.shields.io/badge/License-MIT_or_Apache_2.0-blue)](https://opensource.org/licenses/MIT)
---

The command-line interface for Cuba, a lightweight and flexible backup tool. See the [Workspace README](https://codeberg.org/zarni/cuba/src/tag/v0.2.0/README.md) for full documentation.

# Installation

Install as an application:
```bash
cargo install cuba-cli
```

## Usage

```bash
Cuba - a lightweight backup tool

Usage: cuba <COMMAND>

Commands:
  backup    Run a backup
  restore   Run a restore
  verify    Run a verify
  clean     Run a clean
  password  Manage passwords
  config    Show/write config
  help      Print this message or the help of the given subcommand(s)

Options:
  -h, --help     Print help
  -V, --version  Print version
```

## Quick Start

First, create an example configuration:

```bash
cuba config example write
```

Then open the generated config file and define:
- a local filesystem (the source of your data)
- a backup filesystem (e.g., WebDAV, local path, etc.)
- a backup profile describing what should be backed up and where

If you want to use encryption, store a password in your OS keyring:

```bash
cuba password set backup_id
```

Make sure that backup_id matches the password_id used in your encryption settings.

## Related Packages

### 📦 Cuba Lib 
[crates.io](https://crates.io/crates/cuba-lib) | [Repository](https://codeberg.org/zarni/cuba/src/tag/v0.2.0/cuba-lib/README.md)

### 🖱️ Cuba GUI

[crates.io](https://crates.io/crates/cuba-gui) | [Repository](https://codeberg.org/zarni/cuba/src/tag/v0.2.0/cuba-gui/README.md)

## License

See [Workspace README](https://codeberg.org/zarni/cuba/src/tag/v0.2.0/README.md).