norc-cli
v0.1.9
Published
Headless cron job scheduler for norc — manage crontab, pair machines, run the bridge daemon.
Downloads
731
Readme
norc-cli
Headless cron job scheduler for norc. Manage your machine's crontab from a CLI, pair it with your norc account, and keep a background bridge daemon online for remote admin from the norc web app.
Install
Via npm:
npm install -g norc-cliVia Homebrew:
brew install norcapp/norc/norc-cliRequires Node.js >= 24 (via npm — brew/apt/winget/choco/scoop bundle their own runtime, no system Node needed).
Setup
norc login / norc pair / norc bridge talk to the norc.app project by
default — nothing to configure. Two ways to connect this machine:
# Headless — one command, no email round trip. Generate a key at
# vault → Settings → API Keys, same key norc-mcp uses. Bare `norc login`
# prompts for it (input isn't echoed), so nothing sensitive ends up in
# shell history or a process listing.
norc login
# CI/non-interactive: pass the key via env, not a command argument
# (a --key value would show up in shell history and `ps`).
NORC_API_KEY=norc_sk_... norc login
# Interactive — needs your inbox
norc login --email [email protected] # one-time-code email login
norc pair # link this machine to your accountThe headless path is the one to use on servers/CI/Raspberry Pis — no
inbox access needed, and it registers the machine in one step. --key
<api-key> also works if you must pass it inline (e.g. a script that
already has the key in an env var it controls), but prefer the prompt
or NORC_API_KEY — an inline argument is visible in shell history and
to anyone inspecting the process list.
Usage
norc login --email <email> start email one-time-code login (prompts for an API key first if no email given; empty falls back to email)
norc login --key <api-key> log in + pair headlessly with a norc API key (vault → Settings → API Keys) — no email/browser
norc pair pair this machine with your norc account (after norc login)
norc jobs list list jobs in this machine's crontab
norc jobs add <schedule> <cmd> add a job (schedule in 5-field cron syntax)
norc jobs rm <id> remove a job by id
norc jobs enable <id> enable a job
norc jobs disable <id> disable a job
norc runs --tail tail run history (not yet available)
norc bridge run the bridge daemon (stay online, admin from norc web)
norc service install register+start the per-user background service
norc service uninstall stop+remove the per-user background serviceAdd --debug (or set NORC_DEBUG=1) to any command for step-by-step tracing — which backend URLs/config paths are in play, and full request/response detail for every network call (secrets shown as a redacted prefix only, e.g. norc_sk_test1234…(28 chars)):
norc login --key norc_sk_... --debug
NORC_DEBUG=1 norc loginUseful for anything that fails with a generic message like pairing failed (500) — --debug shows the raw server response instead.
Background service
norc service install registers a per-user background service (LaunchAgent on macOS) that runs the bridge daemon automatically. Uninstall it before removing the CLI:
norc service uninstallIf installed via Homebrew, run this before brew uninstall norc-cli — Homebrew formulas have no uninstall hook, so a stale service would otherwise be left behind.
Development
From apps/cli in the norc monorepo:
pnpm install
pnpm test # vitest
pnpm typecheck # tsc --noEmit
pnpm build # bundle to dist/index.jsLinks
- norc.app
- norc-cli docs — full how-to guide: install per platform, apt setup, pairing walkthrough, feature list
- vault → Settings → API Keys — create the key
norc login/norc login --keyuse - norc-desktop docs · norc-mcp docs · norc-mobile docs — other norc surfaces
- Issues
