Automate your tooling checklist with Preflight
Preflight will run a list of commands for you to make sure that you are ready to go on your journey. This can be usefull when you are reinstalling your computer and are used to some configuration, or to make sure that the onboarding in a new team is complete.
For now, simply download preflight and run it. More options will come 💪
preflight path/to/yaml/descriptor
The path/to/yaml/descriptor
is a YAML
file with a list of System Checks. You can find an exemple in docs/demo.yaml. Feel free to download and edit it to fit your needs, it showcases every possibilities.
Preflight got you! If you have an URL, Preflight will fetch the file for you and run as usual after that. Just pass the --remote
(-r
) flag:
Firstly, remember that this is check-list. The top level object is a list. Each entry is called a SystemCheck
:
Key | Type | Mandatory | Description |
---|---|---|---|
name | string |
yes | Name of the category of commands |
description | string |
no | Explain why this check is being made. (Ex: you should be able to manage different node versions). |
optional | boolean |
no | Default to false . If set to true, can fail. It will still display the verose message |
checkpoints | []Checkpoint |
yes | The list of options. At least one should pass to make the SystemCheck green |
And each Checkpoint
is defined as follow:
Key | Type | Mandatory | Description |
---|---|---|---|
name | string |
yes | Name of the command / label to display |
command | string |
yes | the actual command passed to the runner. By default, preflight will only assert if the command exist on your machine. |
use_interactive | boolean |
no | Default to false . Usefull when you need to execute a command in interactive shell (it runs .bashrc file before, usefull for nvm) |
documentation | string |
yes | In case of failure, display some info to the user about what to do next. This should at least be a link to the documentation on how to install said command. |
- File based decriptor
- fetch file from public URL
- Make it installable seamlessly
- Add flag-based descriptor for major use-cases. Go fileless
Currently supported Systems:- Node
- Node Version Managers (nvm, n, volta)
- Yarn
- Missing some config ? Feel free to open an issue to discuss it, and read related docs!
➡️ See CONTRIBUTING
➡️ Want to add a new preset ? See presets docs