careervivid 1.12.6 → 1.12.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +250 -150
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # careervivid · CLI
2
2
 
3
- > **Your AI-powered career terminal — publish articles, run autonomous job-hunting agents, and build your portfolio from the command line.**
3
+ > **Your AI-powered career terminal — autonomous job applications, resume editing, job pipeline tracking, and portfolio publishing from the command line.**
4
4
 
5
5
  [![npm version](https://img.shields.io/npm/v/careervivid?color=0ea5e9&label=careervivid)](https://www.npmjs.com/package/careervivid)
6
6
  [![License: MIT](https://img.shields.io/badge/license-MIT-brightgreen)](LICENSE)
@@ -12,17 +12,19 @@
12
12
 
13
13
  - [Quick Start](#quick-start)
14
14
  - [Commands](#commands)
15
- - [cv agent](#cv-agent) ⭐ **New**
16
- - [cv publish](#cv-publish)
15
+ - [cv agent](#cv-agent) ⭐ **AI Agent**
16
+ - [cv agent --jobs](#cv-agent---jobs) 🤖 **Autonomous Job Applications**
17
+ - [cv agent --resume](#cv-agent---resume) 📄 **Resume CRUD**
17
18
  - [cv jobs](#cv-jobs)
19
+ - [cv publish](#cv-publish)
18
20
  - [cv whiteboard](#cv-whiteboard)
19
- - [cv workspace](#cv-workspace)
20
21
  - [cv profile](#cv-profile)
21
22
  - [cv auth](#cv-auth)
22
23
  - [cv login](#cv-login)
23
24
  - [cv config](#cv-config)
24
25
  - [AI Credits](#ai-credits)
25
26
  - [Bring Your Own API Key (BYO)](#bring-your-own-api-key-byo)
27
+ - [browser-use Setup (Autonomous Apply)](#browser-use-setup-autonomous-apply)
26
28
  - [Whiteboard Templates](#whiteboard-templates)
27
29
  - [AI Agent Integration (MCP / CI)](#ai-agent-integration-mcp--ci)
28
30
  - [Updating](#updating)
@@ -42,11 +44,11 @@ cv login
42
44
  # → copy your API key, then:
43
45
  cv auth set-key cv_live_YOUR_KEY_HERE
44
46
 
45
- # 3. Start the AI agent (uses your free AI credits)
47
+ # 3. Start the AI agent
46
48
  cv agent
47
49
 
48
- # 4. Or publish an article
49
- cv publish my-article.md --tags "typescript,react"
50
+ # 4. Or jump straight into job-hunting mode
51
+ cv agent --jobs
50
52
  ```
51
53
 
52
54
  > **Free tier includes 100 AI credits/month** — no credit card required.
@@ -59,132 +61,202 @@ cv publish my-article.md --tags "typescript,react"
59
61
 
60
62
  ### `cv agent`
61
63
 
62
- An **autonomous AI agent** that runs interactively in your terminal. Powered by Gemini models via the CareerVivid platform credits deducted from your account automatically.
64
+ An **autonomous AI agent** that runs interactively in your terminal. Choose from CareerVivid Cloud (credits deducted from your account) or Bring Your Own API Key.
63
65
 
64
66
  ```bash
65
67
  cv agent # General-purpose agent (Gemini Flash Lite)
66
- cv agent --resume # Load & discuss your CareerVivid resume
67
- cv agent --jobs # Job-hunting mode: search, save, update applications
68
+ cv agent --resume # Resume CRUD mode: read, update fields, tailor
69
+ cv agent --jobs # Job-hunting mode: search, apply, track pipeline
68
70
  cv agent --coding # Full coding toolkit: file I/O, shell execution, search
69
- cv agent --pro # Gemini Pro with extended thinking (best for complex tasks)
71
+ cv agent --pro # Gemini Pro with extended thinking
70
72
  ```
71
73
 
72
74
  **Options:**
73
75
 
74
76
  | Option | Description |
75
77
  |---|---|
76
- | `--resume` | Add resume tools — load and discuss your CareerVivid resume |
77
- | `--jobs` | Add job-hunting tools search jobs, save to tracker, update statuses |
78
+ | `--resume` | Resume CRUD tools — read, set fields, tailor for a job, delete |
79
+ | `--jobs` | Job hunting + autonomous apply tools |
78
80
  | `--coding` | Enable full coding tool suite (file read/write, shell, search) |
79
81
  | `--pro` | Use `gemini-3.1-pro-preview` with thinking mode |
80
82
  | `--think <budget>` | Enable thinking mode with a specific token budget (e.g. `8192`) |
81
- | `--verbose` | Show thinking tokens in output (requires `--think` or `--pro`) |
83
+ | `--verbose` | Show thinking tokens in output |
82
84
  | `--provider <name>` | Override provider: `careervivid` \| `openai` \| `anthropic` \| `openrouter` \| `gemini` \| `custom` |
83
85
  | `--model <model>` | Override model (e.g. `gpt-4o`, `claude-opus-4-5`) |
84
86
  | `--api-key <key>` | BYO API key for this session (not saved) |
85
87
  | `--base-url <url>` | Custom OpenAI-compatible base URL |
86
88
 
87
- **Examples:**
89
+ **Configure your default provider:**
88
90
 
89
91
  ```bash
90
- # Start a job search conversation
91
- cv agent --jobs
92
+ cv agent config
93
+ # Interactive wizard: pick provider, model, API key
94
+ ```
92
95
 
93
- # Analyze your resume with AI
94
- cv agent --resume
96
+ ---
95
97
 
96
- # Use your own OpenAI key (no credits deducted)
97
- cv agent --provider openai --model gpt-4o --api-key sk-...
98
+ ### `cv agent --jobs`
98
99
 
99
- # Use Anthropic Claude
100
- cv agent --provider anthropic --model claude-opus-4-5 --api-key sk-ant-...
100
+ The most powerful mode. A conversational agent that thinks like a senior recruiter, manages your pipeline, and can **autonomously fill out job applications** using [browser-use](https://github.com/browser-use/browser-use).
101
101
 
102
- # Pro mode for complex analysis
103
- cv agent --pro --resume --jobs
102
+ ```bash
103
+ cv agent --jobs
104
104
  ```
105
105
 
106
- **Configure your default provider:**
106
+ **What it can do in a conversation:**
107
+
108
+ | You say... | Agent action |
109
+ |---|---|
110
+ | `"Find me ML engineering jobs"` | `search_jobs` → scores results vs. resume → `verify_search_results` to confirm all URLs work |
111
+ | `"Apply to this job: <URL>"` | `apply_to_job` → launches browser → fills form → stops before Submit for your review |
112
+ | `"What's in my pipeline?"` | `list_local_jobs` → shows Kanban board |
113
+ | `"What should I work on next?"` | `score_pipeline` → priority-ranked by attention × excitement × fit |
114
+ | `"I got an interview at Stripe"` | `update_local_job` → sets status to Interviewing, suggests follow-up |
115
+ | `"What am I neglecting?"` | `flag_stale_jobs` → surfaces cold applications |
116
+ | `"Show me my analytics"` | `get_pipeline_metrics` → apply rate, avg score, salary data |
117
+
118
+ **Autonomous Apply Harness** (`apply_to_job` tool):
119
+
120
+ The agent uses a multi-stage harness to fill job applications:
121
+
122
+ 1. **URL Verification** — Every job link is verified live before the agent acts. Broken, hallucinated, or redirect-to-homepage URLs are rejected automatically.
123
+ 2. **ATS Detection** — Automatically detects Ashby, Greenhouse, Lever, Workday, iCIMS, and more.
124
+ 3. **TypeScript Adapter** — Fast-fills known fields (firstName, email, phone, LinkedIn, GitHub) using pre-loaded profile data.
125
+ 4. **browser-use AI handoff** — For complex fields (cover letter, work auth, custom questions), the browser-use agent takes over with a rich task prompt built from your resume.
126
+ 5. **Manual review gate** — The browser stays open. The agent **never** clicks Submit — you review and submit yourself.
127
+
128
+ > **Requires browser-use setup** — see [browser-use Setup](#browser-use-setup-autonomous-apply).
129
+
130
+ **Pipeline tracking (local CSV):**
131
+
132
+ The jobs agent also manages a local `jobs.csv` pipeline (v2 schema) with 8 attention metrics:
133
+
134
+ | Field | Description |
135
+ |---|---|
136
+ | `attention_score` (1–10) | How top-of-mind is this company? |
137
+ | `excitement` (1–10) | Pure enthusiasm for the role |
138
+ | `apply_effort` | Low / Medium / High |
139
+ | `prep_time_hours` | Estimated research hours |
140
+ | `company_stage` | Seed / Series A-C / Public / Enterprise |
141
+ | `open_roles_count` | How many roles are currently open |
142
+ | `interview_rounds` | Known number of interview rounds |
143
+ | `last_activity_date` | Auto-stamped on every update |
144
+
145
+ **Priority Score = 40% attention + 30% excitement + 20% fit + 10% recency**
146
+
147
+ ---
148
+
149
+ ### `cv agent --resume`
150
+
151
+ Full CRUD control over your CareerVivid resume from the terminal.
107
152
 
108
153
  ```bash
109
- cv agent config
110
- # → Interactive wizard: pick provider, model, API key
154
+ cv agent --resume
111
155
  ```
112
156
 
113
- ---
157
+ **Available tools:**
114
158
 
115
- ### `cv publish`
159
+ | Tool | What you can say |
160
+ |---|---|
161
+ | `get_resume` | `"Show me my resume"` / `"Load my resume"` |
162
+ | `list_resumes` | `"What resumes do I have?"` |
163
+ | `set_resume_fields` | `"Set my last name to Zhu"` / `"Update my phone to +1-408-599-4164"` |
164
+ | `tailor_resume` | `"Tailor my resume for this job description: ..."` |
165
+ | `delete_resume` | `"Delete the old untitled resume"` |
116
166
 
117
- Publish a Markdown article or Mermaid diagram file to your CareerVivid portfolio.
167
+ **Supported fields for `set_resume_fields`:**
118
168
 
119
169
  ```
120
- cv publish <file> [options]
121
- cv publish - (read from stdin)
170
+ firstName, lastName, email, phone
171
+ address, city, state, country, postalCode
172
+ jobTitle, currentCompany
173
+ linkedin, github, portfolio
174
+ summary (professional summary)
175
+ addSkill / removeSkill
176
+ resumeTitle (document name)
122
177
  ```
123
178
 
124
- | Option | Description |
125
- |---|---|
126
- | `-t, --title <title>` | Post title (auto-inferred from first `#` heading if omitted) |
127
- | `--type <type>` | `article` \| `whiteboard` (auto-inferred from file extension) |
128
- | `--format <format>` | `markdown` \| `mermaid` (auto-inferred from file extension) |
129
- | `--tags <tags>` | Comma-separated tags, e.g. `typescript,firebase,react` |
130
- | `--cover <url>` | URL to a cover image |
131
- | `--dry-run` | Validate payload without publishing |
132
- | `--json` | Machine-readable JSON output (ideal for AI agents) |
179
+ **Example conversation:**
133
180
 
134
- ```bash
135
- cv publish article.md --title "How I Built a CLI" --tags "node,typescript"
136
- cv publish architecture.mmd --title "System Architecture"
137
- cat writeup.md | cv publish - --title "Architecture Breakdown" --json
181
+ ```
182
+ You: Set my last name to Zhu and my phone to +1-408-599-4164
183
+ Agent: Resume updated review at https://careervivid.app/edit/...
184
+
185
+ You: Add Python and TypeScript to my skills
186
+ Agent: ✅ Skills updated
187
+
188
+ You: Tailor my resume for this job description: [paste JD]
189
+ Agent: ✅ Tailored copy created — https://careervivid.app/edit/...
138
190
  ```
139
191
 
140
192
  ---
141
193
 
142
194
  ### `cv jobs`
143
195
 
144
- Automate your job application tracking with AI.
196
+ Non-interactive job commands (use `cv agent --jobs` for a conversational experience).
145
197
 
146
198
  | Subcommand | Description |
147
199
  |---|---|
148
- | `cv jobs hunt` | AI-powered job search scored against your resume → auto-saves to job tracker |
149
- | `cv jobs update` | Interactively update a job application status on your Kanban board |
200
+ | `cv jobs hunt` | AI-powered job search scored against your resume → auto-saves to tracker |
201
+ | `cv jobs apply <url>` | Autonomous apply harness for a specific URL |
202
+ | `cv jobs update` | Interactively update a job application status |
150
203
  | `cv jobs list` | View your current job tracker board |
151
204
 
152
205
  ```bash
153
206
  cv jobs hunt --role "Software Engineer" --score 60
207
+ cv jobs apply https://jobs.ashbyhq.com/openai/...
154
208
  cv jobs list
155
209
  cv jobs update
156
210
  ```
157
211
 
158
- > **Tip:** Use `cv agent --jobs` for a conversational job-hunting experience instead.
159
-
160
212
  ---
161
213
 
162
- ### `cv whiteboard`
214
+ ### `cv publish`
163
215
 
164
- Create and publish Mermaid architecture diagrams.
216
+ Publish a Markdown article or Mermaid diagram to your CareerVivid portfolio.
165
217
 
166
- | Subcommand | Description |
218
+ ```bash
219
+ cv publish <file> [options]
220
+ cv publish - # read from stdin
221
+ ```
222
+
223
+ | Option | Description |
167
224
  |---|---|
168
- | `cv whiteboard new [file]` | Scaffold a Mermaid diagram from a built-in template |
169
- | `cv whiteboard publish <file>` | Publish a `.mmd` diagram to your portfolio |
170
- | `cv whiteboard list-templates` | List all available built-in templates |
225
+ | `-t, --title <title>` | Post title (auto-inferred from first `#` heading if omitted) |
226
+ | `--type <type>` | `article` \| `whiteboard` (auto-inferred from file extension) |
227
+ | `--format <format>` | `markdown` \| `mermaid` (auto-inferred from file extension) |
228
+ | `--tags <tags>` | Comma-separated tags, e.g. `typescript,firebase,react` |
229
+ | `--cover <url>` | URL to a cover image |
230
+ | `--public` | Publish as public (visible to all users) |
231
+ | `--private` | Publish as private (only visible to you — **this is the default**) |
232
+ | `--dry-run` | Validate payload without publishing |
233
+ | `--json` | Machine-readable JSON output |
171
234
 
172
- **Shortcuts:**
235
+ > **Privacy default:** All articles published via `cv publish` or `cv agent` are **private by default**. Use `--public` to make them visible to the community.
173
236
 
174
237
  ```bash
175
- cv new my-diagram --template system-arch # same as cv whiteboard new
176
- cv list-templates # same as cv whiteboard list-templates
238
+ cv publish article.md --title "How I Built a CLI" --tags "node,typescript"
239
+ cv publish article.md --public # share with community
240
+ cv publish architecture.mmd --title "System Architecture"
241
+ cat writeup.md | cv publish - --title "Architecture Breakdown" --json
177
242
  ```
178
243
 
179
244
  ---
180
245
 
181
- ### `cv workspace` (or `cv gws`)
246
+ ### `cv whiteboard`
182
247
 
183
- Manage your Google Workspace integration.
248
+ Create and publish Mermaid architecture diagrams.
184
249
 
185
250
  | Subcommand | Description |
186
251
  |---|---|
187
- | `cv workspace check` | Verify GWS CLI installation and OAuth status |
252
+ | `cv whiteboard new [file]` | Scaffold a Mermaid diagram from a built-in template |
253
+ | `cv whiteboard publish <file>` | Publish a `.mmd` diagram to your portfolio |
254
+ | `cv whiteboard list-templates` | List all available built-in templates |
255
+
256
+ ```bash
257
+ cv new my-diagram --template system-arch
258
+ cv list-templates
259
+ ```
188
260
 
189
261
  ---
190
262
 
@@ -196,10 +268,6 @@ Manage your CareerVivid profile.
196
268
  |---|---|
197
269
  | `cv profile export` | Export resume data to other formats (e.g. `gdoc`) |
198
270
 
199
- ```bash
200
- cv profile export --format gdoc
201
- ```
202
-
203
271
  ---
204
272
 
205
273
  ### `cv auth`
@@ -213,8 +281,6 @@ Manage your CareerVivid API key. Get your key at [careervivid.app/developer](htt
213
281
  | `cv auth remove` | Remove the saved key |
214
282
  | `cv auth whoami` | Show the currently authenticated user |
215
283
 
216
- The key is stored at `~/.careervividrc.json` with `chmod 600` permissions. You can also set it via environment variable:
217
-
218
284
  ```bash
219
285
  cv auth set-key cv_live_YOUR_KEY_HERE
220
286
  cv auth check
@@ -228,7 +294,7 @@ CV_API_KEY=cv_live_YOUR_KEY_HERE cv publish article.md
228
294
 
229
295
  ### `cv login`
230
296
 
231
- Open the CareerVivid sign-in page in your browser and interactively save your API key.
297
+ Open the CareerVivid sign-in page and interactively save your API key.
232
298
 
233
299
  ```bash
234
300
  cv login
@@ -246,35 +312,28 @@ View and modify CLI configuration stored at `~/.careervividrc.json`.
246
312
  | `cv config get <key>` | Print a single config value |
247
313
  | `cv config set <key> <value>` | Update a config value |
248
314
 
249
- **Available Keys:**
315
+ **Available keys:**
250
316
 
251
317
  | Key | Description |
252
318
  |---|---|
253
- | `apiKey` | Your CareerVivid API key (set via `cv auth set-key` or `cv login`) |
254
- | `apiUrl` | Optional API endpoint override (default: `https://careervivid.app/api`) |
255
- | `targetCompanies` | Comma-separated target companies for `cv jobs hunt` |
256
- | `llmProvider` | Your default BYO LLM provider (`openai`, `anthropic`, `openrouter`, etc.) |
257
- | `llmModel` | Your default BYO model (e.g. `gpt-4o`, `claude-opus-4-5`) |
258
- | `llmApiKey` | Your BYO LLM API key (masked in output) |
259
- | `llmBaseUrl` | Custom OpenAI-compatible base URL for `custom` provider |
319
+ | `apiKey` | Your CareerVivid API key |
320
+ | `apiUrl` | Optional API endpoint override |
321
+ | `targetCompanies` | Target companies for `cv jobs hunt` |
322
+ | `llmProvider` | Default BYO LLM provider |
323
+ | `llmModel` | Default BYO model |
324
+ | `llmApiKey` | BYO LLM API key (masked in output) |
325
+ | `llmBaseUrl` | Custom OpenAI-compatible base URL |
260
326
 
261
327
  ```bash
262
- cv config show
263
- cv config get targetCompanies
264
328
  cv config set targetCompanies "OpenAI, Google, Vercel"
265
329
  cv config set llmProvider openai
266
330
  cv config set llmModel gpt-4o
267
- cv config set llmApiKey sk-...
268
331
  ```
269
332
 
270
- > **Security:** API keys are always masked in `cv config show` output. Internal platform credentials are never exposed.
271
-
272
333
  ---
273
334
 
274
335
  ## AI Credits
275
336
 
276
- CareerVivid uses a simple AI credit system for platform-managed AI features (powered by Gemini).
277
-
278
337
  | Plan | Credits / Month | Price |
279
338
  |---|---|---|
280
339
  | **Free** | 100 credits | $0 |
@@ -283,46 +342,32 @@ CareerVivid uses a simple AI credit system for platform-managed AI features (pow
283
342
 
284
343
  **Credit costs per agent turn:**
285
344
 
286
- | Model | Credits per Turn |
345
+ | Model | Credits |
287
346
  |---|---|
288
- | `gemini-3.1-flash-lite-preview` (default) | 0.5 cr |
347
+ | `gemini-3.1-flash-lite-preview` | 0.5 cr |
289
348
  | `gemini-2.5-flash` | 1 cr |
290
349
  | `gemini-3.1-pro-preview` (`--pro`) | 2 cr |
291
350
 
292
- > **Bring Your Own Key:** If you use `--provider openai` (or any non-CareerVivid provider) with your own API key, **no credits are deducted** — you pay your provider directly.
351
+ > **Bring Your Own Key:** Using `--provider openai` (or any non-CareerVivid provider) deducts **zero credits** — you pay your provider directly.
293
352
 
294
- Get your API key and check your credit balance at [careervivid.app/developer](https://careervivid.app/developer).
353
+ Get your key and check balance at [careervivid.app/developer](https://careervivid.app/developer).
295
354
 
296
355
  ---
297
356
 
298
357
  ## Bring Your Own API Key (BYO)
299
358
 
300
- The agent supports any OpenAI-compatible provider. Your key is never stored unless you save it with `cv agent config` or `cv config set llmApiKey`.
301
-
302
- **Supported providers:**
303
-
304
- | Provider | `--provider` value | Models |
359
+ | Provider | `--provider` | Notes |
305
360
  |---|---|---|
306
- | CareerVivid (default) | `careervivid` | Gemini Flash Lite, Flash, Pro |
307
- | OpenAI | `openai` | gpt-4o, gpt-4-turbo, gpt-3.5-turbo, … |
361
+ | CareerVivid (default) | `careervivid` | Gemini Flash Lite, Flash, Pro — credits from your account |
362
+ | OpenAI | `openai` | gpt-4o, o3-mini, … |
308
363
  | Anthropic | `anthropic` | claude-opus-4-5, claude-sonnet-4-5, … |
309
364
  | Google Gemini (direct) | `gemini` | gemini-2.5-flash, gemini-3.1-pro-preview, … |
310
- | OpenRouter | `openrouter` | Any model on openrouter.ai |
311
- | Kimi / Moonshot | `custom` | `--base-url https://api.moonshot.cn/v1` |
312
- | Qwen / Alibaba | `custom` | `--base-url https://dashscope.aliyuncs.com/compatible-mode/v1` |
313
- | GLM / Zhipu | `custom` | `--base-url https://open.bigmodel.cn/api/paas/v4` |
314
- | Any OpenAI-compatible | `custom` | `--base-url <your-url>` |
315
-
316
- **Examples:**
365
+ | OpenRouter | `openrouter` | 100+ models: Kimi, GLM, Qwen, Mistral, Llama, … |
366
+ | Custom OpenAI-compatible | `custom` | Any endpoint via `--base-url` |
317
367
 
318
368
  ```bash
319
- # OpenAI
320
369
  cv agent --provider openai --model gpt-4o --api-key sk-...
321
-
322
- # Anthropic
323
370
  cv agent --provider anthropic --model claude-opus-4-5 --api-key sk-ant-...
324
-
325
- # OpenRouter (access 100+ models)
326
371
  cv agent --provider openrouter --model mistralai/mistral-7b-instruct --api-key sk-or-...
327
372
 
328
373
  # Save a provider permanently
@@ -331,9 +376,59 @@ cv agent config
331
376
 
332
377
  ---
333
378
 
379
+ ## browser-use Setup (Autonomous Apply)
380
+
381
+ The `apply_to_job` tool in `cv agent --jobs` and `cv jobs apply` use [browser-use](https://github.com/browser-use/browser-use) — a Python AI browser automation library — to fill job applications.
382
+
383
+ ### Prerequisites
384
+
385
+ - Python 3.11+ with pip
386
+ - A virtual environment (recommended)
387
+
388
+ ### Setup (one-time)
389
+
390
+ ```bash
391
+ # 1. Create a Python virtual environment
392
+ mkdir -p ~/careervivid/browser-use
393
+ cd ~/careervivid/browser-use
394
+ python3 -m venv .venv
395
+ source .venv/bin/activate
396
+
397
+ # 2. Install browser-use
398
+ pip install browser-use
399
+
400
+ # 3. Install Playwright browsers
401
+ playwright install chromium
402
+
403
+ # 4. Verify
404
+ python -c "import browser_use; print('browser-use ready')"
405
+ ```
406
+
407
+ ### How it works
408
+
409
+ When you run `cv agent --jobs` and ask to apply to a job:
410
+
411
+ 1. The agent calls `apply_to_job` with the job URL
412
+ 2. The CLI spawns `src/apply/browser_sidecar.py` (bundled with the npm package)
413
+ 3. The sidecar launches a real Chrome browser (non-headless) using your profile
414
+ 4. An AI agent fills the form field-by-field using your resume data
415
+ 5. The browser **stays open** — you review every field and submit manually
416
+
417
+ > The agent will **never** click the final Submit button. You remain in full control.
418
+
419
+ ### Resume PDF
420
+
421
+ Place your resume at `~/.careervivid/resume.pdf` and the sidecar will upload it automatically to resume upload fields.
422
+
423
+ ```bash
424
+ cp ~/Downloads/MyResume.pdf ~/.careervivid/resume.pdf
425
+ ```
426
+
427
+ ---
428
+
334
429
  ## Whiteboard Templates
335
430
 
336
- Run `cv list-templates` to see all templates. Available out of the box:
431
+ Run `cv list-templates` to see all available templates:
337
432
 
338
433
  | Template | Description |
339
434
  |---|---|
@@ -346,42 +441,11 @@ Run `cv list-templates` to see all templates. Available out of the box:
346
441
  | `ci-cd` | CI/CD pipeline (lint → test → build → deploy) |
347
442
  | `mindmap` | Mind map / concept breakdown |
348
443
 
349
- ```bash
350
- cv new my-pipeline --template ci-cd
351
- code my-pipeline.mmd
352
- cv whiteboard publish my-pipeline.mmd --title "Our CI/CD Pipeline"
353
- ```
354
-
355
444
  ---
356
445
 
357
446
  ## AI Agent Integration (MCP / CI)
358
447
 
359
- The CLI is designed to be **AI-agent-friendly**. Use `--json` for structured output.
360
-
361
- ### System Prompt for Cursor / Claude / Gemini
362
-
363
- ```
364
- # CareerVivid CLI Rules
365
-
366
- You have access to the `cv` CLI tool. Use it to help the user build their
367
- CareerVivid portfolio and manage their job search.
368
-
369
- ## Available commands
370
- - cv publish <file> Publish an article or diagram
371
- - cv agent --resume Discuss the user's resume
372
- - cv agent --jobs Job hunting conversations
373
- - cv jobs hunt --role "..." AI-powered job search
374
- - cv jobs list View job tracker
375
-
376
- ## Publishing rules
377
- 1. Generate the file locally first.
378
- 2. Tell the user: "I drafted a CareerVivid post. Review and confirm."
379
- 3. Wait for explicit confirmation before running cv publish.
380
- 4. Use --json flag for machine-readable output.
381
- 5. NEVER include real API keys or secrets in published content.
382
- ```
383
-
384
- ### Automated Pipeline
448
+ Use `--json` for structured output in automated pipelines.
385
449
 
386
450
  ```bash
387
451
  # Pipe AI-generated markdown directly
@@ -389,20 +453,34 @@ echo "# My Architecture\n\nExplains the new service..." \
389
453
  | cv publish - --title "New Service Explained" --tags "architecture" --json
390
454
 
391
455
  # Output:
392
- # { "postId": "abc123", "url": "https://careervivid.app/community/post/abc123" }
456
+ # [{ "postId": "abc123", "url": "https://careervivid.app/community/post/abc123" }]
393
457
  ```
394
458
 
395
- ---
459
+ **System prompt for Cursor / Claude / Gemini:**
396
460
 
397
- ## Updating
461
+ ```
462
+ You have access to the `cv` CLI tool.
463
+
464
+ Available commands:
465
+ - cv publish <file> Publish an article (private by default, use --public to share)
466
+ - cv agent --resume Resume CRUD: read, update fields, tailor
467
+ - cv agent --jobs Job hunting + autonomous apply
468
+ - cv jobs hunt --role "..." AI job search
469
+ - cv jobs apply <url> Autonomous form filling (stops before submit)
470
+ - cv jobs list View job tracker
398
471
 
399
- ```bash
400
- npm install -g careervivid
472
+ Rules:
473
+ 1. Never include real API keys in published content.
474
+ 2. Always use --json for machine-readable output.
475
+ 3. Articles are PRIVATE by default. Only use --public if user explicitly requests it.
401
476
  ```
402
477
 
403
- Check your current version:
478
+ ---
479
+
480
+ ## Updating
404
481
 
405
482
  ```bash
483
+ npm install -g careervivid
406
484
  cv -v
407
485
  ```
408
486
 
@@ -422,19 +500,41 @@ cv auth check
422
500
  CV_API_KEY=cv_live_YOUR_KEY cv publish article.md
423
501
  ```
424
502
 
503
+ **`browser_sidecar.py not found`**
504
+ ```bash
505
+ # browser-use is not set up. Follow the browser-use Setup section above.
506
+ # Verify your venv path:
507
+ ls ~/careervivid/browser-use/.venv/bin/python
508
+ ```
509
+
510
+ **`aiohttp is not defined` or `ainvoke() takes 2 positional arguments`**
511
+ ```bash
512
+ # Update to the latest version (fixed in v1.12.5+)
513
+ npm install -g careervivid@latest
514
+ ```
515
+
516
+ **`❌ No API key found` when using CareerVivid Cloud**
517
+ ```bash
518
+ cv auth check # verify your CV API key is set
519
+ cv agent config # reconfigure your LLM provider
520
+ ```
521
+
425
522
  **`cannot add command 'agent'` error (< v1.12.2)**
426
523
  ```bash
427
524
  npm install -g careervivid@latest
428
525
  ```
429
526
 
527
+ **Job URL is broken / agent says it can't confirm the link**
528
+ The agent uses a live URL verification harness. If a link fails verification it will tell you instead of sending you to a broken page. Search for the role directly on the company's careers page or LinkedIn.
529
+
530
+ **Article shows as public even though I said private**
531
+ Update to v1.12.6+ — articles are now private by default. Use `--public` or tell the agent `"publish publicly"` to share with the community.
532
+
430
533
  **Permission denied on `~/.careervividrc.json`**
431
534
  ```bash
432
535
  chmod 600 ~/.careervividrc.json
433
536
  ```
434
537
 
435
- **Mermaid diagram not rendering**
436
- Run `cv new --template flowchart --print` to validate your Mermaid syntax.
437
-
438
538
  ---
439
539
 
440
540
  ## Resources
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "careervivid",
3
- "version": "1.12.6",
3
+ "version": "1.12.7",
4
4
  "description": "Official CLI for CareerVivid — publish articles, diagrams, and portfolio updates from your terminal or AI agent",
5
5
  "type": "module",
6
6
  "bin": {