Metadata-Version: 2.4
Name: rocketsmith
Version: 0.0.12
Summary: Let agents design, simulate, and build your rocket.
Author: Jesse Barkley, Rumi Loghmani
Author-email: Peter Pak <ppak10@gmail.com>
License: MIT License
        
        Copyright (c) 2026 Peter Pak
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Project-URL: Homepage, https://github.com/ppak10/RocketSmith
Project-URL: Issues, https://github.com/ppak10/RocketSmith/issues
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: build123d>=0.10.0
Requires-Dist: chromadb>=0.6.0
Requires-Dist: datasets>=3.0.0
Requires-Dist: mcp>=1.12.3
Requires-Dist: orhelper>=0.1.3
Requires-Dist: pydantic>=2.11.7
Requires-Dist: pyopengl>=3.1.10
Requires-Dist: pyside6>=6.11.0
Requires-Dist: questionary>=2.1.1
Requires-Dist: rich>=14.0.0
Requires-Dist: typer>=0.16.0
Dynamic: license-file

[![pytest](https://github.com/ppak10/RocketSmith/actions/workflows/pytest.yml/badge.svg)](https://github.com/ppak10/RocketSmith/actions/workflows/pytest.yml)
[![macos](https://github.com/ppak10/RocketSmith/actions/workflows/macos.yml/badge.svg)](https://github.com/ppak10/RocketSmith/actions/workflows/macos.yml)
[![ubuntu](https://github.com/ppak10/RocketSmith/actions/workflows/ubuntu.yml/badge.svg)](https://github.com/ppak10/RocketSmith/actions/workflows/ubuntu.yml)
[![windows](https://github.com/ppak10/RocketSmith/actions/workflows/windows.yml/badge.svg)](https://github.com/ppak10/RocketSmith/actions/workflows/windows.yml)
[![codecov](https://codecov.io/github/ppak10/RocketSmith/graph/badge.svg?token=CODECOV_TOKEN)](https://codecov.io/github/ppak10/RocketSmith)

# <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

Let agents design, simulate, and build your rocket.

RocketSmith 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.

## Install

RocketSmith integrates with AI coding tools through their native plugin/extension interfaces for MCP. A `uv` package is also available for CLI usage and direct API access.

### Gemini CLI (extension)

```bash
gemini extensions install https://github.com/ppak10/RocketSmith
```

The extension registers the MCP server, orchestrator agent, domain subagents (`openrocket`, `cadsmith`, `prusaslicer`), and action skills automatically.

### Claude Code (MCP server)

Add to your Claude Code MCP configuration (project or global `settings.json`):

```json
{
  "mcpServers": {
    "rocketsmith": {
      "command": "uvx",
      "args": ["--from", "rocketsmith", "rocketsmith-mcp"]
    }
  }
}
```

Agent definitions (`agents/*.md`) and skills (`skills/*/SKILL.md`) are loaded via Claude Code's `CLAUDE.md` include mechanism.

### CLI / API

```bash
uv tool install rocketsmith
```

This installs the `rocketsmith` CLI for direct command-line usage and makes the Python API available for scripting. The CLI is independent of any AI coding tool — use it for automation, CI, or standalone workflows.

### First run

```
@rocketsmith design and build a stable rocket for a D12 motor
```

The orchestrator will walk through simulation → CAD → slicing → mass calibration, pausing for user feedback during the interactive CAD phase.

## Documentation

Full documentation lives in the [wiki](https://github.com/ppak10/RocketSmith/wiki):

- [Home](https://github.com/ppak10/RocketSmith/wiki/Home) — pipeline overview, domain agents, and MCP tool list
- [Installation](https://github.com/ppak10/RocketSmith/wiki/Installation) — plugin/extension setup and dependency troubleshooting
- [Skills](https://github.com/ppak10/RocketSmith/wiki/Skills) — stability analysis, motor selection, CAD handoff, print preparation, mass calibration
- [Hooks](https://github.com/ppak10/RocketSmith/wiki/Hooks) — session-start dependency checks and other hooks

## Requirements

- **Java runtime** — required by OpenRocket
- **OpenRocket 23.09** — RocketSmith uses [orhelper](https://github.com/SilentSys/orhelper), which targets the `net.sf.openrocket` package present in OpenRocket 23.09 and earlier. OpenRocket 24+ is not currently supported.
- **PrusaSlicer** (optional, only needed for the CAD → print → calibration loop)

## License

See [LICENSE](LICENSE).
