How does it work? - kavyasukumar/shenanigans GitHub Wiki
Autotune is built with Ruby on Rails and distributed as a Rails Engine.
The Rails app handles storing stuff in a database, running shell commands against blueprints and projects and presenting a JSON API. The front-end is a javascript app built using Backbone.js, Bootstrap and Alpaca.js.
Process flow
When a blueprint is added to Autotune, Autotune clones the git repository. /images/flow.jpg
When a user creates a new project from the blueprint, Autotune reads the form description from autotune-config.json and passes it to Alpaca.js to create a project form.
Once the project is saved, Autotune runs a build command in a shell, passing along all the project data. It is up to the blueprint to handle the incoming data and generate a folder full of static html and assets. This folder is then deployed to a configurable destination.
All of these shell operations are performed in asynchronous jobs, so the front-end can stay responsive and build scripts can take as much time as they need to complete. The job scheduling is done using resque and redis.