https://github.com/mastertyko/slaynode
A sleek macOS menu bar application for Node.js process management. Monitor and stop development servers with one click. Real-time detection of npm, yarn, pnpm, and npx processes with beautiful UI.
https://github.com/mastertyko/slaynode
development-tools macos menubar nodejs process-manager swift swiftui
Last synced: 25 days ago
JSON representation
A sleek macOS menu bar application for Node.js process management. Monitor and stop development servers with one click. Real-time detection of npm, yarn, pnpm, and npx processes with beautiful UI.
- Host: GitHub
- URL: https://github.com/mastertyko/slaynode
- Owner: mastertyko
- License: mit
- Created: 2025-10-11T10:17:18.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2026-06-07T08:19:52.000Z (about 1 month ago)
- Last Synced: 2026-06-07T09:23:15.323Z (about 1 month ago)
- Topics: development-tools, macos, menubar, nodejs, process-manager, swift, swiftui
- Language: Swift
- Homepage: https://github.com/mastertyko/slaynode
- Size: 12 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Security: SECURITY.md
- Support: docs/SUPPORTED_EXAMPLES.md
Awesome Lists containing this project
README
# SlayNode

**A Tahoe-native macOS control room for local services**
[](https://swift.org)
[](https://apple.com/macos)
[](LICENSE)
[](https://github.com/mastertyko/slaynode/actions)
SlayNode gives you one place to discover, inspect, and control local services on modern macOS. It unifies live development runtimes, Docker containers, and Homebrew Services into one native dashboard with a fast menu bar entry point, workspace-aware search, and deliberate control actions.
## What You Can Do
- Discover local processes, Docker containers, and Homebrew Services automatically
- Inspect ports, runtime/source, workspace ownership, command context, and health
- Use `Stop`, `Force Stop`, `Restart`, `Open Logs`, and `Open Workspace` when supported
- Search across services, ports, runtimes, and workspaces from the native toolbar
- Restore recent workspaces and window context through local on-device persistence
- Keep everything local on your Mac without sending service metadata anywhere
## Install
1. Download the latest release from [GitHub Releases](https://github.com/mastertyko/slaynode/releases).
2. Drag `SlayNode.app` into `/Applications`.
3. Launch it:
```bash
open /Applications/SlayNode.app
```
GitHub release assets are ad-hoc signed and not notarized. macOS may show a
first-launch warning because public releases do not use an Apple Developer ID.
## Build From Source
**Requirements**
- macOS 26.0 or later
- Xcode 26 or current Command Line Tools with Swift 6.2 support
```bash
git clone https://github.com/mastertyko/slaynode.git
cd slaynode
./script/build_and_run.sh
```
Run the test suite with:
```bash
swift test --disable-sandbox
```
Run the same full verification gate that CI and release automation use with:
```bash
./script/full_verification.sh
```
GitHub releases also publish a sibling `release-metadata.json` asset beside the DMG and ZIP so you can verify the exact build number, macOS floor, release-note source, and commit provenance without unpacking the bundle.
## Using SlayNode
1. Launch the app and let the dashboard refresh.
2. Choose `All Services` or focus a workspace from the sidebar.
3. Select a service from the center column to inspect it in the detail view and inspector.
4. Use `Stop`, `Force Stop`, `Restart`, `Logs`, or `Open Workspace` depending on what the source supports.
5. Use `Cmd+,` for Settings, the toolbar search field to narrow the list, and the app menu for About.
## Recognition Model
- Frameworks like Vite, Next.js, Bun, Deno, Python, Ruby, and Go services are normalized into one service model.
- Docker containers and Homebrew Services are first-class sources with source-specific actions.
- Working directory, command parsing, ports, health, and dependency heuristics are combined to reduce false positives.
- Sensitive arguments such as API keys and tokens are redacted before commands are shown in the UI.
- Destructive actions prefer scoped process previews so you can see when a stop targets a full process tree instead of a single PID.
## Product Shape
- Main window: Tahoe-native `NavigationSplitView` with sidebar, list, detail, and inspector
- Menu bar: fast triage surface backed by the same service graph as the main app
- Persistence: recent workspaces, actions, and window state stored locally with SwiftData
- System integration: App Intents, Spotlight indexing, local notifications, and native window restoration
## Documentation
- [INSTALL.md](INSTALL.md) for installation, source-build, and troubleshooting
- [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md) for architecture, release automation, and contributor context
- [docs/ICON_SYSTEM.md](docs/ICON_SYSTEM.md) for the brand asset pipeline
- [docs/IMPROVEMENT_BACKLOG.md](docs/IMPROVEMENT_BACKLOG.md) for the current maintenance and hardening backlog
- [docs/SUPPORTED_EXAMPLES.md](docs/SUPPORTED_EXAMPLES.md) for concrete service and runtime scenarios SlayNode recognizes today
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.