Skip to content

feat(config): default generated CVs outside the hidden config directory - #53

Merged
DeibyGS merged 3 commits into
mainfrom
feat/cc-visible-cv-output
Aug 12, 2026
Merged

feat(config): default generated CVs outside the hidden config directory#53
DeibyGS merged 3 commits into
mainfrom
feat/cc-visible-cv-output

Conversation

@DeibyGS

@DeibyGS DeibyGS commented Aug 12, 2026

Copy link
Copy Markdown
Owner

Summary

  • output_dir defaulted to ~/.applyr/cv, so a normal file browser never showed generated CVs — a user had to unhide dotfiles to find the PDF they need to attach to a job application
  • New CV_HOME default (~/Documents/applyr, overridable via APPLYR_CV_HOME) puts the deliverable somewhere a file browser shows by default; config/db/cv-master.md stay in ~/.applyr (internal state)
  • Found while dogfooding the fix: cv keywords and cv cover-letter both hardcoded APPLYR_DIR / "cv" instead of reading the configured output_dir, so they silently stopped finding/writing CVs the moment CV_HOME diverged from APPLYR_DIR — fixed in the same PR since it's the direct consequence of the default change

Changes

File / Area What Changed
applyr/config.py New CV_HOME constant; TOML_TEMPLATE, _build_defaults(), create_default_config() route output_dir through it
applyr/cv.py cmd_cv_keywords / cmd_cv_cover_letter use get_output_dir() instead of hardcoded APPLYR_DIR / "cv"
tests/conftest.py tmp_applyr fixture also patches CV_HOME so tests stay isolated
tests/test_config.py, tests/test_cv.py Regression tests for both fixes

Test Plan

  • Tests pass (548 total)
  • Manually tested — validated against real usage this session (CV generation, keywords lookup, cover letter, all outside ~/.applyr)
  • Budget: 139 lines (under 500)

Checklist

  • Branch follows naming convention
  • Commits are work-unit based (tests+code together)
  • No secrets or .env committed
  • Docs updated if needed

`output_dir` defaulted to ~/.applyr/cv, so a normal file browser never
showed generated CVs — a user had to unhide dotfiles to find the PDF
they need to attach to a job application. Config/db/cv-master.md stay
in ~/.applyr (internal state), but the new CV_HOME default
(~/Documents/applyr, overridable via APPLYR_CV_HOME) puts the
deliverable somewhere a file browser shows by default.
Both hardcoded `APPLYR_DIR / "cv"` instead of reading the configured
output_dir, so they silently stopped finding/writing CVs the moment
CV_HOME diverged from APPLYR_DIR — which the previous commit just made
the default. Route both through the existing get_output_dir() helper,
the same one `cv generate` already uses.
…over-letter

Both hardcoded APPLYR_DIR / "cv-master.md" instead of reading the
configured cv_master path, the same import-time-binding gotcha already
fixed for output_dir in this branch. Invisible locally because a real
cv-master.md happens to sit at the real APPLYR_DIR on this machine;
exposed on CI where no such file exists, by the first test to ever
exercise cmd_cv_cover_letter end to end. Fixed via the existing
get_cv_master_path() helper, matching cv generate's own lookup.
@DeibyGS
DeibyGS merged commit 4dcaba9 into main Aug 12, 2026
12 checks passed
@DeibyGS
DeibyGS deleted the feat/cc-visible-cv-output branch August 12, 2026 18:09
@DeibyGS DeibyGS mentioned this pull request Aug 12, 2026
5 tasks
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