Skip to content

v0.1.0 — Initial Release

Choose a tag to compare

@kolkov kolkov released this 11 Sep 18:47
· 17 commits to main since this release

daemon v0.1.0

Cross-platform daemon lifecycle library for Go. Pure Go, zero CGO, zero dependencies (stdlib only).

Features

  • Client mode — Start/Stop/Restart/Status to manage background daemon processes
  • Server mode — Serve() with automatic port selection, PID file, signal handling, health endpoint
  • Proxy mode — Proxy() bridges stdin/stdout to daemon HTTP for MCP/JSON-RPC protocols
  • EnsureRunning — start-if-needed with race-safe PID locking
  • run.Group — actor concurrency pattern (oklog/run reimplemented, zero deps)
  • Connection tracking — atomic connect/disconnect counting with idle auto-shutdown
  • Rich Model — Daemon struct + interfaces (PIDStore, ProcessManager, HealthChecker)
  • Cross-platform — Windows (CREATE_NEW_PROCESS_GROUP) + Linux/macOS (setsid)

Install

go get github.com/grpmsoft/daemon

Quality

  • 106 tests, 83%/87% coverage
  • Zero lint warnings (golangci-lint v2)
  • CI: build + test + lint on 3 OS (Ubuntu, macOS, Windows)
  • Go 1.27+, stdlib only