rustio-admin-cli 0.13.0

Command-line tools for rustio-admin: project scaffolding, migrations, user management.
[package]
name = "rustio-admin-cli"
# Tracks the workspace minor. Bundled template pins new projects to
# `rustio-admin = "0.12.0"`.
version = "0.13.0"
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
authors.workspace = true
description = "Command-line tools for rustio-admin: project scaffolding, migrations, user management."
readme = "../../README.md"

[[bin]]
name = "rustio"
path = "src/main.rs"

[dependencies]
rustio-admin = { workspace = true }

# CLI surface
clap      = { version = "4", features = ["derive"] }
rpassword = "7"

# DB + env (DATABASE_URL is read from .env when present)
sqlx      = { version = "0.8", default-features = false, features = ["runtime-tokio", "postgres", "chrono"] }
chrono    = { version = "0.4", default-features = false, features = ["clock", "std"] }
dotenvy   = "0.15"
tokio     = { version = "1", features = ["rt-multi-thread", "macros"] }
env_logger = "0.11"
log       = "0.4"
# R4 emergency-recovery audit metadata. The CLI assembles a
# `serde_json::Value` per command (`cli_operation`, `reason`,
# `os_actor`, `cli_invocation`, plus per-op fields) and hands it
# to the framework's `audit::record`. The crate is already in the
# transitive tree via rustio-admin; declaring it as a direct dep
# keeps the call site reviewable.
serde_json = "1"
# `rustio doctor email` opens a SMTP handshake against the
# configured server (and optionally sends a single test
# message). Matches the `lettre` feature set the
# library-circulation example ships with.
lettre = { version = "0.11", default-features = false, features = ["smtp-transport", "tokio1", "tokio1-rustls-tls", "builder", "hostname"] }