Skip to content
A platform to create, publish and edit sites
Ruby JavaScript CSS HTML CoffeeScript Shell
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.tx add the transifex config file + add minimal French translations in or… Oct 26, 2015
app Option to use sections without extra wrapping element (locomotivecms/… Aug 15, 2019
bin Fix TravisCI build (#1271) Jan 11, 2019
config Fix webpack production build error (#1342) Jul 19, 2019
lib the cache is now handled directly in Steam (locomotivecms/steam#59b82… Jul 11, 2019
spec implement the integer section setting type (PR #1261) Aug 10, 2019
vendor/assets use the last version of bootstrap-sass and patch all the popover calls Apr 11, 2019
.babelrc Editor url picker take 2 (#1272) Jan 29, 2019
.coveralls.yml coverall integration Jan 13, 2015
.gitignore improving the editor UI Aug 27, 2018
.rspec first attempt to make it work with Rails 5.1 Mar 8, 2018
.travis.yml Fix TravisCI build (#1271) Jan 11, 2019
Gemfile upgrade Capybara (old version breaks some specs) + improve the v2 to … Jul 4, 2019
Gemfile.lock downgrade the ruby mongo driver (… Jul 4, 2019
MIT-LICENSE introduce a new role: visitor (useful for demo) + display a better er… Apr 29, 2019 Remove references to V3 (#1297) May 20, 2019
Rakefile downgrade the ruby mongo driver (… Jul 4, 2019
locomotivecms.gemspec downgrade the ruby mongo driver (… Jul 4, 2019
package.json implement the integer section setting type (PR #1261) Aug 10, 2019
postcss.config.js Fix TravisCI build (#1271) Jan 11, 2019
yarn.lock implement the integer section setting type (PR #1261) Aug 10, 2019


Build Status Code Climate Coverage Status Join the chat at

Locomotive is an open source platform to create, publish and edit sites (CMS). It is designed to save time and help you focus on what matters: front-end technology, standard development process and a very low learning curve for your clients.

Locomotive relies on a very original workflow:

  • Sites are coded locally using our open source tool: Wagon.
  • Sites are deployed to the platform (engine) thanks to our internal API.
  • A back-office for the end-users is automatically generated based on the custom models and editable regions described by the developers.


Visit the Locomotive official website here for more information.


  • Multi-sites natively supported
  • Uses Liquid, a simple and clean templating language
  • Easy to add custom sections, content types, no SQL needed
  • Beautiful and intuitive editing interface
  • Can fully localize all the content and pages
  • Embed a Restful API to manage every site
  • Develop and preview sites locally with your favorite tools (Wagon)
  • Support for Webpack, SASS, HAML and Coffee Script (Wagon)

Instructions and help


Have a look at our Trello board to see what's next or see where you can help out.


Here is a list of the main gems used to power the Locomotive platform:

  • Rails 5 - web framework
  • Bootstrap - UI framework
  • Mongoid 6 - Object-Document-Mapper for MongoDB 3
  • Devise 4 - Authentication
  • Carrierwave - Upload
  • Pundit - Permissions

Translating the back-office

By default, the Locomotive back-office is fully translated in English, Dutch and Greek.

Adding a new language is pretty straightforward since we now manage all our I18n translation keys in Transifex, a platform dedicated to this kind of task.

Here is our Transifex portal page: Feel free to sign up and translate!

How to contribute

Locomotive is an open source project, we encourage contributions. If you have found a bug and want to contribute a fix, or have a new feature you would like to add, follow the steps below to get your patch into the project:

  • Install ruby, mongoDB and phantomjs
  • Clone the project git clone
  • Setup a virtual host entry for locomotive.local to point to localhost
  • Start mongodb if it is not already running
  • Run the tests bundle exec rake
  • Write your failing tests
  • Make the tests pass
  • Create a GitHub pull request


Feel free to contact me at didier at nocoffee dot fr.

Copyright (c) 2019 NoCoffee, released under the MIT license

You can’t perform that action at this time.