Librc

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.

majiayu000 Updated 567 repo stars

File contents

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.

majiayu000/claude-skill-registry-data/tree/main/data/librc commit dc27ea64ff

Frequently asked questions

npx skillmds@latest add majiayu000/librc