cliget/README.md

68 lines
2.3 KiB
Markdown
Raw Normal View History

2023-02-01 15:16:35 +00:00
---
title: manage command line tools in user profile
date: 2023-02-01
tags: linux, devtools, cli
---
Installs standalone command line utilities in your user profile
# motivations
You have a bunch of useful tools for day to day activity in the terminal, as a dev or ops guy. Tools like jq, fzf, exa, etc.
But you never know if there are up to date, where they come from, what do they to exactly, do you still need them.
Few of them are part of you OS package manager. Most of the time old version. And you may not want to insall them system wide actually.
Cliget lists, installs and updates standalone command line utilities in your user profile.
Inspired by envinstall (private), [webinstall](gh:webinstall/webi-installers), [asdf](gh:asdf-community/.github).
# what
- [ ] search catalog
- [ ] identify latest version
- [ ] download last release
- [ ] from GH release
- [ ] install for user
- [ ] from tar.gz
- [ ] list installed
- [ ] identify installed version
- [ ] can install itself
- [ ] have nice defaults (gh release, targz, x86_64, linux, etc.)
- [ ] small codebase, preferably one file
## won't
- manage dependencies like apt or pip does
- install system wide
- install outside of dedicated folder
- install from source, be could (rust/cargo, python/pip, go/go)
- uninstall ; user can remove by her/him-self.
- overlap with package managers (apt, yum, etc.) or environment managers (nix, asdf, etc.)
# FAQ
#### I don't want to install python on my machine
CliGet is written in Python but packaged as a standalone program with no dependencies except lic and zlib.
#### I don't trust you. What prevent you from dumping me a malware instead of a genuine software ?
* source code is available and very straightforward. you can audit the code, build from source or even write your own version
* the tool, will by default, prompt you with clear information of what will be done before install
* catalog is only one file, readable, with clear information on where the software is coming from and how it will be installed
* also keep in mind you also have to trust the to be installed software dev team. We are different teams.
#### I want this for macos or mswindows
Currently only Linux is supported. It shoud work on all unix like OS. For others, contributions are wellcome as long as they do not compicate the tool too much.