Exporting and Importing Tools
Share a single tool with someone else, or set it up on a new Mac. Export the tool to a portable .runyard file, hand that file off (or carry it to the other machine), and Import it there. Because a tool can run commands and AppleScript, import always shows you everything it will do and lets you point it at your own folders before anything is written or run.
This is different from syncing your whole config across your own Macs via iCloud/Dropbox. Export/Import is for sharing a single tool (or a group) with someone else, or seeding a new machine.
Exporting a tool
Open Settings → Tools, then either:
- Select the tool and click the Export button (the up-arrow icon) in the editor's top bar, or
- Right-click the tool in the sidebar and choose Export….
A sheet opens so you can review what travels before saving:
- Tools to include (groups only): a checkbox per nested tool, all on by default. Uncheck any you don't want to send. A group with nothing selected can't be exported.
- Global PATH: a toggle (on by default) to bundle your global PATH entries. These are added to each imported tool that runs commands, not the recipient's global Runyard settings. The exact entries are listed below the toggle.
- Included scripts: any AppleScript files used by the tool's actions are bundled into the file by value, so the recipient gets them automatically.
- Removed for privacy: anything Runyard scrubbed (see below) is listed here so you know before you send. Each row names what was found (for example Possible credential) and where (for example AppleScript "Run Deploy", or the script file, plus the tool name when it's inside a group). A note reminds you the originals stay on this Mac.
Click Export…, choose a location, and Runyard writes a .runyard file (named after the tool).
What gets scrubbed
Runyard never ships machine-specific or sensitive data:
- Your home directory is rewritten to
~in the tool's project folder, the tool's PATH list, and the global PATH entries. - Token-shaped strings (long hex/base64 runs,
key=/token/secret/password/Bearer …) inside inline AppleScript and bundled script files are replaced with<redacted>.
If something was redacted, the Removed for privacy section tells you. Your config.json is never included. Only the one tool you exported.
The .runyard file
A .runyard file is plain JSON. It contains:
- The tool itself, exactly as it appears in
config.json(commands, actions, health checks, nested tools). - The list of machine-specific values the recipient must set on their Mac (project folders, PATH entries).
- Any bundled AppleScript files the tool's actions need.
It does not contain your full configuration, your other tools, or your secrets.
Importing a tool
Two ways to start an import:
- Double-click a
.runyardfile in Finder, or - In Settings → Tools, click Import Tool… next to the + Add control, then pick the file.
The import sheet walks you through it, top to bottom:
- Identity: the tool's name, type, and the Runyard version it was made with.
- Name: pre-filled, and suffixed (e.g.
My App (2)) if you already have a tool with that name. Edit it freely. Imported tools are always set to not start automatically. Start them manually after importing. - Commands that will run: a collapsible, read-only review of every start/stop command, install command, and action, grouped per tool. Expand an AppleScript action to read its full script. If a tool keeps your Mac awake while running, that's noted here, under the tool that has the setting. This is your chance to confirm the tool is safe before importing.
- Set up for this Mac: a folder picker for each project folder (with a green check when the folder exists) and editable PATH lists, grouped by tool. Bundled scripts are written into the folders you choose. If a script couldn't be bundled, you'll see an amber warning.
Import stays disabled until every required folder points at a real directory. Once you confirm, Runyard writes any bundled scripts, adds the tool to your config, and reloads, without starting it.
Global PATH on import
If the file includes the sharer's global PATH, those entries are folded into each imported tool that actually runs commands, never into your own global Runyard settings. So importing a tool can't quietly change the environment of your other tools.
Compatibility
Each .runyard file records the minimum Runyard version that can read it. If you try to import a file made by a newer version of Runyard than you're running, the import is refused with a message telling you to update Runyard. Files made by older versions import normally.
Troubleshooting
- The imported tool won't start. Imported tools are intentionally set to not auto-start. Open the popover and start it manually. (You can flip "Start automatically" later in Settings → Tools.)
- An AppleScript action does nothing / a script is missing. The sharer's script file couldn't be read at export time, so it wasn't bundled. The import sheet flags this with an amber warning; ask the sharer to re-export, or add the script yourself.
- "This isn't a Runyard file." The file isn't a valid
.runyarddocument (wrong type, or corrupted). - "This tool needs a newer Runyard." The file was exported by a newer version. Update Runyard (Check for Updates… in the popover or the About tab), then import again.
- A command can't find
node/npm/etc. The tool's PATH may not include the directory that binary lives in. Add it under the tool's PATH on import, or see Shell environment and PATH.