scaffold the CLI, logging and turn research into TODOs

This commit is contained in:
kalmenn 2026-02-01 17:23:35 +01:00
commit 6aa7e23872
Signed by: kalmenn
GPG key ID: F500055C44BC3834
17 changed files with 888 additions and 0 deletions

46
TODO.md Normal file
View file

@ -0,0 +1,46 @@
# Subcommands
## import
Import an identity from a gpg key.
Relevant crates:
```Cargo.toml
# For finding the cache directory in which to store the SSH keys exported from GPG and identities
dirs = "6.0.0"
# For importing GPG keys
gpgme = "0.11.0"
# For reading/writing identities' files
serde = { version = "1.0.228", features = ["derive"] }
toml = "0.9.11"
```
## use
Set the identity of the current git repo
Relevant crates:
```Cargo.toml
# For writing to the local git config as well as to allow configuring git-identity from git
git2 = { version = "0.20.3", default-features = false }
```
## show
Show a saved identity or the identity that's currently effective
## delete
Remove a saved identity
## list
List all saved identities
## edit
Interactively edit a saved identity (or in a text editor when using a specific flag)
# User input
[inquire](https://docs.rs/inquire/latest/inquire/) seems simple enough. But
[dialoguer](https://docs.rs/dialoguer/latest/dialoguer/) is the one use by tauri which seems much
more complete.
# Completions
clap_complete does that statically. It will be able to do it dynamically once the
[Rust-Native Completion Engine (#3166)](https://github.com/clap-rs/clap/issues/3166) feature lands