-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Description
The current installation/setup should be modernized to streamline it for new users with a typical use case for CLI interaction.
Current UX:
- Installation using pip or pipx results in a non-operational client (missing dependencies).
- Installation for CLI usage requires use of pipenv, which is unorthodox (it's really used for replicating consistent development environments).
- Installation requires access to the Git repo to access a template configuration file to be edited by the user to complete setup.
- Configuration file uses a generic name (config.yml) and setup instructions seem to assume that the CLI tool will be run from the Git checkout with the config file local to the checkout.
Recommended/improved UX:
- Installation with pip or pipx should be one-shot, with dependencies specified in the pyproject.toml (modern) or setup.py (dated but supported). pipx is used when only the CLI will be used and no library usage is expected; pip is used when a user is expected to use the module as a library. Both should result in the installation of all dependencies.
- Eliminate pipenv from the UX.
- Add a supported CLI command to prompt the user for host and API key and output a functional configuration file. Common commands include
init,setup, orconfig, etc. - The output config file should be stored as a dotfile in $HOME (old) or in
~/.config(new).- The old dotfile method would be a named file such as
$HOME/.iq-cli.yml; this is considered legacy and has been replaced by a new config file spec in Freedesktop standards. - The modern Freedesktop spec would use a file at
$XDG_CONFIG_HOME(https://specifications.freedesktop.org/basedir-spec/latest/ar01s03.html) using a path such as$HOME/.config/iq-cli/config.yml.
- The old dotfile method would be a named file such as
Reactions are currently unavailable