CLI

Command-line interface for creating and managing Fireberry apps

Fireberry CLI

The Fireberry CLI (@fireberry/cli) is your command-line tool for creating, deploying, and managing Fireberry apps.

Resources:


Installation

npm install -g @fireberry/cli

After installation, authenticate with your API token:

fireberry init

Commands

CommandDescription
fireberry initStore your authentication token
fireberry createCreate a new app
fireberry pushDeploy your app to Fireberry
fireberry installInstall the app on your account
fireberry deleteDelete an app

fireberry init

Stores your API token for authentication.

fireberry init [tokenid]
ArgumentDescriptionRequired
tokenidYour Fireberry API token (how to get one)No (will prompt if omitted)

Examples:

# Interactive — prompts for token
fireberry init

# Direct — pass token as argument
fireberry init abc123xyz

Token storage location:

PlatformPath
macOS~/Library/Preferences/Fireberry CLI/config.json
Linux~/.config/Fireberry CLI/config.json
Windows%APPDATA%/Fireberry CLI/config.json

fireberry create

Scaffolds a new Fireberry app.

fireberry create [name]
ArgumentDescriptionRequired
nameApp name (alphanumeric, underscores, hyphens)No (will prompt if omitted)

Example:

fireberry create my-awesome-app

Generated structure:

my-awesome-app/
├── manifest.yml
└── static/
    └── comp/
        └── build/
            └── index.html
⚠️

Warning

App names must match the pattern ^[a-zA-Z0-9_-]+$. Spaces and special characters are not allowed.


fireberry push

Deploys your app to Fireberry's servers.

fireberry push

Requirements:

  • Must run from your app's root directory (where manifest.yml is located)
  • All component paths must exist and contain index.html

What it does:

  1. Validates your manifest.yml
  2. Validates component settings for each type
  3. Packages each component (tar.gz)
  4. Uploads to Fireberry servers

Example output:

✔ Manifest loaded successfully
✔ 2 components validated and zipped

Components ready to push:
  1. record-view (864fbfb2...) - 45.23 KB
  2. side-panel (9f02b1e7...) - 12.87 KB

✔ Components pushed successfully

fireberry install

Installs your app on your Fireberry account.

fireberry install

Requirements:

  • Must run from your app's root directory
  • App must be pushed first (fireberry push)
📘

Note

After installation, your app appears in Fireberry based on its component types. You don't need to run install again after updating — just push your changes.


fireberry delete

Permanently deletes your app from Fireberry.

fireberry delete

The CLI will ask for confirmation:

? Are you sure you want to delete app my-awesome-app (1f3a3eca...)?
  This action cannot be undone. (y/N)
❗️

Danger

Deletion is permanent and irreversible. The app will be removed from all accounts where it was installed.


Manifest Reference

The manifest.yml file defines your app configuration.

Structure

app:
  id: "uuid"
  name: "string"
  description: "string"

components:
  - type: "record"
    title: "string"
    id: "uuid"
    path: "string"
    settings: { ... }

App Properties

PropertyTypeRequiredDescription
idUUIDYesUnique app identifier
namestringYesDisplay name
descriptionstringNoBrief description

Component Properties

PropertyTypeRequiredDescription
typestringYesrecord, side-menu, or global-menu
titlestringYesDisplay name
idUUIDYesUnique component identifier
pathstringYesRelative path to build files
settingsobjectYesType-specific settings

Component Settings by Type

Record Component:

settings:
  iconName: "task"        # Icon in toolbar
  iconColor: "#7aae7f"    # Hex color
  objectType: 5           # Object type (0 - for all types)

Side Menu Component:

settings:
  icon: "settings"        # Icon in nav
  width: "M"              # S, M, or L

Global Menu Component:

settings:
  displayName: "Analytics"  # Menu item text
📘

See Also

Component Types for detailed settings documentation.


Multi-Component Example

An app can have multiple components:

app:
  id: "1f3a3eca-d551-4cd0-a1d7-4a1f2e431e26"
  name: "Complete App"
  description: "An app with all component types"

components:
  - type: record
    title: Record Viewer
    id: "comp-1"
    path: record/build
    settings:
      iconName: "task"
      iconColor: "#7aae7f"
      objectType: 5

  - type: side-menu
    title: Quick Actions
    id: "comp-2"
    path: panel/build
    settings:
      icon: "lightning"
      width: "M"

  - type: global-menu
    title: Analytics
    id: "comp-3"
    path: analytics/build
    settings:
      displayName: "Analytics"

Troubleshooting

ErrorSolution
"Unauthorized user"Re-authenticate: fireberry init
"Manifest not found"Run from directory containing manifest.yml
"Component path does not exist"Check that paths in manifest match your build output
"Invalid iconColor format"Use hex format: #RRGGBB
"All component ids must be unique"Each component needs a unique id

Next Steps

  • SDK — Access context and data in your app
  • Design System — Build UIs with Fireberry components
  • Component Types — Understand component configurations