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:
install
update
new
tests
repl
info
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:
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: