# Staplehire CLI > Run hiring workflows from the terminal with the Staplehire CLI: create roles, source candidates, send AI interviews, enrich research, and automate everything with JSON output built for scripts and AI agents. ## Docs - [Staplehire CLI](https://staplehire.com/docs/index.md): Run your entire hiring pipeline from the terminal — create roles, source and enrich candidates, send AI interviews, and automate it all with JSON output built for scripts and AI agents. - [Installation](https://staplehire.com/docs/installation.md): Install @staplehire/staplehire-cli with npm, verify the staplehire binary, and run your first health check with staplehire doctor. - [Authentication](https://staplehire.com/docs/authentication.md): Authenticate the Staplehire CLI with browser OAuth (PKCE), set STAPLEHIRE_KEY for agents and CI, and verify your organization with staplehire whoami. - [Quickstart](https://staplehire.com/docs/quickstart.md): Go from a fresh install to a sent AI interview in a few minutes — create a role, build a stage, add a candidate, and invite them, all from the terminal. - [Create a role](https://staplehire.com/docs/create-role-cli.md): Create a Staplehire role from a job description file, stdin, or inline text using the CLI, then list, inspect, and view candidates on it. - [Manage stages](https://staplehire.com/docs/stages-cli.md): Create and list pipeline stages on a Staplehire role from the CLI, list candidates per stage, and recover from duplicate-candidate conflicts. - [Add a candidate](https://staplehire.com/docs/add-candidate-cli.md): Add a candidate to a Staplehire role by email, name, stage, and profile fields from the CLI, move them between stages, and read their record. - [Enrich a candidate with the Staplehire CLI](https://staplehire.com/docs/enrich-candidate-cli.md): Start a Staplehire candidate research job, poll it, and read candidate research from the CLI. - [Send an interview](https://staplehire.com/docs/send-interview-cli.md): Create an AI interview design for a role with the Staplehire CLI, send the screening invite to a candidate by email, or generate an apply link. - [Send an email](https://staplehire.com/docs/send-email-cli.md): Send a branded email to a candidate from the Staplehire CLI with a subject, title, body, optional call-to-action button, and a dry-run mode. - [Source candidates](https://staplehire.com/docs/source-candidates-cli.md): Start an AI sourcing job from the Staplehire CLI, poll the async job, and fetch matched prospects for a role as JSON. - [Search](https://staplehire.com/docs/search-cli.md): Search across roles and candidates in your Staplehire organization from the CLI with a single query. - [Poll jobs](https://staplehire.com/docs/poll-agent-jobs.md): Use staplehire jobs poll to wait for async sourcing and enrichment jobs to finish, with stable exit codes, then read the generated results. - [Use with AI agents](https://staplehire.com/docs/ai-agents.md): Install the Staplehire agent skill so Cursor, Claude Code, and Codex can discover commands, pass required flags, and consume JSON output safely. - [Use in CI](https://staplehire.com/docs/use-staplehire-cli-in-ci.md): Run Staplehire CLI commands in GitHub Actions, GitLab CI, or any pipeline with STAPLEHIRE_KEY and JSON output — no browser login required. - [Command reference](https://staplehire.com/docs/commands.md): Every Staplehire CLI command for roles, stages, candidates, sourcing, interviews, jobs, search, authentication, and utilities — with global flags and exit codes. - [CLI errors](https://staplehire.com/docs/cli-errors.md): Understand Staplehire CLI exit codes and structured error JSON — authentication, validation, not found, conflict, permission, upstream, usage, and job timeout — and how to recover.