Add outline-cli: minimal CLI for search and document retrieval
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.
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
[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"
|
||||
Reference in New Issue
Block a user