Skip to content


Folders and files

Last commit message
Last commit date

Latest commit


Repository files navigation


A full-stack JavaScript framework for building apps and websites.

Official Website | Documentation

What is Joystick?

Joystick is a full-stack JavaScript framework consisting of four packages:

  • @joystick.js/ui - A front-end framework for building UI components with HTML, CSS, and JavaScript.
  • @joystick.js/node - A batteries-included back-end framework based on Node.js, running an HTTP server based on Express.
  • @joystick.js/test - A testing library used for writing and instrumenting tests for your Joystick app on the front-end and back-end.
  • @joystick.js/cli - A command-line tool for creating Joystick apps, running their development server, and deploying them via CheatCode's Push service.

Together, these four packages make up Joystick. When you build an app, the first two packages—@joystick.js/ui and @joystick.js/node—power the app itself, @joystick.js/cli helps you create, run, and deploy the app, and @joystick.js/test helps you write tests for the app.

What is Joystick conceptually?

It's best and easiest to think of Joystick as the "Ruby on Rails" or "Django" of JavaScript. It's designed to give you everything you need in one, easy-to-use system without the need to stitch together a bunch of tools or packages. It was made for full-stack JavaScript developers who want to maximize productivity without sacrificing quality.

If you'd like to learn more about the motivation to build Joystick, read about the philosophy behind the framework.

Platform Support

Joystick supports MacOS, Linux, and Windows and requires Node.js v20 or later.


To start working with Joystick, install the @joystick.js/cli package on to your computer:

npm i @joystick.js/cli@latest

Once installed, to create an app, run:

joystick create <app_name>


Joystick's documentation can be found here.


Joystick is SAUCR licensed.