{
  "markdown": "[![pytest](https://github.com/ppak10/RocketSmith/actions/workflows/pytest.yml/badge.svg)](https://github.com/ppak10/RocketSmith/actions/workflows/pytest.yml)\n[![claude](https://github.com/ppak10/RocketSmith/actions/workflows/claude.yml/badge.svg)](https://github.com/ppak10/RocketSmith/actions/workflows/claude.yml)\n[![gemini](https://github.com/ppak10/RocketSmith/actions/workflows/gemini.yml/badge.svg)](https://github.com/ppak10/RocketSmith/actions/workflows/gemini.yml)\n[![codecov](https://codecov.io/github/ppak10/RocketSmith/graph/badge.svg?token=CODECOV_TOKEN)](https://codecov.io/github/ppak10/RocketSmith)\n\n# <picture><source media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.iconify.design/lucide/rocket.svg?color=white&width=32&height=32\"><img src=\"https://api.iconify.design/lucide/rocket.svg?color=black&width=32&height=32\" width=\"32\" height=\"32\" /></picture> RocketSmith\n\nLet agents design, simulate, and build your rocket.\n\nRocketSmith is an end-to-end model-rocket toolchain exposed as an MCP extension. It orchestrates **OpenRocket** (flight simulation), **build123d** (parametric CAD), and **PrusaSlicer** (FDM slicing) behind a single agent, and closes the loop by feeding real printed-part weights back into the simulation for post-build stability verification.\n\n## Install\n\n**Prerequisites (all platforms):**\n- [uv](https://docs.astral.sh/uv/getting-started/installation/) — RocketSmith uses `uv` to manage its Python environment. Install it before proceeding.\n- A GitHub SSH key added to your account — required to clone the plugin repository. See [Generating a new SSH key](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent).\n\n### Claude Code (plugin)\n\nInside a Claude Code session, add the marketplace and install the plugin at **user scope**:\n\n```\n/plugin marketplace add ppak10/RocketSmith\n```\n\n```\n/plugin install rocketsmith@rocketsmith --scope user\n```\n\nAfter installing, reload plugins and verify the MCP server is connected with `/reload-plugins` and `/mcp`\n\n**Updating to a new version:** Uninstall the existing plugin first, then reinstall:\n\n```\n/plugin uninstall rocketsmith@rocketsmith\n```\n\n```\n/plugin install rocketsmith@rocketsmith --scope user\n```\n\n### [Gemini CLI (extension)](https://geminicli.com/extensions/?name=ppak10RocketSmith)\n\n```bash\ngemini extensions install https://github.com/ppak10/RocketSmith\n```\n\n## Requirements\n\n- **Java runtime** — required by OpenRocket\n- **OpenRocket 23.09** — uses [orhelper](https://github.com/SilentSys/orhelper), which targets the `net.sf.openrocket` package in OpenRocket 23.09 and earlier. OpenRocket 24+ is not supported.\n- **PrusaSlicer** (optional — needed for the full CAD → print → mass calibration loop)\n\nSee [Installation](https://github.com/ppak10/RocketSmith/wiki/Installation) for platform-specific setup and troubleshooting.\n\n## Troubleshooting\n\n### Windows — OpenRocket calls are very slow or appear to hang\n\nOpenRocket runs on a JVM. On Windows, the first `openrocket_*` call in a session pays a JVM cold-start cost of **67 seconds to 6 minutes**. This is normal — the tool will eventually return. Do not cancel the call or retry early; let it finish. Subsequent calls in the same session are faster once the JVM is warm.\n\n### Windows — `rocketsmith_setup` fails with `[WinError 87] The parameter is incorrect`\n\nThis was a bug in path resolution on Windows where `Path.resolve()` raised `OSError` for certain path types. It is fixed in the current version. If you hit it on an older version, call `rocketsmith_setup(action=\"check\")` first (no `project_dir`), confirm `ready: true`, then call again with `project_dir`.\n\n### Claude Code — agent continuation fails (\"SendMessage not found\")\n\nClaude Code requires **v2.1.77 or later** for inter-agent `SendMessage` to work. On older versions, attempting to continue a spawned subagent by `agentId` will fail because the tool doesn't exist yet. Update Claude Code to the latest release to resolve this.\n\n### MCP server disconnects mid-session\n\nRejecting a pending rocketsmith tool call can cause the MCP server to disconnect, disabling all rocketsmith tools for the rest of the session. If this happens, restart the MCP server: in Claude Code run `/mcp`, find the rocketsmith server, and reconnect. In Gemini CLI, restart the session.\n\n## Documentation\n\n- [Home](https://github.com/ppak10/RocketSmith/wiki/Home) — pipeline overview, domain agents, MCP tool list\n- [GUI](https://github.com/ppak10/RocketSmith/wiki/GUI) — dashboard, offline mode, navigation, Agent Feed\n- [OpenRocket](https://github.com/ppak10/RocketSmith/wiki/OpenRocket) — component tree, stability, dimension models\n- [Manufacturing](https://github.com/ppak10/RocketSmith/wiki/Manufacturing) — DFAM rules, component tree annotations\n- [CADSmith](https://github.com/ppak10/RocketSmith/wiki/CADSmith) — script execution, part extraction, preview pipeline, assembly\n- [Skills](https://github.com/ppak10/RocketSmith/wiki/Skills) — stability analysis, motor selection, print preparation, mass calibration\n- [Installation](https://github.com/ppak10/RocketSmith/wiki/Installation) — setup and dependency troubleshooting\n- [Hooks](https://github.com/ppak10/RocketSmith/wiki/Hooks) — Gemini CLI session hooks\n\n## Development\n\n### Local setup\n\n```bash\ngit clone https://github.com/ppak10/RocketSmith\ncd RocketSmith\nuv sync\n```\n\n#### Claude Code\n\n```bash\nclaude --plugin-dir .\n```\n\n#### Gemini CLI\n\n```bash\ngemini extensions install .\n```\n\n## License\n\nSee [LICENSE](LICENSE).\n",
  "bytes": 5560,
  "sha": "9a490acbeeda5ec4eed58c725ce0ba283a87153e7fdae34d9f7ad68cd0578790",
  "repo_slug": "ppak10/rocketsmith",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_ppak10_rocketsmith_rocketsmith_165104e9/readme"
}