## Installation
Installation requires the [Go runtime](http://golang.org/doc/install) because
-there is no binary distribution yet.
+there is no binary distribution yet. To install, use the go command:
-After installing Go, clone this repository and type `make`:
+ $ go get https://github.com/rsesek/armadillo
- $ git clone https://github.com/rsesek/armadillo
- $ make
-
- # Or to minify the JavaScript:
-
- $ make release
-
-If you have Java installed, you can use the
-[Closure Compiler](https://developers.google.com/closure/compiler/) to minify
-and compile the frontend JavaScript code by typing `make release`.
-
-After building, you will have a binary named `armadillo`.
+After building, you will have a binary named `armadillo` in your $GOBIN.
## Configuration
-Armadillo can either be configured using command line parameters, or via a JSON
+Armadillo can either be configured using command line parameters or via a JSON
configuration file in `~/.armadillo`. The two important directives are
"JailRoot" and "Port":
"Port": 8084
}
-You can specify these values on the command line. See `armadillo -help` for
+You can also specify these values on the command line. See `armadillo -help` for
more details.
## Security
Armadillo does not fork itself into a daemon process; it runs under the user
-who started t. This is because it needs read and write permission to the file
+who started it. This is because it needs read and write permission to the file
system.
**NOTE: Armadillo provides no form of authorization or authentication. It is
And armadillo will start serving with the configuration file you specified in
the plist. The next time you log in, armadillo will run automatically.
+
+## Contributing
+
+Contributions to armadillo are welcome. There is a Makefile used for local
+development builds. There are four targets of interest to contributors:
+
+* `backend`: This target merely runs the go build command in the local directory.
+* `frontend`: Generates the frontend "binary" armadillo.js by referencing and
+ loading all the other frontend files. This is used for debugging and iterative
+ development.
+* `all`: The default target, which executes `backend` and `frontend`.
+* `release`: Like `all`, but rather than generating a frontend binary for
+ debugging, this runs the frontend code through the
+ [Closure Compiler](https://developers.google.com/closure/compiler/) to minify
+ and optimize it.
+
+All other targets are reserved for the project maintainer.
+
+Patches can be distributed via pull requests, if your history and commit
+messages are clean. Please also follow existing code style conventions.