ideation
This commit is contained in:
commit
2607a2c102
|
@ -0,0 +1,67 @@
|
|||
---
|
||||
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.
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,137 @@
|
|||
|
||||
- bat:
|
||||
desc: a better less
|
||||
|
||||
- exa:
|
||||
desc: enhanced ls
|
||||
|
||||
- fio:
|
||||
desc: io benchmark
|
||||
|
||||
- fzf:
|
||||
desc: fuzzy search
|
||||
|
||||
- glances:
|
||||
desc: a better top/htop
|
||||
|
||||
- gloss:
|
||||
desc: markdown viewer
|
||||
|
||||
- gotty:
|
||||
desc: Share your terminal as a web application
|
||||
|
||||
- gron:
|
||||
desc: flatter json to make it greppable
|
||||
repo: tomnomnom/gron
|
||||
|
||||
- hx:
|
||||
name: helix
|
||||
desc: text editor, inspired by vim
|
||||
|
||||
- jless:
|
||||
desc: json document browser
|
||||
|
||||
- jp:
|
||||
desc: ploting
|
||||
|
||||
- jq:
|
||||
desc: json query
|
||||
|
||||
- outrun:
|
||||
desc: Delegate execution of a local command to a remote machine.
|
||||
|
||||
- mintotp:
|
||||
desc: generate TOTP from the terminal
|
||||
|
||||
- pet:
|
||||
desc: manager snippets
|
||||
|
||||
- pylufic:
|
||||
inst: direct
|
||||
desc: Let's upload that file CLI
|
||||
|
||||
- qr:
|
||||
desc: generate qr code
|
||||
|
||||
- rg:
|
||||
name: ripgrep
|
||||
desc: improved grep
|
||||
repo: BurntSushi/ripgrep
|
||||
|
||||
- slugify:
|
||||
desc: generate sluged version of input
|
||||
repo: un33k/python-slugify
|
||||
|
||||
- slurp:
|
||||
desc: put whole input in memory before processing
|
||||
shell: cat > /dev/shm/slurp_$$ && cat /dev/shm/slurp_$$ ; rm /dev/shm/slurp_$$
|
||||
|
||||
- sqlite-utils:
|
||||
desc: manipulate sqlite db (ETL)
|
||||
website: https://sqlite-utils.datasette.io/
|
||||
pipx:
|
||||
|
||||
- stork:
|
||||
desc: full text search, index in terminal, query in terminal or embed in web page
|
||||
repo: jameslittle230/stork
|
||||
|
||||
- tab:
|
||||
desc: A modern text/number processing language for the shell.
|
||||
website: http://tab-lang.xyz/
|
||||
repo: https://bitbucket.org/tkatchev/tab
|
||||
|
||||
- teip:
|
||||
desc: Highly efficient "Masking tape" for Shell
|
||||
repo: greymd/teip
|
||||
|
||||
- tldr:
|
||||
desc: Collaborative cheatsheets for console commands ; must choose a client
|
||||
website: https://tldr.sh/
|
||||
|
||||
- tqdm:
|
||||
desc: a better pv
|
||||
pip:
|
||||
|
||||
- ttyd:
|
||||
desc: share terminal over the web
|
||||
repo: tsl0922/ttyd
|
||||
|
||||
- up:
|
||||
desc: interactively edit pipe
|
||||
name: Ultimate Plumber
|
||||
repo: akavel/up
|
||||
|
||||
- vd:
|
||||
name: VisiData
|
||||
desc: interactive multitool for tabular data
|
||||
pip: visidata,lxml,odfpy,openpyxl,pyarrow,urllib3,requests,pyinstaller
|
||||
|
||||
- watchgod:
|
||||
desc: Watch a directory and execute a python function on changes.
|
||||
pip:
|
||||
|
||||
- websocat:
|
||||
desc: client for web sockets, like netcat/curl/socat but for ws://
|
||||
repo: vi/websocat
|
||||
|
||||
- ww:
|
||||
name: webwormhole
|
||||
desc: creates ephemeral pipes between computers
|
||||
website: https://webwormhole.io/
|
||||
|
||||
- xsv:
|
||||
desc: a fast CSV command line toolkit
|
||||
repo: BurntSushi/xsv
|
||||
|
||||
- zee:
|
||||
desc: modern text editor for the terminal
|
||||
cargo:
|
||||
|
||||
- zq:
|
||||
desc: process data with Zed queries
|
||||
repo: brimdata/zed
|
||||
|
||||
- zsync:
|
||||
desc: file transfer program ; based on rsync ; downloads only new parts of the file
|
||||
website: http://zsync.moria.org.uk/
|
||||
|
Loading…
Reference in New Issue