Modern Web Application Framework for Node.js
Trails is a modern, community-driven web application framework for node.js. It builds on the pedigree of Rails and Grails to accelerate development by adhering to a straightforward, convention-based, API-driven design philosophy.
$ npm install -g yo generator-trails$ yo trails
Trails uses Yeoman to generate scaffolding for new applications, and to create resources inside the application.
$ yo trails --helpUsage:yo trailsGenerators:Create New Modelyo trails:model <model-name>Create New Controlleryo trails:controller <controller-name>Create New Policyyo trails:policy <policy-name>Create New Serviceyo trails:service <service-name>
Once installation is complete, begin your journey!
$ node server.js
Trailpacks extend the framework's capabilities and allow developers to leverage existing ecosystem tools through a simple and well-defined API. New features, behavior, APIs, and other functionality can be added to the Trails framework through Trailpacks.
Many Trails installations will include some of the following Trailpacks:
Yes! We have a Trail Map that lays out our future plans and release schedule. Feel free to contribute your ideas.
Trails is written entirely in ES6, and runs natively on Node without transpiling. If you'd like to use Trails on an older version of node, you can install babel and configure it to transpile your application into ES5.
Trails can auto-migrate legacy Sails applications by installing the Sails Trailpack. We want this upgrade to be as smooth as possible, and are committed to maintaining it as a core module.
No. Trails is built and maintained by former members of the Sails.js core team, and offers an upgrade path from existing Sails applications, but it utilizes exactly zero lines of code from the original Sails project.
Yes! The core team maintains several popular trailpacks, but you are free to implement your own integration and use that instead or in addition to the core packs. See the Trailpack docs for more info.
We love contributions! Please check out our Contributor's Guide for more information on how our projects are organized and how to get started.