# Akd

[![Circle CI](](
[![Coverage Status](](
[![Hex Version](](
[![ downloads](](
[![Hex docs](](
[![MIT licensed](](

<img src="sprites/akd.png" alt="" width="270" height="150">

_Akd is Configurable, but easy to set up_

Akd is a framework that allows Elixir developers to easily write automated
deployment tasks. Akd is purely written in elixir.

Akd, in its purest form, is a way of executing a list of operations on a remote
(or local) machine. Akd provides an intuitive DSL that allows developers to easily
define a pipeline consisting of a set of these operations along with corresponding,
remedial operations, in the event that one or more of the primary pipeline
operations fails. If you have experience with the Ruby gem `capistrano`, Akd
should feel familiar.

Akd's primary goal is twofold:
- to provide developers with the ability to easily compose a series of deployment
operations using the Elixir programming language, and
- to standardize the way in which Elixir application deployments (using tools
like `distillery` or `docker`) are performed.

A Deployment lifecycle in Akd is divided into various `Operation`s.
`Operation`s are grouped into an abstraction called a `Hook`. A deployment is
a pipeline of `Hook`s which call individual `Operation`s.

Akd integrates seamlessly with packages like `Distillery` and `SimpleDocker` to
make the whole deployment process a cakewalk.

For details on how to setup a new project with `akd` checkout the [walkthrough](

## Installation

Akd is [available in Hex]( and can be installed
by adding `akd` to your list of dependencies in `mix.exs`:

def deps do
  [{:akd, "~> 0.2.3"}]