Skip to content

Editing and drafts in the TUI

The Details panel is both an inspector and an edit form. Select a parameter, group, condition, or value and press Enter to open it.

Parameters and groups

The Parameters tree preserves the Remote Config hierarchy: groups contain parameters, and parameters contain a default plus any conditional values. Empty and description-only groups remain visible.

KeyAction
SpaceExpand or collapse
aAdd a parameter
AAdd an empty group
cDuplicate a parameter
eEdit the selected value
EEdit text or JSON externally
rRename a parameter or group
mMove a parameter or group
xDelete the selected item
y / YCopy the name or full path

Group deletion is an explicit group-level operation and removes every parameter inside it. Other parameter mutations preserve empty groups and descriptions.

Conditions

Conditions appear in Firebase evaluation order. Open one to inspect its raw expression, display color, priority, and every parameter value that refers to it.

KeyAction
aAdd a condition
eEdit the Firebase expression
cChange the display color
rRename the condition and its references
mChange evaluation priority
xDelete the condition and its conditional values

Priority changes are Remote Config changes, not cosmetic sorting, because Firebase evaluates conditions in order.

Save an edit

Inside Details:

KeyAction
EscClose or cancel the current editor
Right / eEdit the selected field
aAdd a conditional value
dToggle the in-app-default source
Ctrl+EnterSave Details
Ctrl+YCopy the selected value or expression

If the target has no draft, saving opens a choice to publish immediately or save a draft. Once a draft exists, later edits stage into it automatically.

Every mutation review includes an optional change note. A saved draft remembers the note; publishing sends it to Firebase as the new version description.

Edit large text and JSON

Press E to pause the TUI and edit a private staged file with an external editor. fbrcm resolves the command from FBRCM_EDITOR, VISUAL, then EDITOR. GUI editors must wait for the file to close:

sh
FBRCM_EDITOR="code --wait" fbrcm

JSON is validated and compacted after the editor exits. Invalid content is not applied, and the recovery file remains available so you can reopen it.

The built-in JSON editor uses Ctrl+F to format and Ctrl+S or Ctrl+Enter to save. Large values automatically use the external-editor path.

Review and publish drafts

The project row indicates when the displayed template includes draft state.

KeyAction
pPublish the current draft
PPublish all drafts
dDiscard the current draft
DDiscard all drafts

Publication fetches current Firebase state, rebases local intent with a three-way merge, shows the exact candidate, validates it, and publishes with ETag protection. Conflicts and validation failures keep the draft intact.

Import, export, and promotion

In Projects, i, e, and d operate on the project under the cursor—not the set of marked projects.

  • Import supports merge or replacement, item selection, filtering, condition cleanup, and per-conflict choices.
  • Export writes the effective Remote Config template.
  • Application defaults downloads platform-specific defaults from Firebase.
  • Promotion compares one source target with another and lets you select the parameters, groups, and conditions to transfer.

All resulting writes rejoin the same review, draft, and publication workflow.