Skip to main content
The daemon is a background process that runs the TypeScript engine, file watcher, MCP server, and HTTP API. The TUI and CLI communicate with the daemon via HTTP.

Subcommands

daemon start

Start the background daemon.
complior daemon without subcommand is equivalent to complior daemon start --watch.
The daemon writes a PID file to .complior/daemon.pid:

daemon status

Show running daemon status.

daemon stop

Stop the running daemon.
Sends SIGTERM, waits 5 seconds, then SIGKILL if needed.

Auto-launch

When you run complior (TUI), it automatically:
  1. Checks for a running daemon via .complior/daemon.pid
  2. If found → connects to it (won’t kill on TUI exit)
  3. If not found → starts a new daemon (auto-managed)
This means you rarely need to manage the daemon manually.

File watcher

With --watch enabled, the daemon monitors your project for file changes:
  • Debounce: 200ms after last change
  • Trigger: Auto-rescan → score update → SSE notification
  • Scope: Files matching scan patterns (not node_modules, .git, etc.)
The file watcher is the core of the compliance gate — every code change triggers an immediate compliance check.