Skip to content

chore: rename job-hunt to pupila across code, scripts, and env vars#40

Merged
FranRom merged 18 commits into
mainfrom
chore/rename-job-hunt-to-pupila
May 17, 2026
Merged

chore: rename job-hunt to pupila across code, scripts, and env vars#40
FranRom merged 18 commits into
mainfrom
chore/rename-job-hunt-to-pupila

Conversation

@FranRom
Copy link
Copy Markdown
Owner

@FranRom FranRom commented May 17, 2026

Summary

Full internal rename from job-hunt to pupila. The user-facing UI text was already migrated in earlier work; this PR removes every remaining reference in code, scripts, env vars, install tooling, and docs.

  • Package identity: package.json name field
  • Env vars: clean break from JOB_HUNT_*PUPILA_* (8 vars). A startup detector (src/legacy-env.ts) catches any legacy var still in a user's shell and exits with an actionable error
  • Install scripts: dev.$USER.pupila.{aggregate,review} launchd labels and # pupila:{aggregate,review}: cron tags
  • Security fix: scripts/install-mcp.sh was hardcoded to clone the stale upstream ogarciarevett/job-hunt repo — now points at the correct FranRom/pupila
  • New: scripts/uninstall-legacy-job-hunt.sh — one-shot, idempotent, anchored-pattern cleanup for users with the old launchd/cron entries installed
  • Docs: README, CLAUDE.md, AGENTS.md, ui/plugins/fetchJobs.ts comment, three .claude/skills/pupila-*/SKILL.md headers

Breaking changes

Users will need to:

  1. Rename any JOB_HUNT_* env vars in their shell config (~/.zshrc/~/.bashrc) to PUPILA_*. If they don't, the orchestrator now exits with a clear error pointing at the old name and its replacement.
  2. Run scripts/uninstall-legacy-job-hunt.sh once to remove their existing dev.$USER.job-hunt.{aggregate,review} launchd agents (macOS) or # job-hunt:{aggregate,review}: cron entries (Linux). Then re-run scripts/install-launchd.sh / scripts/install-cron.sh to install the new pupila-tagged versions.

Post-merge migration playbook

  1. Rename the GitHub repo: Settings → Repository name → pupila. GitHub auto-redirects existing git remote URLs.
  2. git remote set-url origin https://github.com/FranRom/pupila.git
  3. git checkout main && git pull
  4. ./scripts/uninstall-legacy-job-hunt.sh
  5. Rename JOB_HUNT_*PUPILA_* in shell config; exec $SHELL -l
  6. mv ~/coding/personal/job-hunt ~/coding/personal/pupila && cd ~/coding/personal/pupila
  7. Reinstall scheduled jobs: ./scripts/install-launchd.sh (macOS) or ./scripts/install-cron.sh (Linux)
  8. Re-install MCP entry: ./scripts/install-mcp.sh
  9. Validate: pnpm install && pnpm run daily
  10. UI Scheduler panel should now show both jobs installed with pupila labels at the new repo path.

Test plan

  • pnpm run typecheck — zero errors
  • pnpm run lint — only pre-existing CSS warnings
  • pnpm run lint:ui-patterns — zero violations
  • pnpm test — 409 tests pass (was 406; +3 from new legacy-env detector test)
  • pnpm run build — succeeds
  • pnpm run ui:build — succeeds, bundle within budget
  • pnpm run dev (with PUPILA_NO_BRIEF_CHECK=1) — orchestrator runs end-to-end, JOBS.md footer regenerates as [pupila]
  • MCP initialize handshake succeeds
  • pnpm audit --prod — no advisories
  • Final grep sweep — only intentional job-hunt/JOB_HUNT_ survivors remain (uninstall-legacy script + legacy-env detector files)

Copy link
Copy Markdown
Collaborator

@ogarciarevett ogarciarevett left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@FranRom FranRom merged commit 2d2db8f into main May 17, 2026
1 check passed
@FranRom FranRom deleted the chore/rename-job-hunt-to-pupila branch May 17, 2026 18:09
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.

2 participants