Strongly Typed Modern Web Application Framework for Node.js


111171.6.42 years ago3 years agoMinified + gzip package size for @fabrix/fabrix in KB


Gitter NPM version Build Status Test Coverage Dependency Status Follow @FabrixApp on Twitter

Fabrix is a strongly typed modern web application framework for Node.js or even Browsers. It builds on the pedigree of Rails and Grails to accelerate development by adhering to a straightforward, convention-based, API-driven design philosophy.

Note: Because Fabrix is lightweight and easily extendable, it's also very very fast and well suited for function based environments.

Getting Started


Note: The CLI is under construction, search for example apps in the meantime

Install the Fabrix CLI. This will help you generate a Fabrix app and more.

$ npm install @fabrix/fab-cli -g

Generate A New Fabrix App

$ fab app <new_app_name>

Start Sewing

Fabrix uses a CLI to generate scaffolding for new applications, and to create resources inside the application.

$ fab --help


  Create New App
    fab app <app-name>

  Create New Model
    fab model <model-name>

  Create New Controller
    fab controller <controller-name>

  Create New Policy
    fab policy <policy-name>

  Create New Service
    fab service <service-name>
  Create New Spool
    fab spool <spool-name>


Once installation is complete, begin weaving!

$ npm run compile && node dist/server.js

Sew on and Sew Forth!


Spools 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 Fabrix framework through Spools.

Many Fabrix installations will include some of the following Spools:


  • Windows, Mac, and Linux
  • Node 8.0 and newer


See fabrix.app/docs for complete documentation.

More Resources


Coming soon!


Coming soon!



See https://github.com/fabrix-app/fabrix/wiki/FAQ


We love contributions! Please check out our Contributor's Guide for more information on how our projects are organized and how to get started.


Fabrix uses a continuous integration process and all tests must pass for Fabrix to release a new version. CircleCI releases a new version when a PR is merged into master. For local development, you can download CircleCI's local development tools and run local tests before submitting a Pull Request.

Fabrix maintains a high score of coverage tests, any Pull Request should have well written Integration and Unit tests that increase the overall coverage score.

Browser Support

Browser support provided by Webpack is on it's way.

webpack --config ./test-browser/webpack.config.js




Fabrix would not have been possible without the substantial work done by the Trails.js team. While Fabrix maintains a different code base and system of best practices, none of this would have been possible without the contributions from the Trails community.

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.