HireLens

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.com

login 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

CommandWhat 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.mdCreate a job from a JD file (or stdin if omitted)
hirelens rubric derive <jobId>LLM-derives the rubric from the JD
hirelens score <jobId> ./resumesUpload + score + ranked table

score flags

hirelens score <jobId> ./resumes --breakdown   # per-criterion scores + evidence
hirelens score <jobId> ./resumes --json        # machine-readable output

score 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 create without --jd reads 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 --breakdown

LLM commands (rubric derive, score) require HIRELENS_LLM_* configuration on the API side — the CLI itself holds no keys.