Chrome Extension

Chrome Extension

Interner Test- & Research-Hub: welche ATS-Systeme wir für Auto-fill unterstützen müssen – mit Test-Links zu echten Stellenanzeigen.

Init-Brief für Claude Code / Agenten

Kopieren und einem Coding-Agenten geben – damit er die Extension versteht und lokal startklar macht.

# Chrome-Extension "Bewerbung erstellen" — Kurzbrief für Coding-Agents

WAS: Manifest-V3-Browser-Extension im Ordner extension/ (WXT + React 19 + Tailwind v4).
Eigenes Build-Artefakt, KEIN Teil des Next-Builds. Die Web-App (Next 16, Supabase-Auth)
ist Backend + Auth-Provider.

LOKAL STARTEN:
1) Web-App läuft über den Conductor "Run"-Tab (Dev). Port aus "Open :PORT" ablesen
   — pro Worktree ein eigener Port (z. B. 55150). NICHT 3001 annehmen.
2) cd extension && npm run dev  → baut nach extension/.output/chrome-mv3-dev + HMR
   (öffnet KEIN eigenes Browserfenster, webExt.disabled=true).
3) In Arc/Chrome: Erweiterungen → "Entpackte Erweiterung laden" → Ordner
   extension/.output/chrome-mv3-dev wählen. .output ist versteckt → im Dateidialog
   Cmd+Shift+G und den absoluten Pfad einfügen.

API-BASIS-URL (port-robust):
- Wird zur Laufzeit aus dem /connect-Handshake (window.location.origin) gelernt und in
  chrome.storage gespeichert (lib/session.ts → apiBase). Danach ist der Port egal.
- Erst-Verbindung / Popup-Button nutzt extension/.env.development:
  WXT_API_BASE=http://localhost:<conductor-port>  (nur Dev; Prod → Live-URL).

WICHTIGE DATEIEN:
- extension/entrypoints/background.ts        Service-Worker (Session speichern)
- extension/entrypoints/connect.content.ts   Bridge auf /connect (Session + origin lernen)
- extension/entrypoints/autofill.content.ts  Formular-Autofill (Greenhouse/Lever)
- extension/entrypoints/popup/App.tsx        4-Tab-Popup
- extension/lib/{config,session,api}.ts      API-Base, Session, API-Client
- src/app/(app)/connect/                      "Verbinden"-Seite (Web-App)
- src/app/api/extension/{session,autofill}/   Bearer-validierte Endpunkte + CORS

UNTERSTÜTZTE ATS (Auto-fill aktiv): *.greenhouse.io, jobs.lever.co.
Weitere Systeme + Status: src/data/ats-providers.ts (Matrix unten auf dieser Seite).

OFFENE TODOS: echte Profildaten in /api/extension/autofill (aktuell nur E-Mail),
Token-Refresh statt Reconnect bei 401, Handshake-Härtung (One-Time-Code),
weitere ATS/DACH-Portale (Personio, Workday, SuccessFactors ...).

Extension bauen & im Browser laden

Manifest-V3-Extension, lokal „unpacked“ geladen (Arc/Chrome) – kein Store nötig.

  1. 1. Web-App starten. Conductor „Run“-Tab → Dev. Den Port aus „Open :PORT“ merken (dieser Worktree: 55150).
  2. 2. Extension bauen. Im Terminal: cd extension && npm run dev – baut nach .output/chrome-mv3-dev und lädt bei Änderungen automatisch neu (HMR). Öffnet kein eigenes Fenster.
  3. 3. Erweiterungen-Seite öffnen. In Arc/Chrome die Extensions-Verwaltung öffnen → „Entpackte Erweiterung laden“ (oben links). In Arc ist der Entwicklermodus schon aktiv – kein Extra-Toggle.
  4. 4. Ordner wählen – der Trick. Der Zielordner .output beginnt mit einem Punkt und ist im Dateidialog versteckt. Drücke deshalb Cmd + Shift + G, füge den Pfad unten ein, Enter → „Auswählen“.
  5. 5. Anpinnen & verbinden. Puzzle-Icon → Pin. Popup → „Mit Konto verbinden“ → einloggen → „Verbunden“.

Pfad für „Cmd+Shift+G“ (dieser Worktree):

/Users/lennardklein/conductor/workspaces/cvapp/bangkok/extension/.output/chrome-mv3-dev

Alternative statt Cmd+Shift+G: im Dialog Cmd + Shift + . blendet versteckte Ordner ein → dann extension .output chrome-mv3-dev.

In einem anderen Workspace (Conductor-Worktree)

