docs: LICENSE-MIT + LICENSE-BSL + updated README for 7-step wizard and current feature set

This commit is contained in:
pyr0ball 2026-02-25 12:06:28 -08:00
parent 41c7954b9d
commit 41019269a2
3 changed files with 125 additions and 28 deletions

26
LICENSE-BSL Normal file
View file

@ -0,0 +1,26 @@
Business Source License 1.1
Licensor: Circuit Forge LLC
Licensed Work: Peregrine — AI-powered job search pipeline
Copyright (c) 2026 Circuit Forge LLC
Additional Use Grant: You may use the Licensed Work for personal,
non-commercial job searching purposes only.
Change Date: 2030-01-01
Change License: MIT License
For the full Business Source License 1.1 text, see:
https://mariadb.com/bsl11/
---
This license applies to the following components of Peregrine:
- scripts/llm_router.py
- scripts/generate_cover_letter.py
- scripts/company_research.py
- scripts/task_runner.py
- scripts/resume_parser.py
- scripts/imap_sync.py
- scripts/vision_service/
- scripts/integrations/
- app/

35
LICENSE-MIT Normal file
View file

@ -0,0 +1,35 @@
MIT License
Copyright (c) 2026 Circuit Forge LLC
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
---
This license applies to the following components of Peregrine:
- scripts/discover.py
- scripts/custom_boards/
- scripts/match.py
- scripts/db.py
- scripts/migrate.py
- scripts/preflight.py
- scripts/user_profile.py
- setup.sh
- Makefile

View file

@ -9,7 +9,8 @@ Privacy-first, local-first. Your data never leaves your machine.
## Quick Start ## Quick Start
**1. Install dependencies** (Docker, Docker Compose, NVIDIA toolkit if needed): **1. Install dependencies** (Docker, NVIDIA toolkit if needed):
```bash ```bash
git clone https://git.circuitforge.io/circuitforge/peregrine git clone https://git.circuitforge.io/circuitforge/peregrine
cd peregrine cd peregrine
@ -17,9 +18,11 @@ bash setup.sh
``` ```
**2. Start Peregrine:** **2. Start Peregrine:**
```bash ```bash
make start # remote profile (no GPU) make start # remote profile (API-only, no GPU)
make start PROFILE=single-gpu # with GPU make start PROFILE=single-gpu # with one GPU
make start PROFILE=dual-gpu # dual GPU (Ollama + vLLM)
``` ```
**3.** Open http://localhost:8501 — the setup wizard guides you through the rest. **3.** Open http://localhost:8501 — the setup wizard guides you through the rest.
@ -31,50 +34,83 @@ make start PROFILE=single-gpu # with GPU
## Inference Profiles ## Inference Profiles
| Profile | Services | Use case | | Profile | Services started | Use case |
|---------|----------|----------| |---------|-----------------|----------|
| `remote` | app + searxng | No GPU; LLM calls go to Anthropic/OpenAI | | `remote` | app + searxng | No GPU; LLM calls go to Anthropic / OpenAI |
| `cpu` | app + ollama + searxng | No GPU; local models on CPU (slow) | | `cpu` | app + ollama + searxng | No GPU; local models on CPU (slow) |
| `single-gpu` | app + ollama + vision + searxng | One GPU for cover letters + research + vision | | `single-gpu` | app + ollama + vision + searxng | One GPU: cover letters, research, vision |
| `dual-gpu` | app + ollama + vllm + vision + searxng | GPU 0 = Ollama, GPU 1 = vLLM | | `dual-gpu` | app + ollama + vllm + vision + searxng | GPU 0 = Ollama, GPU 1 = vLLM |
Set the profile in `.env`:
```bash
# .env
DOCKER_COMPOSE_PROFILES=single-gpu
```
Or select it during the setup wizard.
--- ---
## First-Run Wizard ## First-Run Wizard
On first launch, the app shows a 5-step setup wizard: On first launch the setup wizard walks through seven steps:
1. **Hardware Detection** — auto-detects NVIDIA GPUs and suggests a profile 1. **Hardware** — detects NVIDIA GPUs and recommends a profile
2. **Your Identity** — name, email, career summary (used in cover letters and prompts) 2. **Tier** — choose free, paid, or premium (or use `dev_tier_override` for local testing)
3. **Sensitive Employers** — companies masked as "previous employer (NDA)" in research briefs 3. **Identity** — name, email, phone, LinkedIn, career summary
4. **Inference & API Keys** — Anthropic/OpenAI keys (remote), or Ollama model (local) 4. **Resume** — upload a PDF/DOCX for LLM parsing, or use the guided form builder
5. **Notion Sync** — optional; syncs jobs to a Notion database 5. **Inference** — configure LLM backends and API keys
6. **Search** — job titles, locations, boards, keywords, blocklist
7. **Integrations** — optional cloud storage, calendar, and notification services
Wizard writes `config/user.yaml`. Re-run by deleting that file. Wizard state is saved after each step — a crash or browser close resumes where you left off.
Re-enter the wizard any time via **Settings → Developer → Reset wizard**.
--- ---
## Email Sync (Optional) ## Features
Peregrine can monitor your inbox for job-related emails (interview requests, rejections, survey links) and automatically update job stages. | Feature | Tier |
|---------|------|
| Job discovery (JobSpy + custom boards) | Free |
| Resume keyword matching | Free |
| Cover letter generation | Paid |
| Company research briefs | Paid |
| Interview prep & practice Q&A | Paid |
| Email sync & auto-classification | Paid |
| Survey assistant (culture-fit Q&A) | Paid |
| Integration connectors (Notion, Airtable, Google Sheets, etc.) | Paid |
| Calendar sync (Google, Apple) | Paid |
| Cover letter model fine-tuning | Premium |
| Multi-user support | Premium |
Configure via **Settings → Email** after setup. Requires: ---
- IMAP access to your email account
- For Gmail: enable IMAP + create an App Password ## Email Sync
Monitors your inbox for job-related emails and automatically updates job stages (interview requests, rejections, survey links, offers).
Configure in **Settings → Email**. Requires IMAP access and, for Gmail, an App Password.
---
## Integrations
Connect external services in **Settings → Integrations**:
- **Job tracking:** Notion, Airtable, Google Sheets
- **Document storage:** Google Drive, Dropbox, OneDrive, MEGA, Nextcloud
- **Calendar:** Google Calendar, Apple Calendar (CalDAV)
- **Notifications:** Slack, Discord (webhook), Home Assistant
---
## Developer Docs
Full documentation at: https://docs.circuitforge.io/peregrine
- [Installation guide](https://docs.circuitforge.io/peregrine/getting-started/installation/)
- [Adding a custom job board scraper](https://docs.circuitforge.io/peregrine/developer-guide/adding-scrapers/)
- [Adding an integration](https://docs.circuitforge.io/peregrine/developer-guide/adding-integrations/)
- [Contributing](https://docs.circuitforge.io/peregrine/developer-guide/contributing/)
--- ---
## License ## License
Core discovery pipeline: [MIT](LICENSE-MIT) Core discovery pipeline: [MIT](LICENSE-MIT)
AI features (cover letter generation, company research, interview prep): [BSL 1.1](LICENSE-BSL) AI features (cover letter generation, company research, interview prep, UI): [BSL 1.1](LICENSE-BSL)
© 2026 Circuit Forge LLC © 2026 Circuit Forge LLC