Docs · Get started
CLI reference
hirelens is a zero-runtime-dependency TypeScript CLI run directly by Node's type stripping — needs Node ≥ 22.6. The full pipeline, from a terminal.
Setup
export HIRELENS_API_URL=http://localhost:4000 # the API
export HIRELENS_CONFIG_DIR=~/.hirelens # optional; cookie storage
pnpm --filter @hirelens/cli dev login you@example.comlogin prompts for your password (or set HIRELENS_PASSWORD for scripts). Accounts are created in the web UI or via the sign-up API; the CLI signs existing accounts in. Sessions persist to ~/.hirelens/.
Commands
| Command | What it does |
|---|---|
hirelens login <email> | Authenticate; stores the session cookie |
hirelens org create "Acme Hiring" | Create an organization (becomes the active tenant) |
hirelens jobs create "Senior Backend" --jd jd.md | Create a job from a JD file (or stdin if omitted) |
hirelens rubric derive <jobId> | LLM-derives the rubric from the JD |
hirelens score <jobId> ./resumes | Upload + score + ranked table |
score flags
hirelens score <jobId> ./resumes --breakdown # per-criterion scores + evidence
hirelens score <jobId> ./resumes --json # machine-readable outputscore uploads every .txt/.md/.pdf in the path, prints a ranked table, and writes the run to the API (audit-chained, like any product run).
Known gotcha:jobs createwithout--jdreads the description from stdin, which never closes in a scripted shell — always pass--jd <file>(or pipe input) outside interactive use.
Example end-to-end
cd apps/cli
node src/main.ts org create "Acme Hiring"
node src/main.ts jobs create "Senior Backend Engineer" --jd jd.md
node src/main.ts rubric derive <jobId>
node src/main.ts score <jobId> ./resumes --breakdownLLM commands (rubric derive, score) require HIRELENS_LLM_* configuration on the API side — the CLI itself holds no keys.