How to Set Up Career-Ops with Different AI CLIs: Claude Code, OpenCode, and More
You can set up career-ops with any supported AI CLI by running the universal installer and selecting the wrapper file corresponding to your chosen tool—whether Claude Code, OpenCode, Codex, or others.
Setting up career-ops with different AI CLIs requires understanding its AI-agnostic architecture. The santifer/career-ops repository is designed to work across multiple AI command-line interfaces through thin wrapper files that adapt the core workflow to each specific tool.
Understanding the AI-Agnostic Architecture
The career-ops workflow centers on AGENTS.md, which defines the core agent behavior and command parsing logic. Each supported CLI receives a dedicated wrapper file that instructs the AI how to invoke repository commands:
- Claude Code uses
CLAUDE.md - OpenCode uses
OPENCODE.md - Generic or other CLIs fall back to
AGENTS.mdor their own specific markdown definitions
These wrappers reside in the repository root and are automatically detected when you launch your AI CLI in the project directory. The full list of supported entry points is maintained in [docs/SUPPORTED_CLIs.md](docs/SUPPORTED_CLIs.md).
Prerequisites and Initial Installation
Start by bootstrapping the repository with the universal installer:
npx @santifer/career-ops init
cd career-ops
This command clones the repository, installs Node.js dependencies, and prepares the workspace. During the first launch, career-ops runs an onboarding chat that guides you through creating three essential configuration files:
cv.md– Your canonical curriculum vitae in markdown formatconfig/profile.yml– Personal preferences, salary expectations, and location filtersportals.yml– Job board configurations and keyword filters for automated scanning
The onboarding process works identically across all supported CLIs; only the launch command differs.
Interactive Setup by CLI Type
After installation, launch your preferred AI CLI in the repository root. The wrapper file for your specific tool enables the /career-ops command namespace or equivalent.
Claude Code Setup
For Anthropic's Claude Code, ensure CLAUDE.md is present in the root directory. Launch interactive mode:
claude
Once the session starts, initiate career-ops by typing:
/career-ops scan
For headless operation without an interactive session:
claude -p "Evaluate this JD with career-ops auto-pipeline: https://example.com/jobs/123"
OpenCode Setup
OpenCode users rely on OPENCODE.md. Start the interactive agent:
opencode
Then invoke career-ops commands:
/career-ops scan
For batch processing single prompts:
opencode run "Evaluate this JD with career-ops auto-pipeline: https://example.com/jobs/123"
Other Supported CLIs
The repository supports additional AI CLIs through dedicated wrappers or the base AGENTS.md file:
| CLI | Interactive Command | Headless Command | Wrapper File |
|---|---|---|---|
| Codex | codex |
codex exec "prompt" |
AGENTS.md or specific |
| Antigravity CLI | agy |
Check docs/SUPPORTED_CLIs.md |
AGENTS.md |
Consult [docs/SUPPORTED_CLIs.md](docs/SUPPORTED_CLIs.md) for the complete matrix of entry points and wrapper configurations.
Headless and Batch Operation Modes
When integrating career-ops into CI/CD pipelines or scripts, use the headless modes that bypass interactive chat:
- Claude Code:
claude -p "prompt" - OpenCode:
opencode run "prompt" - Codex:
codex exec "prompt"
For example, to generate a PDF for the most recently evaluated role using Codex:
codex exec "Run career-ops pdf mode for the latest evaluated role"
These commands feed prompts directly to the underlying model while career-ops handles JD parsing, report generation, PDF rendering, and tracker updates automatically.
Verifying Your Installation
After completing setup and onboarding, validate the installation using the health check scripts documented in [docs/SETUP.md](docs/SETUP.md):
node cv-sync-check.mjs # Validates CV and profile file syntax
node verify-pipeline.mjs # Checks tracker integrity and pipeline state
If both checks pass, your career-ops installation is ready for production use. You can now evaluate job descriptions, run portal scans, generate application PDFs, and maintain your opportunity tracker through your chosen AI CLI.
Summary
- career-ops uses
AGENTS.mdas the core workflow definition, with CLI-specific wrappers likeCLAUDE.mdandOPENCODE.mdadapting the interface. - Install universally via
npx @santifer/career-ops init, then launch with your preferred CLI command (claude,opencode,codex, etc.). - Onboarding automatically creates
cv.md,config/profile.yml, andportals.ymlregardless of which CLI you choose. - Interactive mode allows conversational workflow management, while headless mode (
-p,run,exec) enables scriptable batch operations. - Validate setup by running
cv-sync-check.mjsandverify-pipeline.mjsto ensure file integrity.
Frequently Asked Questions
What is the difference between AGENTS.md and the CLI-specific wrapper files?
AGENTS.md contains the canonical agent instructions used by multiple CLIs, while CLAUDE.md and OPENCODE.md are thin wrappers that adapt those instructions to the specific syntax and capabilities of Claude Code and OpenCode respectively. If a CLI doesn't have a dedicated wrapper, it falls back to AGENTS.md.
Can I switch between different AI CLIs for the same career-ops installation?
Yes. Because the core logic lives in AGENTS.md and all CLI-specific data is stored in standard files (cv.md, config/profile.yml, portals.yml), you can exit one CLI and launch another in the same directory without losing context or configuration. Simply run claude instead of opencode (or vice versa) to switch interfaces.
How do I run career-ops commands without entering an interactive chat session?
Use the headless flags specific to your CLI: claude -p "prompt" for Claude Code, opencode run "prompt" for OpenCode, or codex exec "prompt" for Codex. These execute the prompt immediately and return control to your shell, making them suitable for aliases and automation scripts.
Which file should I check if my AI CLI doesn't recognize career-ops commands?
First verify that your CLI has a corresponding wrapper file (check [docs/SUPPORTED_CLIs.md](docs/SUPPORTED_CLIs.md)). Ensure you launched the CLI from the repository root where AGENTS.md or the specific wrapper (CLAUDE.md, OPENCODE.md) is located. If the file exists but commands fail, run node cv-sync-check.mjs to validate that your cv.md and profile files are properly formatted.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →