career-ops turns any AI coding CLI you already have, Claude Code, Codex, Gemini, OpenCode, or others, into a job search command center: paste a job URL and it evaluates the fit against your CV, drafts a tailored PDF resume, and logs the result in a tracker. The project picked up 921 stars in a single day on GitHub's trending page, on top of more than 67,000 since launching in April 2026.
- career-ops is free, open source, and runs entirely on your own machine through an AI CLI you already have installed, no separate account or hosted service required.
- It scores job listings 1 to 5 across an A-H rubric (role fit, comp research, interview prep, and a scam/ghost-job legitimacy check) instead of matching keywords.
- It generates ATS-tailored PDF resumes and cover letters per listing, and can research a specific hiring manager or recruiter to contact.
- It is explicitly not an auto-applier: the AI evaluates and drafts, you review and click submit yourself.
What is career-ops and why is it trending?
career-ops is an open source, CLI-agnostic job search system built by Santiago Fernandez de Valderrama Aparicio, who used it himself to evaluate more than 740 job offers, generate over 100 tailored resumes, and land a Head of Applied AI role. Rather than shipping its own AI model or a hosted web app, it ships as a set of skill files (`modes/*.md`) that any AI coding CLI can read and execute: Claude Code, Codex, Gemini through Antigravity CLI, OpenCode, Grok Build CLI, Qwen, and GitHub Copilot are all listed as supported. The repository has been featured in WIRED and Business Insider, launched on Product Hunt, and crossed 67,000 GitHub stars in about four and a half months, with 921 arriving in the single day it hit trending. The pitch, stated directly in the README: companies already use AI to filter candidates, so career-ops gives candidates AI to filter companies back.
Relateddcg Setup: Block Destructive Commands From AI Coding Agents
How do you install career-ops (the fast way)?
The project publishes an npm package, so the quickest path needs only Node.js 18 or newer, which ships `npx` by default:
# clones the latest release into ./career-ops and installs dependencies
npx @santifer/career-ops init
Then move into the new folder and open the AI CLI you already use:
cd career-ops
claude # or codex / opencode / qwen / agy / grok
On first launch, career-ops walks you through setup by chatting: it asks for your CV, your profile, and your target roles, and writes the config files itself. Nothing needs hand editing to get started.
How do you install career-ops manually with git clone?
Prefer to see every file before running anything? The manual path is a few extra steps:
git clone https://github.com/santifer/career-ops.git
cd career-ops && npm install
npx playwright install chromium # only needed for PDF generation
# check every prerequisite is actually satisfied
npm run doctor
# copy the templates, then edit with your own details
cp config/profile.example.yml config/profile.yml
cp templates/portals.example.yml portals.yml
# create cv.md in the project root with your CV in markdown
claude # or codex / opencode / qwen / agy / grok
Once your AI CLI is open in that folder, hand it plain-language instructions instead of editing YAML by hand, things like "change the archetypes to backend engineering roles" or "add these 5 companies to portals.yml".
Prefer a persistent command over `npx` re-downloads for every project? Install the binary globally instead:
npm i -g @santifer/career-ops
How do you install career-ops on Windows?
career-ops runs on Windows, and the project ships a dedicated Windows guide (`docs/WINDOWS.md`) covering Git Bash discovery, line-ending quirks, and Task Scheduler setup for anyone who wants scans running unattended. If skill files fail to load with a symlink error during install, the fix is documented in the project's FAQ doc rather than being a dead end. Both install paths above work identically on Windows, macOS, and Linux, since the whole system runs on Node.js and your AI CLI, not on OS-specific binaries.
What can you actually do with it once it's running?
Everything routes through a shared `/career-ops` command, a slash command in CLIs that support them, or a plain-language request in Codex where slash commands are not guaranteed:
RelatedSuperpowers Setup: Give Your AI Coding Agent a Real Workflow
/career-ops → Show all available commands
/career-ops {paste a JD} → Full auto-pipeline (evaluate + PDF + tracker)
/career-ops scan → Scan portals for new offers
/career-ops pdf → Generate ATS-optimized CV
/career-ops cover → Cover letter generator
/career-ops batch → Batch evaluate multiple offers
/career-ops tracker → View application status
/career-ops contacto → Find a hiring manager or recruiter to contact
The scanner ships pre-configured with more than 100 companies (AI labs, voice AI startups, enterprise SaaS, European scale-ups) plus 45-plus search queries across 55-plus job board integrations spanning Greenhouse, Ashby, Lever, and company career pages. Since some ATS feeds leave expired postings live, `node scan.mjs --verify` runs a Playwright liveness check after the API pass and drops closed roles first. A terminal dashboard (`npm run serve:dashboard`), a Go and Bubble Tea TUI, adds filter tabs and inline status changes for browsing the pipeline without a spreadsheet.
| Trait | career-ops | Teal / Huntr | LazyApply / JobCopilot-style |
|---|---|---|---|
| Where it runs | Locally, via your own AI CLI | Hosted web app | Hosted, browser extension |
| Submits applications for you | No, draft-only by design | No, tracking only | Yes, mass auto-apply |
| Cost model | Free and open source, BYO AI CLI | Freemium subscription | Paid subscription |
| CV tailoring | AI-tailored per job description | Manual or basic templates | Templated auto-fill |
| Data control | Stays on your machine | Stored in vendor's cloud | Stored in vendor's cloud |
| License | MIT, open source | Proprietary | Proprietary |
The contrast with spray-and-pray auto-appliers is the sharpest one. career-ops's own README calls itself a filter, not an auto-applier, and recommends against applying to anything scoring below 4.0 out of 5. A tracker like Teal or Huntr organizes applications you already decided to send; career-ops shrinks the list worth sending in the first place, and keeps your data off a third-party server while doing it.
What are the gotchas before you rely on it?
Three things are worth knowing first. If you pay for Claude Pro or Max but see career-ops burning API credits anyway, check for a stray `ANTHROPIC_API_KEY` in your shell profile: an exported key overrides your subscription login and bills per token. Run `echo $ANTHROPIC_API_KEY`, remove it if it prints anything, restart your terminal, and `/login` again. Second, the first few evaluations will be mediocre: the system does not know you yet, same as onboarding a new recruiter. Third, PDF generation and the portal verify pass both need a separate Playwright Chromium install.
- The plugin registry. Gmail, Notion, and Apify integrations exist as opt-in plugins, disabled by default; a growing community registry would extend reach without bloating the core install.
- Budget-tier usage. The project documents running on free OpenRouter models, Ollama, or any OpenAI-compatible endpoint; how well those hold up against a paid frontier model is the open question.
- The experimental web UI. An alpha, opt-in web interface already exists alongside the terminal dashboard; whether it graduates to a first-class option is worth tracking.
Our take
The interesting decision here is not the evaluation rubric, it is the refusal to become a hosted product. career-ops could have wrapped this in a SaaS login and a subscription tier; instead it stays a set of skill files that borrow whichever AI CLI, and AI provider, you already trust with your code. That keeps your CV and salary history off a third party's server, and the tool improves for free every time the underlying models do. The tradeoff: you own your own API costs, and the first week will be rougher than a polished competitor's day-one output. For anyone already living inside an AI coding CLI for work, five minutes with `npx @santifer/career-ops init` is a reasonable bet against a stack of paid job-tracker subscriptions that filter less for more money.
- Officialsantifer/career-ops on GitHub source, README, and issue tracker
- ReleasesLatest release, career-ops-v1.28.0 npm-distributed, no binary assets
- Referencecareer-ops.org project homepage and the CareerOps Manifesto
- Reference@santifer/career-ops on npm published package used by the npx and global install paths
Original analysis by GenZTech Team, based on santifer/career-ops.
