Requirements
Before you install, have these tools on your computer and a Firebase project you own.
The list
| You need | Version | Why |
|---|---|---|
| Node.js | 22.18 or later in the 22 line | Runs the dev server, the build, the tests and the scripts. Cloud Functions run on Node 22. |
| npm | 10 or later | Installs the dependencies. It comes with Node. |
| Firebase CLI | Current version | Signs you in to Firebase, picks the project and deploys. The deploy script calls the firebase command. |
| A Firebase project | Blaze plan | Holds your data, accounts, files and functions. Cloud Functions only deploy on the Blaze (pay as you go) plan. |
| git | Any recent version | Gets the code, and for an app keeps the link to Arc CMS for updates. |
| A code editor | Any | Visual Studio Code works well: the repository recommends the Angular, Analog and Vitest extensions. |
Node.js
Use Node 22, version 22.18 or later. Check with:
node --version
Two things set this version:
- The functions are built for Node 22:
functions/package.jsonasks for Node 22, and that is the runtime Firebase gives them. - Before every functions build and every test run,
scripts/arc-features.mjsloads the TypeScript filesrc/custom/features.tsdirectly, which Node can do from 22.18 on.
The root package.json accepts Node 20.19, and the dev server starts on it. The functions build and npm run test then stop with "Node 22.18 or later is needed". Install Node 22, version 22.18 or later, from the start.
The Firebase CLI
Install it once, globally, and sign in:
npm install -g firebase-tools
firebase login
The npm scripts, such as npm run deploy and npm run test:rules, run the copy pinned in the root package.json, so every machine and CI deploys with the same version. The global one is for the commands you type yourself, like firebase login and firebase use.
A shared-project install (the backend profile) also needs the Google Cloud CLI, gcloud, to create its own storage bucket. A site that has its Firebase project to itself does not.
A Firebase project
Create one at the Firebase console, or use one you have. It must be on the Blaze plan, because Arc CMS does its server work in Cloud Functions, and those deploy only on Blaze. Creating the project and turning on its services is on Configure a project.
A local copy of Arc CMS talks to this real project; there is no local emulator (see Run it locally). Use a separate project for development if you do not want test data next to live data.
Next
Install Arc CMS.