An Erlang Lisper's Tool for Admin Tasks, Project Creation, and Infrastructure
Currently, the script supports these basic options:
- help or -h
- version or -v
- extract or -x
And these commands:
Usage information for each of these is linked to below in the "Usage" section.
Note: This project superscedes its precursor, the lfe-skel project.
Download the shell script and save it to a directory in your $PATH. For example:
$ curl -L -o ./lfetool https://raw.github.com/lfe/lfetool/master/lfetool $ bash lfetool install
This will install lfetool to /usr/local/bin. Depending upon how the permissions for your chossen path are setup, you may need to use sudo.
If you installed with sudo but would like to be able to self-update the script in the future, you should also change the ownership:
$ chown $USER /usr/local/bin/lfetool
To run lfetool more quickly, you can pre-extract the executable:
$ lfetool -x
This will be done for you eventually if you execute the lfetool repl command.
If you'd like to be able to update with the latest changes in the master branch, you can do this instead:
$ cd ~/lab/ $ git clone https://github.com/lfe/lfetool.git $ cd lfetool $ ln -s ./lfetool /usr/local/bin/
Permissions are already set on the script in the repo, so there's no need to do anything further.
lfetool offer several command-line options/flags. The details are presented on the "options" manual page:
Details on each of the commands listed below and the subcommands they offer are linked to individual pages:
Creating lfetool Plugins
Developing additional lfetool commands
This section has been created for those that would like to submit patches/pull requests to lfetool for bug fixes and/or new features. At the very least, it should provide a means for understanding what is needed in order to add new commands to lfetool.
Adding new commands to lfetool is as simple as creating a new plugin. One can start by either copying an existing plugin that most closely resembles the sort of plugin you want to create, or starting completely from scratch.
For those that wish to start from scratch, the following dev guide is provided: