001 - Scaffolding
Audience: Developers and Admins
Summary
This guide walks through how to get started creating your very own Backstage customizable app. This is the first step in evaluating, developing on, or demoing Backstage.
By the end of this guide, you will have a standalone Backstage installation running locally with a SQLite database and demo content.
To be clear, this is not a production-ready installation, and it does not contain information specific to your organization. You will learn how to customize Backstage for your use case through this guide.
Prerequisites
This guide also assumes a basic understanding of working on a Linux based operating system and have some experience with the terminal, specifically, these commands: npm, yarn.
- Access to a Unix-based operating system, such as Linux, macOS or Windows Subsystem for Linux
- A GNU-like build environment available at the command line.
For example, on Debian/Ubuntu you will want to have the
makeandbuild-essentialpackages installed. On macOS, you will want to have runxcode-select --installto get the XCode command line build tooling in place. - An account with elevated rights to install the dependencies
curlorwgetinstalled- Node.js Active LTS Release installed using one of these
methods:
- Using
nvm(recommended)- Installing nvm
- Install and change Node version with nvm
- Node 20 is a good starting point, this can be installed using
nvm install lts/iron
- Binary download
- Package manager
- Using NodeSource packages
- Using
yarnInstallation- Backstage currently uses Yarn 4.4.1, once you've ran
corepack enableyou'll want to then runyarn set version 4.4.1
- Backstage currently uses Yarn 4.4.1, once you've ran
gitinstallation
Scaffold your new Backstage app
1. Create your Backstage App
To scaffold your new Backstage app, we'll be running an interactive command. Before you run the command, you should open a terminal and move your current working directory somewhere you're comfortable creating a new directory.
The wizard for this command will ask what name you want to have for your new app. That name will match the folder that we create for you.
When you run the command, you'll see an output like this.

And when it finishes, you'll have a working Backstage app (with example data)!
Now, that we know what it does, let's actually scaffold some code!
npx @backstage/create-app@latest
This may take a few minutes to fully install everything. Don't stress if the loading seems to be spinning nonstop, there's a lot going on in the background.
If this fails on the yarn install step, it's likely that you will need to install some additional dependencies which are used to configure isolated-vm. You can find out more in their requirements section, and then run yarn install manually again after you've completed those steps.
Structure of your app
General folder structure
Below is a simplified layout of the files and folders generated when creating an app.
app
├── app-config.yaml