Skip to content

Setup & onboarding fixes (doctor Playwright check, idempotent init, required text resume)#62

Open
sebastianmukuria wants to merge 4 commits into
Pickle-Pixel:mainfrom
sebastianmukuria:fix/setup-onboarding
Open

Setup & onboarding fixes (doctor Playwright check, idempotent init, required text resume)#62
sebastianmukuria wants to merge 4 commits into
Pickle-Pixel:mainfrom
sebastianmukuria:fix/setup-onboarding

Conversation

@sebastianmukuria

Copy link
Copy Markdown

Summary

Setup and onboarding fixes from a pre-flight review. 4 of 4 focused PRs; independent and reviewable on its own.

What & why

  • doctor now checks for the Playwright browser. pip install does not download Chromium, yet enrich, smart-extract, and PDF rendering all need it — and doctor reported all-green without it. Added a "Playwright browser" check (carefully avoiding a swallowed NameError that would always report MISSING), a README note, and an init-wizard warning. (cli.py, wizard/init.py, README.md)
  • Re-running init no longer destroys existing config. The documented way to add an API key later is re-running init, but it rewrote .env from scratch (silently dropping a saved CAPSOLVER_API_KEY) and overwrote profile.json / searches.yaml. .env writes now merge into the existing file; profile/searches prompt before overwriting. (wizard/init.py)
  • A plain-text resume is now required (or an explicit skip) — the PDF-only path let setup "succeed" and then crashed scoring/tailoring/cover letters with FileNotFoundError hours later. (wizard/init.py)

Tests

Adds tests/test_init_env_merge.py (4 tests, all passing); the doctor check was verified manually. CHANGELOG updated under [Unreleased].

sebastianmukuria and others added 4 commits June 9, 2026 21:15
- doctor adds a 'Playwright browser' check (pip does not bundle Chromium, which
  enrich/smart-extract/PDF all need); uses os.path.exists to avoid a swallowed
  NameError that would always report MISSING
- init wizard warns if the browser is absent
- README install block + Requirements table mention 'playwright install chromium'

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- _setup_ai_features merges new keys into the existing .env via _merge_env,
  preserving CapSolver/CHROME_PATH and any manual entries (was: full rewrite)
- profile.json and searches.yaml prompt before overwriting; declining keeps
  the existing file

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The PDF path let users skip the .txt copy, then scoring/tailoring/cover
letters crashed with FileNotFoundError hours later. Loop until a valid .txt
is given or the user explicitly types 'skip' (with a red warning naming the
exact path to add it later).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant