How does it work?
Pages 22
- Home
- Blueprint tutorial (Step 1): Intializing your project
- Blueprint tutorial (Step 2): Add carousel code
- Blueprint tutorial (Step 3): Making your project a blueprint
- Contribution guidelines
- Converting an existing project to a blueprint
- Creating dummy data for blueprints
- Dependencies
- Example blueprints
- File info: autotune build
- File info: autotune config.json
- Getting Autotune data into apps
- Getting started
- How does Autotune work?
- How does it work?
- How to create a blueprint
- Pym.js Tips & Tricks
- Reporting bugs
- setup
- Troubleshooting
- Using a blueprint
- xcvcxcx
- Show 7 more pages…
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.

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.