Die geladene Extension lädt den Code immer aus dem Ordner …/[workspace]/extension/.output/chrome-mv3-dev und „gehört“ damit zu einem Worktree. Jeder Worktree hat einen eigenen Dev-Port.

  • Nur gegen einen anderen Port verbinden (gleicher Code): Öffne localhost:[port]/connect dieses Workspaces. Das Connect-Script matcht jeden localhost-Port → die Extension lernt die URL selbst. Kein Neu-Laden nötig.
  • Geänderten Extension-Code testen: Im anderen Worktree npm run dev, dann dessen .output/chrome-mv3-dev laden. Das ist ein eigener Eintrag → am besten den alten vorher „Entfernen“ (sonst füllen zwei Extensions gleichzeitig).
  • Verbinden-Button korrigieren: Der „Mit Konto verbinden“-Button nutzt den Port aus extension/.env.development (WXT_API_BASE). Für einen anderen Worktree dort den neuen Port eintragen und neu bauen.

Achtung: Wird ein Worktree in Conductor gelöscht, verschwindet sein Ordner → die daraus geladene Extension bricht weg. Erst ein Chrome-Web-Store-Build ist davon unabhängig.

Status:LiveGeplantRechercheTest-Links werden lokal im Browser gespeichert.

ATS-Systeme

PersonioRechercheDACH

De-facto-Standard bei KMU/Mittelstand in DACH. Höchste Priorität für DE.

jobs.personio.dejobs.personio.com*.jobs.personio.de
SAP SuccessFactorsRechercheDACH / Enterprise

Konzerne & DAX. Komplexe, mehrseitige Formulare – aufwändig, aber wichtig.

*.successfactors.eu*.successfactors.com*.sapsf.eu*.sapsf.com
WorkdayGeplantGlobal / Enterprise

Weltweit sehr verbreitet bei Großunternehmen. Eigene Feld-IDs, gut automatisierbar.

*.myworkdayjobs.com*.myworkdaysite.com
GreenhouseLiveTech / Startups

Startup-/Tech-Standard. Stabile Feldstruktur → idealer Startpunkt.

*.greenhouse.iojob-boards.greenhouse.ioboards.greenhouse.io
LeverLiveTech / Startups

Wie Greenhouse verbreitet in Tech. Einfache Formulare.

jobs.lever.co
SmartRecruitersRechercheDACH / Global

Mid-Market & Enterprise, starke DACH-Präsenz.

*.smartrecruiters.comjobs.smartrecruiters.comcareers.smartrecruiters.com
softgardenRechercheDACH

Deutscher Anbieter, im Mittelstand verbreitet.

*.softgarden.io*.softgarden.de
RecruiteeRechercheDACH / EU

Beliebt bei KMU in Europa/DACH.

*.recruitee.com
d.vinciRechercheDACH

Deutscher Anbieter, öffentlicher Dienst & Mittelstand.

*.dvinci.de*.dvinci-hr.com
rexx systemsRechercheDACH

Deutscher HR-Suite-Anbieter.

*.rexx-systems.com
ConcludisRechercheDACH

Deutscher Recruiting-Anbieter.

*.concludis.de
AshbyGeplantTech / Startups

Neuere Startups. Saubere, moderne Formulare.

jobs.ashbyhq.com
WorkableRechercheGlobal / KMU

International bei KMU verbreitet.

apply.workable.com*.workable.com
TeamtailorRechercheEU

Stark in Nordeuropa, wachsend in DACH.

*.teamtailor.com
BambooHRRechercheUSA / KMU

US-lastig, für DE weniger relevant.

*.bamboohr.com
Oracle Taleo / HCMRechercheGlobal / Enterprise

Alt-Enterprise, noch weit verbreitet. Sperrige Formulare.

*.taleo.net*.oraclecloud.com
iCIMSRechercheUSA / Enterprise

US-Enterprise, in DE selten.

*.icims.com

Jobbörsen (Direkt-/Easy-Apply)

StepStoneRechercheDACH

Größte DE-Jobbörse mit eigenem Bewerbungsflow.

www.stepstone.destepstone.de
Indeed (Easy Apply)RechercheGlobal / DE

Riesige Reichweite, teils Direktbewerbung.

de.indeed.com*.indeed.com
LinkedIn (Easy Apply)RechercheGlobal

Easy-Apply-Formulare, auch für DE relevant.

www.linkedin.com
XingRechercheDACH

DACH-Netzwerk mit Stellenbörse.

www.xing.com
JOINRechercheDACH

Multiposting/Bewerbungsflow für KMU.

join.com