|
| 1 | +# Career-Ops |
| 2 | + |
| 3 | +[English](README.md) | [Español](README.es.md) | [Português (Brasil)](README.pt-BR.md) | [한국어](README.ko-KR.md) | [日本語](README.ja.md) | [Русский](README.ru.md) | [Français](README.fr.md) |
| 4 | + |
| 5 | +<p align="center"> |
| 6 | + <a href="https://x.com/santifer"><img src="docs/hero-banner.jpg" alt="Career-Ops — Multi-Agent Job Search System" width="800"></a> |
| 7 | +</p> |
| 8 | + |
| 9 | +<p align="center"> |
| 10 | + <em>J'ai passé des mois à postuler à des emplois à la dure. J'ai donc conçu le système que j'aurais aimé avoir.</em><br> |
| 11 | + Les entreprises utilisent l'IA pour filtrer les candidats. <strong>J'ai donné aux candidats une IA pour <em>choisir</em> les entreprises.</strong><br> |
| 12 | + <em>C'est maintenant open source.</em> |
| 13 | +</p> |
| 14 | + |
| 15 | +<p align="center"> |
| 16 | + <img src="https://img.shields.io/badge/Claude_Code-000?style=flat&logo=anthropic&logoColor=white" alt="Claude Code"> |
| 17 | + <img src="https://img.shields.io/badge/OpenCode-111827?style=flat&logo=terminal&logoColor=white" alt="OpenCode"> |
| 18 | + <img src="https://img.shields.io/badge/Codex_(bientôt)-6B7280?style=flat&logo=openai&logoColor=white" alt="Codex"> |
| 19 | + <img src="https://img.shields.io/badge/Node.js-339933?style=flat&logo=node.js&logoColor=white" alt="Node.js"> |
| 20 | + <img src="https://img.shields.io/badge/Go-00ADD8?style=flat&logo=go&logoColor=white" alt="Go"> |
| 21 | + <img src="https://img.shields.io/badge/Playwright-2EAD33?style=flat&logo=playwright&logoColor=white" alt="Playwright"> |
| 22 | + <img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="MIT"> |
| 23 | + <a href="https://discord.gg/8pRpHETxa4"><img src="https://img.shields.io/badge/Discord-5865F2?style=flat&logo=discord&logoColor=white" alt="Discord"></a> |
| 24 | + <br> |
| 25 | + <img src="https://img.shields.io/badge/EN-blue?style=flat" alt="EN"> |
| 26 | + <img src="https://img.shields.io/badge/ES-red?style=flat" alt="ES"> |
| 27 | + <img src="https://img.shields.io/badge/DE-grey?style=flat" alt="DE"> |
| 28 | + <img src="https://img.shields.io/badge/FR-blue?style=flat" alt="FR"> |
| 29 | + <img src="https://img.shields.io/badge/PT--BR-green?style=flat" alt="PT-BR"> |
| 30 | + <img src="https://img.shields.io/badge/KO-white?style=flat" alt="KO"> |
| 31 | + <img src="https://img.shields.io/badge/JA-red?style=flat" alt="JA"> |
| 32 | +</p> |
| 33 | + |
| 34 | +--- |
| 35 | + |
| 36 | +<p align="center"> |
| 37 | + <img src="docs/demo.gif" alt="Démo Career-Ops" width="800"> |
| 38 | +</p> |
| 39 | + |
| 40 | +<p align="center"><strong>Plus de 740 offres d'emploi évaluées · Plus de 100 CV personnalisés · 1 rôle de rêve décroché</strong></p> |
| 41 | + |
| 42 | +<p align="center"><a href="https://discord.gg/8pRpHETxa4"><img src="https://img.shields.io/badge/Join_the_community-Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white" alt="Discord"></a></p> |
| 43 | + |
| 44 | +## Qu'est-ce que c'est |
| 45 | + |
| 46 | +Career-Ops transforme n'importe quelle interface de codage IA en un centre de commande complet de recherche d'emploi. Au lieu de suivre manuellement les candidatures dans une feuille de calcul, vous obtenez un pipeline optimisé par l'IA qui : |
| 47 | + |
| 48 | +- **Évalue les offres** avec un système de notation structuré de A à F (10 dimensions pondérées) |
| 49 | +- **Génère des PDF sur mesure** -- des CV optimisés ATS personnalisés par description de poste |
| 50 | +- **Scan les portails** automatiquement (Greenhouse, Ashby, Lever, pages d'entreprise) |
| 51 | +- **Traite par lots** -- évaluer plus de 10 offres en parallèle avec des sous-agents |
| 52 | +- **Suit tout** dans une source de vérité unique avec des contrôles d'intégrité |
| 53 | + |
| 54 | +> **Important : Il ne s'agit PAS d'un outil de type « spray-and-pray » (tirer dans le tas).** Career-ops est un filtre -- il vous aide à trouver les quelques offres qui valent votre temps parmi des centaines. Le système déconseille fortement de postuler à quoi que ce soit avec un score inférieur à 4,0/5. Votre temps est précieux, et celui du recruteur aussi. Passez toujours en revue avant de soumettre. |
| 55 | +
|
| 56 | +Career-ops est un système agentique : Claude Code navigue sur les pages carrières avec Playwright, évalue l'adéquation en raisonnant sur votre CV par rapport à la description du poste (pas de correspondance de mots-clés) et adapte votre CV par annonce. |
| 57 | + |
| 58 | +> **Attention : les premières évaluations ne seront pas formidables.** Le système ne vous connaît pas encore. Fournissez-lui du contexte -- votre CV, votre histoire professionnelle, vos arguments de preuve, vos préférences, ce à quoi vous êtes bon, ce que vous voulez éviter. Plus vous le nourrissez, meilleur il devient. Considérez cela comme l'intégration d'un nouveau recruteur : la première semaine, ils ont besoin d'en apprendre sur vous, puis ils deviennent inestimables. |
| 59 | +
|
| 60 | +Construit par quelqu'un qui l'a utilisé pour évaluer plus de 740 offres d'emploi, générer plus de 100 CV personnalisés et décrocher un rôle de Head of Applied AI. [Lisez l'étude de cas complète](https://santifer.io/career-ops-system). |
| 61 | + |
| 62 | +## Fonctionnalités |
| 63 | + |
| 64 | +| Fonctionnalité | Description | |
| 65 | +|---------|-------------| |
| 66 | +| **Auto-Pipeline** | Collez une URL, obtenez une évaluation complète + PDF + entrée de suivi | |
| 67 | +| **Évaluation à 6 blocs** | Résumé du rôle, adéquation du CV, stratégie de niveau, recherche de rémunération, personnalisation, préparation aux entretiens (STAR+R) | |
| 68 | +| **Banque d'histoires d'entretien** | Accumule les histoires STAR+Réflexion à travers les évaluations -- 5 à 10 histoires maîtresses qui répondent à toute question comportementale | |
| 69 | +| **Scripts de négociation** | Cadres de négociation salariale, contestation des remises géographiques, gestion des offres concurrentes | |
| 70 | +| **Génération PDF ATS** | CV injectés de mots-clés avec design Space Grotesk + DM Sans | |
| 71 | +| **Scanner de portails** | Plus de 45 entreprises préconfigurées (Anthropic, OpenAI, ElevenLabs, Retool, n8n...) + requêtes personnalisées sur Ashby, Greenhouse, Lever, Wellfound | |
| 72 | +| **Traitement par lot** | Évaluation parallèle avec les workers `claude -p` | |
| 73 | +| **Tableau de bord TUI** | Interface utilisateur terminal (TUI) pour parcourir, filtrer et trier votre pipeline | |
| 74 | +| **L'Humain dans la Boucle** | L'IA évalue et recommande, vous décidez et agissez. Le système ne soumet jamais une candidature - vous avez toujours le dernier mot | |
| 75 | +| **Intégrité du pipeline** | Fusion automatisée, déduplication, normalisation d'état, contrôles de santé | |
| 76 | + |
| 77 | +## Démarrage Rapide |
| 78 | + |
| 79 | +```bash |
| 80 | +# 1. Cloner et installer |
| 81 | +git clone https://github.com/santifer/career-ops.git |
| 82 | +cd career-ops && npm install |
| 83 | +npx playwright install chromium # Requis pour la génération de PDF |
| 84 | + |
| 85 | +# 2. Vérifier la configuration |
| 86 | +npm run doctor # Valide tous les prérequis |
| 87 | + |
| 88 | +# 3. Configurer |
| 89 | +cp config/profile.example.yml config/profile.yml # Éditez avec vos détails |
| 90 | +cp templates/portals.example.yml portals.yml # Personnaliser les entreprises |
| 91 | + |
| 92 | +# 4. Ajouter votre CV |
| 93 | +# Créez cv.md dans le répertoire racine avec votre CV en markdown |
| 94 | + |
| 95 | +# 5. Personnaliser avec Claude |
| 96 | +claude # Ouvrir Claude Code dans ce répertoire |
| 97 | + |
| 98 | +# Ensuite, demandez à Claude d'adapter le système à vous : |
| 99 | +# "Change les archétypes vers des rôles d'ingénierie backend" |
| 100 | +# "Traduis les modes en français" |
| 101 | +# "Ajoute ces 5 entreprises à portals.yml" |
| 102 | +# "Mets à jour mon profil avec ce CV que je colle" |
| 103 | + |
| 104 | +# 6. Commencer à utiliser |
| 105 | +# Collez l'URL d'un poste ou exécutez /career-ops |
| 106 | +``` |
| 107 | + |
| 108 | +> **Le système est conçu pour être personnalisé par Claude lui-même.** Modes, archétypes, pondération des scores, scripts de négociation -- demandez simplement à Claude de les modifier. Il lit les mêmes fichiers qu'il utilise, donc il sait exactement quoi modifier. |
| 109 | +
|
| 110 | +Consultez [docs/SETUP.md](docs/SETUP.md) pour le guide de configuration complet. |
| 111 | + |
| 112 | +## Utilisation |
| 113 | + |
| 114 | +Career-ops est une seule commande avec plusieurs modes : |
| 115 | + |
| 116 | +``` |
| 117 | +/career-ops → Afficher toutes les commandes disponibles |
| 118 | +/career-ops {URL de JD} → Auto-pipeline complet (évaluer + PDF + suivi) |
| 119 | +/career-ops scan → Scanner les portails pour les nouvelles offres |
| 120 | +/career-ops pdf → Générer un CV optimisé pour les ATS |
| 121 | +/career-ops batch → Évaluer par lots plusieurs offres |
| 122 | +/career-ops tracker → Afficher les candidatures |
| 123 | +/career-ops apply → Remplir les formulaires avec l'IA |
| 124 | +/career-ops pipeline → Traiter les URL en attente |
| 125 | +/career-ops contacto → Message d'accroche LinkedIn |
| 126 | +/career-ops deep → Recherche approfondie sur l'entreprise |
| 127 | +/career-ops training → Évaluer un cours/certificat |
| 128 | +/career-ops project → Évaluer un projet portfolio |
| 129 | +``` |
| 130 | + |
| 131 | +Ou collez simplement une URL ou description de poste directement -- career-ops la détecte automatiquement et exécute le pipeline complet. |
| 132 | + |
| 133 | +## Comment ça marche |
| 134 | + |
| 135 | +``` |
| 136 | +Vous collez une URL ou description de poste |
| 137 | + │ |
| 138 | + ▼ |
| 139 | +┌──────────────────┐ |
| 140 | +│ Détection │ Classifie : LLMOps / Agentic / PM / SA / FDE / Transformation |
| 141 | +│ d'archétype │ |
| 142 | +└────────┬─────────┘ |
| 143 | + │ |
| 144 | +┌────────▼─────────┐ |
| 145 | +│ Évaluation A-F │ Adéquation, lacunes, recherche comp, histoires STAR |
| 146 | +│ (lit cv.md) │ |
| 147 | +└────────┬─────────┘ |
| 148 | + │ |
| 149 | + ┌────┼────┐ |
| 150 | + ▼ ▼ ▼ |
| 151 | + Rapport PDF Tracker |
| 152 | + .md .pdf .tsv |
| 153 | +``` |
| 154 | + |
| 155 | +## Portails Préconfigurés |
| 156 | + |
| 157 | +Le scanner est livré avec **45+ entreprises** prêtes à être scannées et **19 requêtes de recherche** sur les principaux sites d'emploi. Copiez `templates/portals.example.yml` vers `portals.yml` et ajoutez les vôtres : |
| 158 | + |
| 159 | +**Laban IA :** Anthropic, OpenAI, Mistral, Cohere, LangChain, Pinecone |
| 160 | +**IA Vocale :** ElevenLabs, PolyAI, Parloa, Hume AI, Deepgram, Vapi, Bland AI |
| 161 | +**Plateformes IA :** Retool, Airtable, Vercel, Temporal, Glean, Arize AI |
| 162 | +**Centre de contact :** Ada, LivePerson, Sierra, Decagon, Talkdesk, Genesys |
| 163 | +**Entreprise :** Salesforce, Twilio, Gong, Dialpad |
| 164 | +**LLMOps :** Langfuse, Weights & Biases, Lindy, Cognigy, Speechmatics |
| 165 | +**Automatisation :** n8n, Zapier, Make.com |
| 166 | +**Européennes :** Factorial, Attio, Tinybird, Clarity AI, Travelperk |
| 167 | + |
| 168 | +**Sites d'emploi cherchés :** Ashby, Greenhouse, Lever, Wellfound, Workable, RemoteFront |
| 169 | + |
| 170 | +## Tableau de bord TUI |
| 171 | + |
| 172 | +Le tableau de bord terminal intégré vous permet de parcourir visuellement votre pipeline : |
| 173 | + |
| 174 | +```bash |
| 175 | +cd dashboard |
| 176 | +go build -o career-dashboard . |
| 177 | +./career-dashboard --path .. |
| 178 | +``` |
| 179 | + |
| 180 | +Fonctionnalités : 6 onglets filtrants, 4 modes de tri, vue groupée/plate, aperçus à chargement différé, modifications de statut en ligne. |
| 181 | + |
| 182 | +## Structure du Projet |
| 183 | + |
| 184 | +``` |
| 185 | +career-ops/ |
| 186 | +├── CLAUDE.md # Instructions de l'agent |
| 187 | +├── cv.md # Votre CV (à créer) |
| 188 | +├── article-digest.md # Vos arguments de preuves (optionnel) |
| 189 | +├── config/ |
| 190 | +│ └── profile.example.yml # Modèle de votre profil |
| 191 | +├── modes/ # 14 modes de compétences |
| 192 | +│ ├── _shared.md # Contexte partagé (à personnaliser) |
| 193 | +│ ├── oferta.md # Évaluation unique |
| 194 | +│ ├── pdf.md # Génération PDF |
| 195 | +│ ├── scan.md # Scanner de portails |
| 196 | +│ ├── batch.md # Traitement de lot |
| 197 | +│ └── ... |
| 198 | +├── templates/ |
| 199 | +│ ├── cv-template.html # Modèle CV optimisé ATS |
| 200 | +│ ├── portals.example.yml # Modèle de config scanner |
| 201 | +│ └── states.yml # Statuts canoniques |
| 202 | +├── batch/ |
| 203 | +│ ├── batch-prompt.md # Invite de worker autonome |
| 204 | +│ └── batch-runner.sh # Script d'orchestration |
| 205 | +├── dashboard/ # Visionneur TUI pipeline Go |
| 206 | +├── data/ # Vos données de suivi (ignoré via git) |
| 207 | +├── reports/ # Rapports d'évaluation (ignorés via git) |
| 208 | +├── output/ # PDF générés (ignorés via git) |
| 209 | +├── fonts/ # Espace Grotesk + DM Sans |
| 210 | +├── docs/ # Configuration, architecture etc. |
| 211 | +└── examples/ # Exemples de CV, rapport, etc. |
| 212 | +``` |
| 213 | + |
| 214 | +## Pile technologique |
| 215 | + |
| 216 | + |
| 217 | + |
| 218 | + |
| 219 | + |
| 220 | + |
| 221 | + |
| 222 | +- **Agent** : Claude Code avec des compétences et des modes personnalisés |
| 223 | +- **PDF** : Playwright/Puppeteer + modèle HTML |
| 224 | +- **Scanner** : Playwright + API Greenhouse + WebSearch |
| 225 | +- **Tableau de bord** : Go + Bubble Tea + Lipgloss (thème Catppuccin Mocha) |
| 226 | +- **Données** : Tableaux Markdown + configuration YAML + fichiers TSV par lots |
| 227 | + |
| 228 | +## Également Open Source |
| 229 | + |
| 230 | +- **[cv-santiago](https://github.com/santifer/cv-santiago)** -- Le site web de portfolio (santifer.io) avec chatbot IA, tableau de bord LLMOps et études de cas. Si vous avez besoin d'un portfolio à montrer en parallèle de votre recherche d'emploi, forkez-le et personnalisez-le. |
| 231 | + |
| 232 | +## À Propos de l'Auteur |
| 233 | + |
| 234 | +Je suis Santiago -- Chef de l'IA appliquée (Head of Applied AI), ancien fondateur (j'ai construit et vendu une entreprise qui fonctionne toujours avec mon nom). J'ai construit career-ops pour gérer ma propre recherche d'emploi. Ça a marché : je l'ai utilisé pour décrocher mon poste actuel. |
| 235 | + |
| 236 | +Mon portfolio et autres projets open source → [santifer.io](https://santifer.io) |
| 237 | + |
| 238 | +☕ [Achetez-moi un café](https://buymeacoffee.com/santifer) si career-ops a aidé votre recherche d'emploi. |
| 239 | + |
| 240 | +## Historique des étoiles (Stars) |
| 241 | + |
| 242 | +<a href="https://www.star-history.com/?repos=santifer%2Fcareer-ops&type=timeline&legend=top-left"> |
| 243 | + <picture> |
| 244 | + <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=santifer/career-ops&type=timeline&theme=dark&legend=top-left" /> |
| 245 | + <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=santifer/career-ops&type=timeline&legend=top-left" /> |
| 246 | + <img alt="Star History Chart" src="https://api.star-history.com/chart?repos=santifer/career-ops&type=timeline&legend=top-left" /> |
| 247 | + </picture> |
| 248 | +</a> |
| 249 | + |
| 250 | +## Avertissement Légal |
| 251 | + |
| 252 | +**career-ops est un outil local open-source — NON un service hébergé.** En utilisant ce logiciel, vous reconnaissez : |
| 253 | + |
| 254 | +1. **Vous contrôlez vos données.** Votre CV, infos de contact etc restent sur votre machine et sont envoyées au fournisseur IA de votre choix (Anthropic, OpenAI...). Nous ne collectons pas vos données. |
| 255 | +2. **Vous contrôlez l'IA.** Les invites par défaut demandent de ne pas soumettre de candidatures auto, mais l'IA peut être imprévisible. Si vous modifiez les modes, c'est à vos risques et périls. **Relisez toujours le contenu de l'IA avant de soumettre.** |
| 256 | +3. **Respectez les ToS.** Utilisez cet outil en conformité avec les conditions des portails d'emploi. Ne pas spammer avec. |
| 257 | +4. **Pas de garanties.** L'IA peut halluciner. L'auteur n'est pas responsable de l'issue de vos recherches. |
| 258 | + |
| 259 | +Voir [LEGAL_DISCLAIMER.md](LEGAL_DISCLAIMER.md) pour les détails. Ce logiciel est fourni sous licence [MIT License](LICENSE) "en l'état" sans garantie. |
| 260 | + |
| 261 | +## Licence |
| 262 | + |
| 263 | +MIT |
| 264 | + |
| 265 | +## Restons Connectés |
| 266 | + |
| 267 | +[](https://santifer.io) |
| 268 | +[](https://linkedin.com/in/santifer) |
| 269 | +[](https://x.com/santifer) |
| 270 | +[](https://discord.gg/8pRpHETxa4) |
| 271 | +[](mailto:hi@santifer.io) |
| 272 | +[](https://buymeacoffee.com/santifer) |
0 commit comments