Adds a full MkDocs documentation site under docs/ with Material theme. Getting Started: installation walkthrough, 7-step first-run wizard guide, Docker Compose profile reference with GPU memory guidance and preflight.py description. User Guide: job discovery (search profiles, custom boards, enrichment), job review (sorting, match scores, batch actions), apply workspace (cover letter gen, PDF export, mark applied), interviews (kanban stages, company research auto-trigger, survey assistant), email sync (IMAP, Gmail App Password, classification labels, stage auto-updates), integrations (all 13 drivers with tier requirements), settings (every tab documented). Developer Guide: contributing (dev env setup, code style, branch naming, PR checklist), architecture (ASCII layer diagram, design decisions), adding scrapers (full scrape() interface, registration, search profile config, test patterns), adding integrations (IntegrationBase full interface, auto- discovery, tier gating, test patterns), testing (patterns, fixtures, what not to test). Reference: tier system (full FEATURES table, can_use/tier_label API, dev override, adding gates), LLM router (backend types, complete() signature, fallback chains, vision routing, __auto__ resolution, adding backends), config files (every file with field-level docs and gitignore status). Also adds CONTRIBUTING.md at repo root pointing to the docs site. |
||
|---|---|---|
| app | ||
| config | ||
| data/survey_screenshots | ||
| docker | ||
| docs | ||
| scripts | ||
| tests | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| CLAUDE.md | ||
| compose.yml | ||
| CONTRIBUTING.md | ||
| Dockerfile | ||
| environment.yml | ||
| Makefile | ||
| mkdocs.yml | ||
| pytest.ini | ||
| README.md | ||
| requirements.txt | ||
| setup.sh | ||
Peregrine
AI-powered job search pipeline — by Circuit Forge LLC
Automates the full job search lifecycle: discovery → matching → cover letters → applications → interview prep. Privacy-first, local-first. Your data never leaves your machine.
Quick Start
1. Install dependencies (Docker, Docker Compose, NVIDIA toolkit if needed):
git clone https://git.circuitforge.io/circuitforge/peregrine
cd peregrine
bash setup.sh
2. Start Peregrine:
make start # remote profile (no GPU)
make start PROFILE=single-gpu # with GPU
3. Open http://localhost:8501 — the setup wizard guides you through the rest.
macOS: Docker Desktop must be running before
make start. Windows: Not supported — use WSL2 with Ubuntu.
Inference Profiles
| Profile | Services | Use case |
|---|---|---|
remote |
app + searxng | No GPU; LLM calls go to Anthropic/OpenAI |
cpu |
app + ollama + searxng | No GPU; local models on CPU (slow) |
single-gpu |
app + ollama + vision + searxng | One GPU for cover letters + research + vision |
dual-gpu |
app + ollama + vllm + vision + searxng | GPU 0 = Ollama, GPU 1 = vLLM |
Set the profile in .env:
# .env
DOCKER_COMPOSE_PROFILES=single-gpu
Or select it during the setup wizard.
First-Run Wizard
On first launch, the app shows a 5-step setup wizard:
- Hardware Detection — auto-detects NVIDIA GPUs and suggests a profile
- Your Identity — name, email, career summary (used in cover letters and prompts)
- Sensitive Employers — companies masked as "previous employer (NDA)" in research briefs
- Inference & API Keys — Anthropic/OpenAI keys (remote), or Ollama model (local)
- Notion Sync — optional; syncs jobs to a Notion database
Wizard writes config/user.yaml. Re-run by deleting that file.
Email Sync (Optional)
Peregrine can monitor your inbox for job-related emails (interview requests, rejections, survey links) and automatically update job stages.
Configure via Settings → Email after setup. Requires:
- IMAP access to your email account
- For Gmail: enable IMAP + create an App Password
License
Core discovery pipeline: MIT AI features (cover letter generation, company research, interview prep): BSL 1.1
© 2026 Circuit Forge LLC