name: librc description: > librc - Service lifecycle manager using svscan supervision. ServiceManager communicates with supervision daemon via Unix sockets. startServices and stopServices control multiple services. Use for starting/stopping platform services, process supervision, and service orchestration.
librc Skill
When to Use
- Starting and stopping Copilot-LD services
- Managing service lifecycle programmatically
- Communicating with the supervision daemon
- Orchestrating service startup order
Key Concepts
ServiceManager: Connects to svscan daemon via Unix socket to control service processes.
Supervision: Services run under svscan for automatic restart and logging.
Usage Patterns
Pattern 1: Manage single service
import { ServiceManager } from "@copilot-ld/librc";
const manager = new ServiceManager("/var/run/svscan.sock");
await manager.start("agent");
await manager.status("agent"); // Returns running/stopped
await manager.stop("agent");
Pattern 2: Manage multiple services
import { startServices, stopServices } from "@copilot-ld/librc";
await startServices(["agent", "llm", "memory"]);
await stopServices(["agent", "llm", "memory"]);
Integration
Used by make rc-start and make rc-stop. Works with libsupervision daemon.