# Career-Ops

[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) | [简体中文](README.cn.md) | [繁體中文](README.zh-TW.md)

> *Я месяцами откликался на вакансии вручную. И создал систему, которую хотел бы иметь с самого начала.*
> Компании используют ИИ для фильтрации кандидатов. **Я дал кандидатам ИИ, чтобы *выбирать* компании.**
> *Теперь это open source.*

[![Claude Code](https://img.shields.io/badge/Claude_Code-000?style=flat&logo=anthropic&logoColor=white)](https://claude.ai)
[![Node.js](https://img.shields.io/badge/Node.js-339933?style=flat&logo=node.js&logoColor=white)](https://nodejs.org)
[![Go](https://img.shields.io/badge/Go-00ADD8?style=flat&logo=go&logoColor=white)](https://go.dev)
[![MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)

---

**740+ вакансий оценено · 100+ персонализированных резюме · 1 позиция мечты получена**

## Что это

Career-Ops превращает любой AI-CLI в полноценный командный центр для поиска работы. Вместо ручного ведения таблиц с откликами вы получаете ИИ-пайплайн, который:

- **Оценивает вакансии** по структурированной системе A–F (10 взвешенных параметров)
- **Генерирует персонализированные PDF-резюме** — оптимизированные под ATS, адаптированные под каждую вакансию
- **Сканирует порталы** автоматически (Greenhouse, Ashby, Lever и др.; российские площадки настраиваются в `portals.yml`)
- **Пакетная обработка** — оценка 10+ вакансий параллельно через суб-агентов
- **Трекает всё** в единой точке правды с проверками целостности

> **Важно: это НЕ инструмент для массовой рассылки.** Career-ops — это фильтр. Он помогает найти те немногие вакансии, которые стоят вашего времени, из сотен. Система настоятельно рекомендует не откликаться на вакансии с оценкой ниже 4.0/5. Ваше время ценно, как и время рекрутера. Всегда проверяйте перед отправкой.

## Возможности

| Функция | Описание |
|---|---|
| **Авто-пайплайн** | Вставь URL → получи оценку + PDF + запись в трекере |
| **6-блочная оценка** | Резюме роли, совпадение с CV, стратегия грейда, исследование компенсации, персонализация, подготовка к интервью (STAR+R) |
| **Банк историй для интервью** | Накапливает STAR+Reflection истории — 5–10 мастер-историй, которые закрывают любой поведенческий вопрос |
| **Скрипты переговоров** | Фреймворки зарплатных переговоров, отстаивание рыночной ставки, использование конкурирующих офферов |
| **ATS PDF-генерация** | Резюме с инъекцией ключевых слов, дизайн Space Grotesk + DM Sans |
| **Сканер порталов** | 45+ предустановленных компаний (международный рынок) + российские площадки (hh.ru, Хабр Карьера, trudvsem.ru и др.) — добавляются вручную в `portals.yml` |
| **Пакетная обработка** | Параллельная оценка через `claude -p` воркеры |
| **Dashboard TUI** | Терминальный UI для просмотра, фильтрации и сортировки пайплайна |
| **Human-in-the-Loop** | ИИ оценивает и рекомендует, вы решаете и действуете. Система никогда не отправляет отклик сама |
| **Целостность пайплайна** | Автоматический merge, дедупликация, нормализация статусов, проверки здоровья |

## Быстрый старт

```bash
# 1. Клонируй и установи
git clone https://github.com/santifer/career-ops.git
cd career-ops && npm install
npx playwright install chromium   # Для генерации PDF

# 2. Проверь настройки
npm run doctor                     # Валидация всех зависимостей

# 3. Настрой
cp config/profile.example.yml config/profile.yml  # Заполни свои данные
cp templates/portals.example.yml portals.yml       # Настрой компании

# 4. Добавь своё CV
# Создай cv.md в корне проекта с резюме в формате Markdown

# 5. Персонализируй через Claude
claude   # Открой Claude Code в директории проекта

# Попроси Claude адаптировать систему:
# "Смени архетипы на backend-разработку PHP/Go"
# "Переведи режимы на русский"  
# "Добавь эти 5 компаний в portals.yml"
# "Обнови мой профиль из этого CV"

# 6. Начинай
# Вставь URL вакансии или запусти /career-ops
```

## Использование

Career-ops — одна slash-команда с множеством режимов:

```
/career-ops                       → Показать все доступные команды
/career-ops {вставь описание JD}  → Полный авто-пайплайн (оценка + PDF + трекер)
/career-ops scan                  → Сканирование порталов
/career-ops pdf                   → Генерация ATS-резюме
/career-ops batch                 → Пакетная оценка вакансий
/career-ops tracker               → Статус откликов
/career-ops apply                 → Заполнение форм отклика с ИИ
/career-ops pipeline              → Обработка очереди URL
/career-ops contacto              → Сообщение в LinkedIn
/career-ops deep                  → Глубокий анализ компании
/career-ops training              → Оценка курса/сертификации
/career-ops project               → Оценка портфолио-проекта
```

Или просто вставь URL вакансии — career-ops автоматически определит его и запустит полный пайплайн.

## Как это работает

```
Вставляешь URL вакансии или описание
        │
        ▼
┌──────────────────┐
│  Определение     │  Классификация: Backend / Frontend / DevOps / PM / SA / ML
│  архетипа        │
└────────┬─────────┘
         │
┌────────┼─────────┐
│  Оценка A–F      │  Совпадение, пробелы, исследование компенсации, STAR-истории
│  (читает cv.md)  │
└────────┬─────────┘
         │
    ┌────┼─────┐
    ▼    ▼     ▼
 Отчёт  PDF  Трекер
  .md   .pdf   .tsv
```

## 🇷🇺 Российские площадки

Career-ops поддерживает ключевые российские джоб-борды:

| Площадка | URL | Тип | Особенности |
|---|---|---|---|
| **HeadHunter** | [hh.ru](https://hh.ru) | API + Web | Главная площадка РФ. Открытый API. 600k+ IT-вакансий |
| **Хабр Карьера** | [career.habr.com](https://career.habr.com) | Web | IT-вакансии, грейды, зарплатные вилки, техническое комьюнити |
| **Работа в России** | [trudvsem.ru](https://trudvsem.ru) | API + Web | Госпортал Роструда. Открытый API для массового парсинга |
| **Rabota.ru** | [rabota.ru](https://rabota.ru) | Web | Принадлежит Сберу. Крупные компании, финтех |
| **Superjob** | [superjob.ru](https://www.superjob.ru) | Web | Вторая по величине после hh.ru |
| **Geekjob** | [geekjob.ru](https://geekjob.ru) | Web | IT-вакансии с указанием вилок |
| **Буду** | [budu.jobs](https://budu.jobs) | Web | IT-вакансии, бывший Хантфлоу |

**Telegram-каналы** (мониторинг вручную): @devjobs, @frontendjob, @gophersjob, @phpjobsru, @remote_it

### Особенности российского рынка в оценке

- **Зарплата**: gross (до НДФЛ 13%) vs net (на руки) — система учитывает разницу
- **Оформление**: ТК РФ, ГПХ, самозанятость — влияет на оценку стабильности
- **Бенефиты**: ДМС, ДМС стомат., компенсация питания/спорта/обучения
- **Испытательный срок**: до 3 мес. (6 мес. для руководителей по ТК РФ)
- **Отпуск**: 28 календарных дней минимум по ТК + доп. дни

## Настройка порталов

Сканер работает с `portals.yml`. Скопируйте шаблон и добавьте нужные компании и российские площадки:

**AI Labs:** Anthropic, OpenAI, Mistral, Cohere, LangChain, Pinecone
**Voice AI:** ElevenLabs, PolyAI, Parloa, Hume AI, Deepgram
**AI Platforms:** Retool, Airtable, Vercel, Temporal, Glean
**Automation:** n8n, Zapier, Make.com

**🇷🇺 Россия:** Добавьте вручную в `portals.yml`: hh.ru, Хабр Карьера, trudvsem.ru, rabota.ru, Superjob, Geekjob — используйте структуру `templates/portals.example.yml` как образец формата (готовых RU-записей в шаблоне нет).

**Джоб-борды:** Ashby, Greenhouse, Lever, Wellfound, Workable (поддерживаются через WebSearch/WebFetch)

## Dashboard TUI

Встроенный терминальный дашборд для визуального просмотра пайплайна:

```bash
cd dashboard
go build -o career-dashboard .
./career-dashboard --path ..
```

Возможности: 6 табов фильтрации, 4 режима сортировки, группированный/плоский вид, ленивая подгрузка превью, смена статусов inline.

## Структура проекта

```
career-ops/
├── CLAUDE.md                    # Инструкции для агента
├── cv.md                        # Ваше CV (создайте)
├── config/
│   └── profile.example.yml      # Шаблон профиля
├── modes/                       # 14 режимов навыков
│   ├── _shared.md               # Общий контекст
│   ├── oferta.md                # Оценка вакансии
│   ├── pdf.md                   # Генерация PDF
│   ├── scan.md                  # Сканер порталов
│   ├── batch.md                 # Пакетная обработка
│   ├── ru/                      # 🇷🇺 Русские режимы (6 файлов)
│   └── ...
├── templates/
│   ├── cv-template.html         # ATS-шаблон резюме
│   ├── portals.example.yml      # Конфигурация сканера
│   └── states.yml               # Канонические статусы
├── batch/                       # Пакетная обработка
├── dashboard/                   # Go TUI
├── data/                        # Данные трекинга (gitignored)
├── reports/                     # Отчёты оценки (gitignored)
├── output/                      # Сгенерированные PDF (gitignored)
├── fonts/                       # Space Grotesk + DM Sans
├── docs/                        # Документация
└── examples/                    # Примеры CV, отчётов
```

## Технологии

- **Агент**: Claude Code с кастомными навыками и режимами
- **PDF**: Playwright + HTML-шаблон
- **Сканер**: Playwright + Greenhouse API + WebSearch
- **Dashboard**: Go + Bubble Tea + Lipgloss (тема Catppuccin Mocha)
- **Данные**: Markdown-таблицы + YAML-конфиг + TSV-файлы батчей

## Дисклеймер

**career-ops — локальный open-source инструмент, НЕ хостинг-сервис.** Используя это ПО, вы подтверждаете:

1. **Вы контролируете свои данные.** CV, контакты и персональные данные остаются на вашей машине и отправляются напрямую выбранному AI-провайдеру (Anthropic, OpenAI и др.). Мы не собираем и не храним ваши данные.
2. **Вы контролируете ИИ.** Промты по умолчанию запрещают ИИ автоматически отправлять отклики, но модели могут вести себя непредсказуемо. Модификация промтов — на ваш риск. **Всегда проверяйте сгенерированный контент перед отправкой.**
3. **Соблюдайте ToS площадок.** Используйте инструмент в соответствии с правилами порталов (hh.ru, Хабр Карьера, LinkedIn и др.). Не спамьте работодателей.
4. **Нет гарантий.** Оценки — рекомендации, не истина. ИИ может галлюцинировать. Авторы не несут ответственности за результаты трудоустройства.

Подробнее: [LEGAL_DISCLAIMER.md](LEGAL_DISCLAIMER.md). ПО распространяется по [лицензии MIT](LICENSE) «как есть», без каких-либо гарантий.

## Лицензия

MIT
