Developer Tools

Overview of the tools available for building Fireberry apps

Developer Tools

Fireberry provides three tools to help you build apps efficiently:

flowchart TB
    subgraph Tools
        CLI[CLI<br/>Create & Deploy]
        SDK[SDK<br/>Data & Context]
        DS[Design System<br/>UI Components]
    end

    CLI --> App[Your Fireberry App]
    SDK --> App
    DS --> App

The Tools

ToolPurposeWhen to Use
CLICreate, deploy, and manage appsEvery project — it's required
SDKAccess user context and Fireberry dataWhen your app needs to read/write data or know who's using it
Design SystemPre-built React UI componentsWhen building React apps that should match Fireberry's look

CLI

The command-line interface for managing your Fireberry apps.

npm install -g @fireberry/cli

What it does:

  • Scaffolds new apps with fireberry create
  • Deploys your code with fireberry push
  • Installs apps with fireberry install
  • Manages authentication

Resources:


SDK

The JavaScript/TypeScript SDK for communicating with Fireberry from your app.

npm install @fireberry/sdk

What it does:

  • Provides context about the current user and record
  • Enables CRUD operations (query, create, update, delete)
  • Handles all iframe communication automatically

Quick example:

import FireberryClientSDK from "@fireberry/sdk/client";

const client = new FireberryClientSDK();
await client.initializeContext();

// Who's using the app?
console.log(client.context.user.fullName);

// Query some data
const results = await client.api.query(1, {
  fields: "accountid,accountname",
  query: 'status = "active"',
});

Resources:


Design System

A React component library that matches Fireberry's visual style.

npm install @fireberry/ds

What it does:

  • Provides ready-to-use UI components (buttons, forms, typography, etc.)
  • Ensures your app looks native to Fireberry
  • Supports RTL layouts and theming

Quick example:

import { DSThemeContextProvider, Button, Typography } from "@fireberry/ds";

function App() {
  return (
    <DSThemeContextProvider isRtl={false}>
      <Typography type="h1">Hello Fireberry</Typography>
      <Button label="Save" color="success" />
    </DSThemeContextProvider>
  );
}

Resources:


Which Tools Do I Need?

flowchart LR
    Start[Building a Fireberry App?] --> CLI[You need the CLI]
    CLI --> Q1{Does your app need<br/>user info or data access?}
    Q1 -->|Yes| SDK[Add the SDK]
    Q1 -->|No| Q2
    SDK --> Q2{Using React?}
    Q2 -->|Yes| DS[Consider the Design System]
    Q2 -->|No| Done[You're set!]
    DS --> Done

Most apps use all three:

  • CLI is always required
  • SDK is needed for almost any useful app
  • Design System is recommended for React apps

Next Steps