This project began at [Basho](, the creators and
maintainers of Riak. Due to the importance of webmachine to the
broader Erlang community, a new organization was formed. Please
contact [@seancribbs]( to get involved.

### Overview

[![Build Status](](

Webmachine is an application layer that adds HTTP semantic awareness
on top of the excellent bit-pushing and HTTP syntax-management
provided by mochiweb, and provides a simple and clean way to connect
that to your application's behavior.

More information is available
[here]( You can also
read past blog posts about Webmachine

### Development

Webmachine is a [rebar3]( project.

Running all tests and dialyzer is as easy as

make all

However, if you'd like to run them separately:

* EUnit: `rebar3 eunit`
* Dialyzer: `rebar3 dialyzer`

If you don't have `rebar3`, you should get it. If you don't want to,
it's downloaded as part of `make all`

### Quick Start

A [rebar3]( template is provided for users quickly
and easily create a new `webmachine` application.

$ mkdir -p ~/.config/rebar3/templates
$ git clone ~/.config/rebar3/templates
$ rebar3 new webmachine your_app_here

Once a new application has been created it can be built and started.

$ cd your_app_here
$ rebar3 release
$ _build/default/rel/your_app_here/bin/your_app_here console

The application will be available at [http://localhost:8080](http://localhost:8080).

To learn more continue reading [here](

### Contributing

   We encourage contributions to `webmachine` from the community.

   1) Fork the `webmachine` repository on [Github](
   2) Clone your fork or add the remote if you already have a clone of
   the repository.

git clone


git remote add mine

   3) Create a topic branch for your change.

git checkout -b some-topic-branch

   4) Make your change and commit. Use a clear and descriptive commit
      message, spanning multiple lines if detailed explanation is
   5) Push to your fork of the repository and then send a pull-request
      through Github.

git push mine some-topic-branch

   6) A community maintainer will review your pull request and merge
      it into the main repository or send you feedback.