EMBEDDER.md. Treat implementation, build, programming, and runtime behavior as separate checks.
Set up the project
Run/project to select or create a project. Choose the target platform, review fitted peripherals with /peripheral, and add schematics when you need board connections.
Run /init and confirm the detected commands and hardware. See Quickstart for the full setup flow.
Plan an uncertain change
Run/plan, then describe the behavior and constraints:
Build and test
Flash and observe
Identify the board, probe or bridge, power setup, and serial connection. Then ask:Investigate a failure
Use/debug for GDB state inspection or bounded instruction and coverage captures. Begin with existing output and preserve the target when its current state matters.
Review the outcome
Ask for the changed behavior, files, checks run, and any unresolved limits. A build proves compilation; a flash verifies programming; the runtime test establishes the requested board behavior. Keep reusable commands in EMBEDDER.md and confirmed constraints in project memory.Continue or change direction
Send a follow-up in the same conversation for related work. During a run it steers the active turn at the next step boundary. Messages not yet absorbed wait in the queue; review or remove obsolete queued messages before switching tasks. Use/btw for a side question and /new in VS Code for unrelated work. See Sessions and context.
