2 Commits (5fa28b39488cd843a739b5d801e976351a8c8a02)

Author SHA1 Message Date
I Luk Kim 5fa28b3948 Add Google Jobs & HospitalRecruiting adapters; LinkedIn Volunteer filter; aaoinfo fixes
- Add googlejobs adapter (scroll-based extraction) and manifest
- Add hospitalrecruiting adapter (JS extraction) and manifest
- Fix googlejobs job URL: use shareUrl directly to preserve #fpstate=tldetail fragment
- Add exclude_title_keywords post-filter support (manifest + orchestrator)
- LinkedIn: exclude "volunteer" titles via exclude_title_keywords
- aaoinfo: exclude Preferred listings via :not(:has(.label-preferred)) selector
- aaoinfo: sort=start_ (descending = newest first)
- Telegram: multi-chat support, HTML escaping fixes, chunk splitting
- Various adapter, notifier, and CLI improvements

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
4 months ago
I Luk Kim 8028d5e566 Initial implementation of gimme-job CLI
Complete Python package implementing all phases from the spec:
- Phase 0-1: Project scaffold, config, Pydantic/SQLAlchemy models, Typer CLI
- Phase 2: Runtime engine (BrowserManager, BaseAdapter/ManifestDrivenAdapter, orchestrator)
- Phase 3: Claude Code CLI integration (learn/repair modes with Jinja2 prompt templates)
- Phase 4: Ollama summarizer, KakaoTalk client, notification dispatcher
- Phase 5: Indeed adapter with manifest (sites/indeed.yaml)
- Phase 6: 36 unit tests (dates, hashing, dedupe, manifests, kakao, adapter)

gimme-job init/run/learn/repair/test/notify/status commands all wired up.
36/36 unit tests passing.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
5 months ago