flamedeck command-line interface (CLI) provides a powerful and convenient way to upload trace files to Flamedeck directly from your terminal or within your CI/CD pipelines.
Installation
Using Homebrew (Recommended for macOS)
-
Tap the Flamedeck repository (only needed once):
-
Install the CLI:
Homebrew installs the correct binary (Intel or Apple Silicon) and adds
flamedeckto your PATH.
On first run, macOS Gatekeeper might show a security warning. To allow the app, find it (usually
/opt/homebrew/bin/flamedeck or /usr/local/bin/flamedeck), right-click it in Finder, select “Open”, and confirm.Using Install Script (Recommended for Linux / macOS CI)
Run the following command in your terminal. It automatically detects your OS/architecture, downloads the latest release, and installs it to/usr/local/bin (may prompt for sudo).
Manual Installation (Linux, Windows, macOS)
- Go to the Latest Release page on GitHub.
- Download the appropriate binary for your system:
flamedeck-linux-x64flamedeck-macos-x64flamedeck-macos-arm64flamedeck-win-x64.exe
- Rename the downloaded binary to
flamedeck(orflamedeck.exefor Windows). - Place the renamed binary in a directory that is part of your system’s
PATH. A common choice on Linux/macOS is~/.local/binor/usr/local/bin. - Make it executable (Linux/macOS):
macOS Only: You might need to bypass Gatekeeper on first run (Right-click -> Open in Finder).
Basic Usage
The primary command for uploading traces isflamedeck upload.
Prerequisites
Uploading a File
To upload a trace file, specify the scenario description (-s or --scenario) and the path to your trace file:
Uploading from stdin
You can also pipe trace data directly to the CLI. When reading from stdin, you must provide a filename using the-n or --file-name flag:
Available Options
Theupload command accepts several options to add metadata and control the upload behavior:
(Positional argument) Path to the trace file. If omitted, the CLI reads from stdin.
Your Flamedeck API key. Overrides the
FLAMEDECK_API_KEY environment variable.The original filename of the trace. Required when reading from stdin.
A descriptive name for the scenario this trace represents (e.g., “User login”, “Data processing job”).
The Git commit SHA associated with this trace.
The Git branch name associated with this trace.
Free-form text notes to attach to the trace.
The UUID of an existing folder to upload the trace into.
A JSON string containing custom key-value metadata to associate with the trace.Example:
--metadata '{"ci_build_id": 456, "region": "eu-west-1"}'If specified, makes the uploaded trace publicly viewable by anyone with the link. By default, traces are private.
Overrides the default Supabase functions base URL. (For advanced use or self-hosting).
Detailed Example
Here’s an example demonstrating several options:/path/to/another_trace.json, associates it with the specified commit and branch, adds notes, places it in a folder, attaches custom metadata, and makes it publicly accessible.
Getting Help
You can always get more information about commands and options using the--help flag:

