Type
/help in the chat to get help with your firebender.json configurationConfiguration Locations
Firebender supports two configuration scopes:- Project Config:
<project root>/firebender.json- Version-controlled, applies only to the current project - Personal Config:
~/.firebender/firebender.json- Applies to all projects and not shared with others
- rules, ignore: Appended together (both apply)
- mcpServers: Combined with personal config taking precedence on name collisions
- mcpEnvFile: Project config takes precedence if present
- commands, agents: Kept separate (both sets available)
~/.firebender (personal config).
Fields
All high-level fields in the configuration are optional.ignore
Type:string[]?
Array of glob patterns for files that Firebender should not analyze without explicit permission. Follows .gitignore syntax.
Firebender respects ignore patterns for:
- Implicit context: Files added automatically to chat context
- Autocomplete: Code suggestions from ignored files are completely blocked
- Explicit mentions: You manually paste code from an ignored file into chat
- Direct edits: You run inline edit commands on ignored files
- Terminal/MCP tools: These tools cannot be restricted by ignore patterns
Pattern Syntax
Use standard.gitignore glob pattern syntax:
Example:
Project vs Personal Configuration
Project Config:<project root>/firebender.json
- Version-controlled and shared with team
- Applies only to the current project
~/.firebender/firebender.json
- Applies to all projects
- Not shared with others
- Useful for globally excluding sensitive file patterns
Best Practices
Recommended patterns to ignore:- Environment files:
**/.env,**/.env.* - Credentials:
**/credentials.json,**/secrets.json,**/secrets.properties - Keys:
**/*.key,**/*.pem,**/id_rsa - Build artifacts:
dist/**,build/**,**/node_modules/**
mcpServers
Type:Object<string, ServerConfig>?
Configure Model Context Protocol (MCP) servers to provide custom tools for Firebender Agent.
mcpServers.{serverName}
- mcpServers.{serverName}.command:
string?- The command to execute for the MCP server (required if url is not provided) - mcpServers.{serverName}.url:
string?- The URL for HTTP-based MCP servers (required if command is not provided) - mcpServers.{serverName}.args:
string[]?- Array of arguments to pass to the command - mcpServers.{serverName}.env:
Object<string, string>?- Environment variables to set for the MCP server - mcpServers.{serverName}.headers:
Object<string, string>?- HTTP headers for URL-based servers
mcpEnvFile
Type:string?
Optional path to a file containing environment variables for MCP servers. Can be either a full path or a relative path from the project root.
Example:
rules
Type:(string | RuleConfig)[]?
Define guidelines for Firebender to follow when generating code. Can contain both global rules (strings) and path-specific rules (objects).
- rules[i]:
string- A rule that applies to all files - rules[i].filePathMatches:
string | string[]?- Optional glob pattern(s) to match file paths for specific rules. Can be a single pattern or an array of patterns. - rules[i].rules:
string[]- Array of rules to apply only to matching files - rules[i].rulesPaths:
string | string[]- Path(s) to files containing additional rules. Can be either a single path or an array of paths. Paths can be absolute or relative to the project root.
commands
Type:CommandConfig[]?
Define custom commands that can be executed through Firebender’s interface. Commands are markdown files containing prompts or instructions for the AI.
CommandConfig
- name:
string- The name of the command as it appears in the UI - path:
string- Path to the command file. Supports~expansion for home directory, absolute paths, and relative paths (relative to project root for project config,~/.firebenderfor personal config) - model:
string?- Optional model to use for this command. See available models for valid model IDs. - mode:
string?- Optional mode to use for this command
model property
Themodel property lets you pick which AI model is used for a specific command.
Predefined values:
"default": Uses the system’s default model selection"quick": Uses the fastest available model for quick tasks
"claude-sonnet-4-20250514""gpt-5""gpt-4o""claude-3.5-sonnet"
model is omitted, the command uses the model you currently have selected in chat.
mode property
Themode property lets you choose how Firebender should run the command:
"auto": Let Firebender determine the best mode based on context (default)"read": Read-only mode for analysis, reviews, and explanations"write": Agent mode for making code changes and running terminal commands"composer": UI composition mode for creating interfaces
mode is omitted, the command uses the mode you currently have selected in chat.
Path resolution
Command file paths resolve from the configuration location:- Project configuration: Relative paths resolve from the project root
- Personal configuration: Relative paths resolve from
~/.firebender/
- Relative paths:
./prompts/command.md - Absolute paths:
/full/path/to/command.md - Home directory expansion:
~/commands/my-command.md
Command file format
Command files are markdown documents that contain prompts or instructions for the AI. They can include:- Natural language instructions
- Code examples or templates
- Specific formatting requirements
- Context about the codebase or project
~/firebender-commands/pr-description.md):
agents
Type:string[]?
Array of paths to agent configuration files. Agents are specialized AI assistants that can appear as custom modes in the mode picker and can be invoked for specific tasks. Each agent can have specialized behavior, tools, and models.
Paths support ~ expansion for home directory, absolute paths, and relative paths (relative to project root for project config, ~/.firebender for personal config).
Example: