Setup
One command installs CalculiX and ngspice into your home folder and connects every coding agent it finds.
$ wobbl setup$ wobbl doctorSetup needs no admin rights and touches nothing outside your home folder. It does two jobs, and you can run either one alone.
The solvers
Wobbl downloads a pinned micromamba (version 2.9.0-0) into ~/.wobbl/bin, checks it against
its published SHA-256 when that file is available, and uses it to create a private
conda-forge environment in ~/.wobbl/env with CalculiX 2.21 or newer and ngspice 37 or
newer. On Apple Silicon ngspice goes into a second environment, ~/.wobbl/env-x86, because
conda-forge only builds it for Intel Macs and it runs under Rosetta 2. On Linux arm64 there
is no ngspice build at all, so setup skips it and tells you to install it with your package
manager, as Platforms explains.
When the install finishes, Wobbl runs each solver on a tiny problem, a single tetrahedron in
CalculiX and a 1 kilohm resistor in ngspice, so a broken install shows up now rather than in
your first study. The full log goes to ~/.wobbl/setup.log and the result to
~/.wobbl/config.json. The whole thing takes about 340 MB.
The agents
Setup looks for Claude Code, Codex, Cursor and Gemini CLI, counting an agent as present when
its command is on your path or its folder (~/.claude, ~/.codex, ~/.cursor or
~/.gemini) exists. For each one it registers the MCP server and installs the skill.
| Agent | MCP server | Skill or context |
|---|---|---|
| Claude Code | claude mcp add --scope user wobbl, or ~/.claude.json when the claude command is missing |
~/.claude/skills/wobbl/SKILL.md |
| Codex | [mcp_servers.wobbl] in ~/.codex/config.toml |
~/.codex/skills/wobbl/SKILL.md |
| Cursor | mcpServers.wobbl in ~/.cursor/mcp.json |
~/.cursor/skills/wobbl/SKILL.md |
| Gemini CLI | an extension in ~/.gemini/extensions/wobbl/ |
WOBBL.md in the same extension |
The server command is the full path of your wobbl executable, so an agent finds it even
when its own PATH is different from your shell’s. Every file setup changes is copied to
~/.wobbl/backups/<time>/ first, and what it added is recorded in ~/.wobbl/agents.json so
that wobbl uninstall removes exactly that and nothing else. Restart an agent after setup so
it picks up the new server. The agent guides show what each one gets.
Options
| Option | What it does |
|---|---|
--agents claude,cursor |
register only these agents, or pass all, detected (the default) or none |
--no-agents |
install the solvers and leave the agents alone |
--no-solvers |
register the agents and skip the solvers |
--only calculix |
install only the solvers you name |
--project |
also write a Cursor rule to .cursor/rules/wobbl.mdc in the current folder |
--force |
download micromamba again and rebuild the solver environments from scratch |
--dry-run |
print what would change without changing anything |
An agent you install later is one command away.
$ wobbl setup --no-solvers --agents codexYour own solvers or another folder
Wobbl looks for a solver in three places, in this order. First an environment variable,
WOBBL_CCX for CalculiX or WOBBL_NGSPICE for ngspice, pointing at the binary. Then its own
environments under ~/.wobbl. Then your PATH. So a CalculiX you built yourself works as soon
as you point WOBBL_CCX at it. To keep everything somewhere other than ~/.wobbl, set
WOBBL_HOME before running setup and keep it set when you run Wobbl.
Check it
wobbl doctor lists every piece with ok, missing, off or planned next to it, which
wobbl doctor explains line by line. If a solver shows as missing,
running wobbl setup again usually fixes it, and wobbl setup --force starts over. Setup
itself ends by pointing you at wobbl doctor and then at the LED question that
First run begins with, which needs no files.