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.
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/stable/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:
The following branches are used by this project:
- stable - what you should use for all your production needs; currently on v1.x; this is the default branch
- dev-v1 - on-going improvements to the v1.x series
- dev-v2 - a conversion of lfetool from a large Bash script to an LFE project; the v2.x series (every release to stable gets merged into dev-v2, to benefit from any bug fixes/hot-fixes/template improvements/additions/etc.)
- master - this is kept around for legacy purposes (there are some projects still using the old v1.0.x series)
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: