This tool is currently WIP
What is sdf?
sdf
is a cli tool. The name sdf
does not stand for anything - it's just easy to type.
What is the goal of sdf?
To automate anything you can. It is meant to be:
- The infrastructure on which you can build your functions exposed via the cli. This infrastructure allows retreiving the results of previously executed commands.
Basic usage
With a command line argument - single run mode
To run a command staright away (without being prompted to choose one from a selection), pass the command name to sdf
e.g. sdf some-command
. This is called "single run mode".
Without a command line argument - loop mode
Running sdf
without a command line argument (with or without flags), will show a list of commands you can fuzzy search from. When running sdf
like this, you will enter into a loop i.e. running one command to completion will result in the list of commands being shown again. You can quit this by choosing the exit
command or sending a SIGINT signal via Ctrl-C
.
In "single run mode" - you might want to pipe sdf
's result to another command - hence the lack of the loop. However, note that some commands are still interactive in "single run mode" making them hard to pipe to another command. If part of an interactive command is useful on its own - it should be split into its own command.
It can be desirable to run in "loop mode" as commands can keep state (e.g. their prefious results) - which can then be used as input to other commands. e.g. you may want to interactively select merge requests to work on and then run a command against them (e.g. changing their labels)
TODO: add cli opt to not loop after running first command from list prompt.
Loading custom commands
- cli flag to auto load
- if single run mode and not found in internal commands -
sdf
will auto load custom commands and see if it finds the command there (fails otherwise)