CLI
Collections
- The Art of Command Line
- 🤖 just is a handy way to save and run project-specific commands.
- Structured text tools - The following is a list of text-based file formats and command line tools for manipulating each.
- ls-lint - An extremely fast directory and filename linter - Bring some structure to your project filesystem
- mise-en-place - dev tools, env vars, task runner
- Flox is a virtual environment and package manager all in one.
- Terminal Text Effects
- chezmoi - Manage your dotfiles across multiple diverse machines, securely.
- dotenvx - a better dotenv–from the creator of
dotenv
.- run anywhere (cross-platform)
- multi-environment
- encrypted envs
- Solarized - Precision colors for machines and people
Shell
- try lets you run a command and inspect its effects before changing your live system.
try
uses Linux's namespaces (viaunshare
) and the overlayfs union filesystem. - atuin - ✨ Magical shell history
- fish - the friendly interactive shell
- pure.fish - Pretty, minimal, and fast prompt for Fish shell
Script
- zx - A tool for writing better scripts using javascript
Features
- Fig adds autocomplete to your terminal
- Watchexec - Executes commands in response to file modifications
Reflex
Run a command when files change
I have been using reflex https://github.com/cespare/reflex for the same thing in some of our docker projects
+1 for reflex, love being able to have a config for development
Example .reflex.conf to run one command when an openapi spec changes and another when any go files change:
-g "spec.yaml" -- bash -c 'make'
-sr "\.go$" -- go run cmd/app/main.go
Then run it with:
reflex -d fancy -c .reflex.conf
Why you should use reflex instead
- Reflex has no dependencies. No need to install Ruby or anything like that.
- Reflex uses an appropriate file watching mechanism to watch for changes efficiently on your platform.
- Reflex gives your command the name of the file that changed.
- No DSL to learn -- just give it a shell command.
- No plugins.
- Not tied to any language, framework, workflow, or editor.
Viewer
- fx - Terminal JSON viewer
- Write reducers in your favorite language: JavaScript (default), Python, or Ruby.
Children