- macOS 26.0 or later
- Download the latest release from GitHub Releases.
- Drag
SlayNode.appinto/Applications. - Launch it from Finder, Spotlight, or:
open /Applications/SlayNode.app
- Launch a local dev service such as:
npm run dev
- Open SlayNode.
- Confirm the service appears in the center list.
- Select it and verify that ports, actions, runtime/source, and workspace details show up in the main panel.
Optional additional checks:
- Start a Docker container and confirm it appears with
RestartandLogs. - Start a Homebrew Service and confirm it is grouped into the same local control surface.
- macOS 26.0 or later
- Xcode 26 or current Command Line Tools (
xcode-select --install)
git clone https://github.com/mastertyko/slaynode.git
cd slaynode
./script/build_and_run.sh# Run the full test suite
swift test
# Build a release bundle
./build.sh release
# Build, launch, and verify the app process
./script/build_and_run.sh --verify
# Stream app logs
./script/build_and_run.sh --logschmod +x SlayNode.app/Contents/MacOS/SlayNodeMenuBar
codesign --force --sign - SlayNode.app- Make sure at least one supported local service is running:
- a development runtime such as Vite, Next.js, Bun, Deno, Python, Ruby, or Go
- a Docker container
- a Homebrew Service
- Use the in-app
Refreshaction. - Check Console.app for
SlayNodeMenuBarlog entries.
xcode-select --install
sudo xcode-select --reset- Local builds intentionally disable Sparkle when the feed URL or EdDSA key is not configured.
- This is expected until release metadata is wired correctly.
- SlayNode redacts known secret-bearing arguments before displaying commands in the UI.
- Source commands still run exactly as launched by the system; only the presentation is sanitized.
Use one of these approaches:
./script/build_and_run.sh --logs
./script/build_and_run.sh --telemetryOr open Console.app and filter on SlayNodeMenuBar.
- Quit SlayNode from the app menu or by closing the app normally.
- Remove
SlayNode.appfrom/Applications. - Optionally clear stored local preferences:
defaults delete com.slaynode.preferences.refreshInterval
- README.md for the product overview
- docs/DEVELOPMENT.md for implementation details
- GitHub Issues for bug reports