Agent-assisted circuit design

Set up a project, point your AI agent at the tool guide, then work through component research conversationally — search by spec, compare candidates, pull datasheets, build and revise the BOM.

Agent BOM review

The agent runs bomi tool calls to check stock levels, finds a part that is out of stock, searches for a replacement with the same footprint, and proposes the swap — all from a single prompt.

See the examples page for individual command recordings.

review bom · check stock · find replacement

Before you start

Install bomi

Clone the repo and install the bomi command globally with uv:

git clone https://github.com/somebox/bomi
cd bomi
uv tool install -e .

Verify it works: bomi --help

Enabling a Project

01

Choose a project folder

Start with a normal directory (or existing project folder) and make sure it’s tracked in git. The BOM will be committed here alongside your design files.

mkdir my-board && cd my-board
git init
02

Initialize project metadata

Creates .bomi/project.yaml and appends datasheet PDF rules to .gitignore. This file is the BOM source of truth — commit it with every change.

bomi init --name "my-board" --description "What this board does"
03

Launch your AI agent

Open Claude Code, Cursor, Copilot, or any agent that can run terminal commands from your project directory.

Claude Code Cursor Agent GitHub Copilot Aider
04

Tell the agent to read the tool guide

The guide covers all commands, output formats, caching rules, and project context. Paste this to get started:

Read the bomi agent guide at:
https://somebox.github.io/bomi/guide.html
Then use bomi to help me find parts for my PCB project. We need [describe what you're building].

Alternatively, paste the raw markdown from docs/bomi-guide.md directly into the agent's context.

What to ask

Once the agent has read the guide, it runs bomi commands on your behalf. Click any example to see the command it maps to.

Search

Find a 3.3V buck converter, under 3×3mm, basic parts only bomi search "3.3V buck converter" --basic-only --attr "Output Voltage:3.3V"
Find 100nF X7R capacitors, 0402, 10V minimum bomi search "100nF capacitor 0402" --attr "Voltage Rated:10V" --attr "Temperature Coefficient:X7R"

Evaluate

Compare C8287 and C25900 for a 10k pull-up at 3.3V bomi compare C8287 C25900
Is C347356 suitable for driving a 1W LED from USB-C? bomi analyze C347356

Build the BOM

Add C347356 as U1 — LED driver, PT4115 bomi select C347356 --ref U1 --notes "PT4115 LED driver"
Swap L1 to C167888 — same footprint, much better stock bomi deselect L1 bomi select C167888 --ref L1 --notes "FNR4030S470MT, same 4030 footprint, 147k stock"

Review and ship

Check all BOM stock levels, flag anything risky bomi list --check
Export the BOM as CSV for the order sheet bomi list --format csv

Getting the most out of it

Give context, not just part names

Include your supply voltage, target quantities, package constraints, and whether basic parts are required. The agent uses all of it to set search filters — vague prompts give vague results.

Always note why a part was chosen

Ask the agent to always include --notes with a brief reason. Footprint constraint, cost ceiling, thermal rating — that context is invaluable when revisiting the design or explaining a swap months later.

Save datasheets as markdown

For any non-trivial IC, run datasheet --summary and save to docs/datasheets/. Point the agent at it for application questions — it's faster than re-fetching and stays in the repo alongside the BOM.

Check stock before every order

Prices and availability change daily on JLCPCB. Run list --check before finalising any production run to catch anything that's gone out of stock or changed in price since you last looked.

Commit the BOM after each session

.bomi/project.yaml is plain YAML — commit it after every meaningful change. You get a full history of part decisions: what you tried, what you replaced, and the reasoning behind each choice.

Verify pins and parameters before routing

Use analyze to check pin assignments, logic levels, and application circuit values before committing a footprint. Ask the agent specific questions: enable pin threshold, sense resistor formula, max switching frequency.