fwm CLI Agent
An interactive, AI-powered terminal assistant for Nordic nRF Connect SDK and Zephyr firmware development.
fwm is the FirmwareMaestro CLI — an interactive, AI-powered REPL for
Nordic Semiconductor nRF firmware development. Everything happens inside
the fwm agent REPL: scaffolding new Zephyr / nRF Connect SDK projects,
building, flashing, running validation sequences, cross-referencing
datasheets, and asking the AI agent for help on real firmware problems.
Top-level commands
| Command | Purpose |
|---|---|
fwm agent | Launch the interactive REPL (this is where you spend all your time). |
fwm update | Re-run the installer to upgrade fwm to the latest version. |
fwm completions <shell> | Emit a shell completion script (bash, zsh, fish, powershell). |
Everything else — building, flashing, scaffolding, analysis, validation, authentication — is available as a slash command inside the REPL, or by asking the AI agent directly.
Launch flags
fwm agent accepts the following flags:
| Flag | Purpose |
|---|---|
-q, --query <TEXT> | Single-shot mode — run one query and exit. |
--plan | Start in plan mode (read-only; requires approval before writes). |
--compliance <STD> | Enable a safety standard (misra-c-2012, cert-c, iso26262, iec61508, iec62304, do178c). |
--max-iterations <N> | Cap the agent loop at N iterations. |
--dry-run | Disable tool-call writes (write_file, edit_file, git_commit). |
--no-history | Don't save or load session history. |
Key capabilities
Three agent modes
Switch between Edit, Plan, and Debug on the fly. Each mode exposes a different tool surface tuned to the task.
Slash commands
/init, /build, /flash, /analyze, /validate, /targets, and
more — deterministic shortcuts for common workflows.
REPL keybindings
Keyboard-driven workspace with file attachments via @, smart paste,
and tool-use approval prompts.
TOML configuration
Per-project .fwm/project.toml and global ~/.fwm/config.toml
control build, flash, and defaults.
Supported MCUs — 21 Nordic targets
All targets run nRF Connect SDK (nCS) on top of Zephyr RTOS. Run
/targets inside the REPL to see every chip's default Zephyr board.
| Series | Count | Targets | Purpose |
|---|---|---|---|
| nRF52 | 7 | nRF52805, nRF52810, nRF52811, nRF52820, nRF52832, nRF52833, nRF52840 | BLE SoC (Cortex-M4 / M4F) |
| nRF53 | 1 | nRF5340 | Dual-core BLE SoC (Cortex-M33) |
| nRF54 | 5 | nRF54H20, nRF54L05, nRF54L10, nRF54L15, nRF54LM20 | Next-gen BLE / multiprotocol |
| nRF70 | 3 | nRF7000, nRF7001, nRF7002 | Wi-Fi 6 companion IC |
| nRF91 | 5 | nRF9131, nRF9151, nRF9160, nRF9161, nRF9280 | Cellular IoT (LTE-M / NB-IoT + GNSS) |
AI backend
All AI requests are proxied through api.firmwaremaestro.com. Authenticate
with /login inside the REPL on first run.
The agent emphasizes:
- Deep nRF Connect SDK awareness — Zephyr devicetree, Kconfig layering, common subsystems (Shell, NVS, MCUboot, Sensor, I²C, SPI, USB, power management).
- Datasheet-aware code review — errata cross-referencing, register
validation, interrupt and timing analysis in
/debugmode. - Memory-constrained, power-aware patterns and idiomatic Nordic CLI
usage (
west,nrfutil,nrfjprog).
Safety compliance
Enable a standard with fwm agent --compliance <std>:
- MISRA C:2012
- CERT C
- ISO 26262
- IEC 61508
- IEC 62304
- DO-178C