A fast, native personal Jira daily-driver — for getting through your assigned work (see, transition, comment, create) without the slow web UI. Deliberately not a Jira admin tool: configuration is left to the web; this is the pleasant all-day client. Built in Rust (same stack as Noet).
The name is a misspelling of client — a tiny typo-named tool, like Noet (note).
Status: engine + GUI working (v0.1). The native Slint app runs with a login wizard, My Work list, issue detail, comment, and status transitions. OAuth's interactive flow and a few GUI actions are still in progress — see CHANGELOG.
crates/
core/ → lient-core (lib) Jira REST client, models, config, auth, mock — NO ui deps
cli/ → lient-cli (bin) a scriptable frontend over the core
gui/ → lient (bin) the native Slint desktop app
cargo run -p lient-gui # opens the login wizard (or your saved account)
cargo run -p lient-gui -- --demo # explore with fixture data, no Jira neededRuns against in-memory fixtures, so you can see it work with zero setup:
cargo run -p lient-cli -- --demo list
cargo run -p lient-cli -- --demo view ACME-101
cargo run -p lient-cli -- --demo transitions ACME-101Set env vars (or write ~/.config/lient/config.json). Tokens are local only,
never committed.
# Jira Cloud (email + API token):
export LIENT_URL=https://yourorg.atlassian.net
export LIENT_EMAIL=you@company.com
export LIENT_TOKEN=<api-token> # id.atlassian.com → API tokens
# Jira Server / Data Center (Personal Access Token):
export LIENT_URL=https://jira.company.com
export LIENT_TOKEN=<personal-access-token> # (no LIENT_EMAIL → Bearer/PAT)
cargo run -p lient-cli -- whoami # confirm the connection
cargo run -p lient-cli -- list # your open issues
cargo run -p lient-cli -- view ENG-12 # one issue + comments
cargo run -p lient-cli -- transitions ENG-12
cargo run -p lient-cli -- comment ENG-12 "on it"
cargo run -p lient-cli -- open ENG-12 # open in browserlient-core implements every common way to authenticate:
| Method | Flavor | How |
|---|---|---|
| API token | Cloud | email + token (Basic) |
| Username + password | Server/DC | user + pass (Basic) |
| Personal Access Token | Server/DC | PAT (Bearer) |
| OAuth 2.0 (3LO) | Cloud | "Sign in with Atlassian" — routing implemented; interactive flow lands with the GUI |
| Raw header | any (SSO/proxy) | paste an Authorization header |
cargo test # 10 core tests (auth, parsing, mock read/write) — no server neededThe Jira trait (lient_core::Jira) is the seam: JiraClient hits the network,
MockJira serves fixtures. The GUI talks to Box<dyn Jira>, so the entire app
runs in demo mode offline and switches to live Jira by providing a token.
TBD.