Adds a command-line client in cli/ as its own Cargo workspace, depending on the outline library via a path dependency. Covers exactly the requested scope: login (stores the API key in the system keyring via the Secret Service D-Bus protocol, verified against auth.info() before storing), search (full-text), and get (fetch a document, render its markdown to a self-contained HTML page, open it in the default browser). Verified end-to-end against a real Outline instance and the local gnome-keyring: login stores and search/get retrieve the token purely from the keyring and saved config, with no environment variables set.
30 lines
703 B
TOML
30 lines
703 B
TOML
[package]
|
|
name = "outline-cli"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
rust-version = "1.85"
|
|
publish = false
|
|
|
|
[workspace]
|
|
|
|
[[bin]]
|
|
name = "outline"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
outline-sdk = { path = "..", default-features = false, features = ["rustls-tls"] }
|
|
anyhow = "1"
|
|
clap = { version = "4.6", features = ["derive", "env"] }
|
|
directories = "6"
|
|
open = "5.4"
|
|
pulldown-cmark = { version = "0.13", default-features = false, features = ["html"] }
|
|
rpassword = "7.5"
|
|
secret-service = { version = "5.1", features = ["rt-tokio-crypto-rust"] }
|
|
serde = { version = "1", features = ["derive"] }
|
|
toml = "1"
|
|
tokio = { version = "1", features = ["rt", "macros"] }
|
|
url = "2"
|
|
|
|
[dev-dependencies]
|
|
serde_json = "1"
|