Example: Create end to end tests and iterates off of gradle runs

Modes

Firebender agent can operate in different modes that affect its behavior. Mode picker for Firebender Agent
Use Cmd/Ctrl . (e.g. cmd + period) to toggle between the modes quickly.

Auto

A smaller model auto picks the best mode for your request. You can see it’s reasoning: Mode picker for Firebender Agent

Read

Cannot modify files, or access the terminal. It has access to:
  • web search
  • grep search
  • file/folder search
  • listing files/directories
This restriction allows the agent to be more thoughtful and plan changes better before attempting any implementation.

Write

  • Runs terminal commands, modifies files on top of the tools read mode offers.
  • This means the AI can modify files directly for you and test those changes on its own.

Context Management

@ mentions

You can quickly add files by using @ in the chat box or by hitting the Add context button. codebase files

Image support

  • Drag and drop images
  • Paste images
image chip example

Terminal

Customizing Agent Terminal

Agent terminals run in the same environment as your regular terminal. For customizing your agent’s terminal experience, check for the FIREBENDER_TERMINAL=true environment variable that is automatically set in all Firebender terminals. For example, in your ~/.zprofile or ~/.bashrc:
if [[ -n "$FIREBENDER_TERMINAL" ]]; then
# Custom settings for Firebender agent terminals
export PS1="🔥 \W $ "  # Custom prompt for agent terminals
fi
Note: Users with custom zsh setups may have commands in ~/.zshrc or ~/.zprofile that interfere with Firebender being able to read stdin and stdout properly. You can guard around those by checking if it’s NOT a Firebender terminal:
if [[ -z "$FIREBENDER_TERMINAL" ]]; then
# Commands that might interfere with Firebender
# Only run when NOT in a Firebender terminal
fi

Interactive commands

To prevent the agent from running commands that require user input, we supply it with the following environment variables:
  • NONINTERACTIVE=1
  • CI=1
  • DEBIAN_FRONTEND=noninteractive
  • TERM=dumb
  • PAGER=cat
  • LESS=FRX
  • MANPAGER=cat
  • GIT_TERMINAL_PROMPT=0
  • GIT_PAGER=cat
  • npm_config_yes=true
  • npm_config_fund=false
  • npm_config_audit=false
  • TF_IN_AUTOMATION=1
  • TF_INPUT=0
  • EDITOR=true
  • VISUAL=true