🧪 Skills

toolguard-daemon-control

Manage macOS launchd user agents to start, stop, restart, check status, and access logs of persistent background services without sudo.

v0.0.1
❤️ 0
⬇️ 457
👁 1
Share

Description


name: toolguard-daemon-control description: Manage long-running processes as macOS launchd services. Use when asked to start, stop, restart, check status of, or manage background services/daemons. Handles launchd plist creation, service lifecycle, and log access. Use this instead of background exec for any process that should persist beyond the current session.

toolguard-daemon-control

Manage any executable as a persistent macOS launchd user agent.

Overview

Services are installed as ~/Library/LaunchAgents/ai.toolguard.<name>.plist and run as user-level launch agents. They auto-restart on failure and log to ~/Library/Logs/toolguard/.

Scripts

All scripts are in scripts/ relative to this skill's directory. Run them with bash.

install.sh — Create and start a service

bash scripts/install.sh <service-name> <command> [args...] [--workdir <dir>] [--env KEY=VALUE ...]
  • service-name: Short identifier (e.g., toolguard-proxy). Used in plist filename and log paths.
  • command: Absolute path to the executable.
  • args: Arguments passed to the command.
  • --workdir <dir>: Working directory for the process (default: $HOME).
  • --env KEY=VALUE: Environment variables (repeatable).

Example:

bash scripts/install.sh toolguard-proxy /usr/local/go/bin/go run ./cmd/server --config toolguard.dev.yaml --workdir ~/Documents/toolguard

uninstall.sh — Stop and remove a service

bash scripts/uninstall.sh <service-name>

Unloads the service and removes the plist file. Logs are preserved.

status.sh — Check service status

bash scripts/status.sh [service-name]

Without arguments, lists all ai.toolguard.* services. With a name, shows detailed status for that service.

logs.sh — View service logs

bash scripts/logs.sh <service-name> [--follow] [--lines <n>]

Shows stdout and stderr logs. Default: last 50 lines.

list.sh — List all managed services

bash scripts/list.sh

Lists all installed ai.toolguard.* services with their running state.

Notes

  • Services run as the current user (no sudo required).
  • Services auto-restart on crash (KeepAlive = true).
  • To run a Go project, use the compiled binary path or wrap in a shell script — launchd does not support go run directly. Use go build first, then point to the binary.
  • Log directory: ~/Library/Logs/toolguard/<service-name>/
  • Plist location: ~/Library/LaunchAgents/ai.toolguard.<service-name>.plist

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs