Storybook integration addon for IMA.js applications.

View on Github

IMA.js logo


Build Status dependencies Status Known Vulnerabilities code style: prettier

The IMA.js is an application development stack for developing isomorphic applications written in pure JavaScript and React.

Why we use IMA.js and you should too?

Here at, development of a frontend application comes with many checkboxes that need to be ticked off before the project goes public. Mainly because of a diverse audience and a challenging product requirements.

In order to not reinvent the wheel on every project and to address all of these problems (checkboxes), we have created the IMA.js framework. Here are a few outlines that we're most proud of:

  • Isomorphic - application logic is first executed at the server-side, generates the page markup, and when the application logic is executed at the client-side it automatically binds to the server-generated markup and acts like a single-page application (or a multi-page application if the client does not support JavaScript). This allows for fast load times, out-of-the-box support for web crawlers and greater overall user experience (or UX for short).
  • React compatible - IMA.js Views extend the React Component and are in tight cooperation with our Controllers. That means you can use the full magic of React v16 without loosing anything.
  • Production ready - there's no need for additional setup or configuration. IMA.js uses environment-specific configurations from the start.
  • Battle tested - IMA.js is used on various projects across Some of them pushing the limits of what a frontend application can do.


We have prepared a complex tutorial for you: Your first IMA.js application. This tutorial covers the basics of creating isomorphic web applications using IMA.js, but you will encounter some more advanced concepts in there as well.

For a more in-depth information about the IMA.js see a full documentation and more on

Main IMA.js parts

  • core - it contains base classes and common classes for every day work which allows you server side rendering and hydrating application in browser.
  • server - it contains methods which allow you to connect IMA application with the express framework.
  • gulp-tasks - IMA.js uses gulp for bundling and automatization. There are prepared common tasks and a base configuration.


See the ima-plugins repository for available IMA.js plugins.

Getting Started

Initialize application skeleton with single command

npx create-ima-app
# or if you are using yarn
yarn create ima-app

and start the development!

cd create-ima-app
npm run dev
# or if you are using yarn
yarn dev


See How to Contribute.

Made by
  • corvidism
  • mjancarik
  • filipoliko
  • matej.marcisovsky
  • jsimck
  • hartja