# Установщик рабочего места Алёны (инструкция для Claude)

Ты выполняешь установку на маке Алёны — ученицы Майи (@maysoulme). Пакет скачивается архивом с лендинга: https://maiyamaiya19999-bit.github.io/alena-guide/downloads/alena-full-package.zip — никакого доступа к чужим репозиториям не нужно. Пройди пункты по порядку, в конце дай отчёт по каждому. Если какой-то пункт не удался — не молчи и не пропускай: скажи, что именно не вышло, и предложи решение. Ничего не выдумывай: токены, ники, названия каналов — только из ответов Алёны.

Ниже `$P` = `~/alena-setup` (папка, куда распаковывается пакет).

## 1. Инструменты

Проверь и при необходимости установи (через Homebrew, если он есть; если нет — предложи установить Homebrew или скачать программу с официального сайта):
- `git` — `git --version`
- `gh` (GitHub CLI) — `gh --version`, затем `gh auth status`. Если входа нет — `gh auth login --web` и дождись, пока Алёна подтвердит вход в браузере. Для скачивания пакета вход не нужен, но нужен для её собственных репозиториев (tg-assistant, публикация гайдов).
- `python3` — `python3 --version` (нужен 3.9+). На маке обычно есть; если нет — `xcode-select --install` или Homebrew.
- Google Chrome — для рендера каруселей в PNG и презентаций в PDF. Проверь: `ls "/Applications/Google Chrome.app"`. Если нет — попроси Алёну установить Chrome с google.com/chrome (сам не скачивай), затем продолжай. Путь к бинарнику для headless-рендера: `/Applications/Google Chrome.app/Contents/MacOS/Google Chrome`.

## 2. Скачивание пакета

```
curl -fL -o /tmp/alena-full-package.zip https://maiyamaiya19999-bit.github.io/alena-guide/downloads/alena-full-package.zip
mkdir -p ~/alena-setup && ditto -xk /tmp/alena-full-package.zip ~/alena-setup && rm /tmp/alena-full-package.zip
```

Если папка `~/alena-setup` уже существует — это обновление: распакуй поверх (ditto перезапишет файлы пакета, личные файлы Алёны не тронет), но сначала выполни оговорку про PROFILE.md из раздела 10. Если curl вернул ошибку — проверь интернет и попробуй ещё раз; ссылку не менять и не гуглить замену.

## 3. Скиллы

Скопируй **все** `*.md` из `$P/skills/` в `~/.claude/commands/` (создай папку, если нет; существующие файлы с теми же именами — перезаписать):

```
mkdir -p ~/.claude/commands && cp "$HOME/alena-setup/skills/"*.md ~/.claude/commands/
```

Ожидаемый набор (список может быть шире — копируй всё, что лежит в папке):
- guide.md — гайд-лендинг / статья в её фирменном стиле
- presentation.md — презентация к видеоуроку (60/40, место под видео)
- presentation-full.md — полноэкранная презентация + экспорт в PDF
- carousel.md — карусель для Instagram 1080×1350 (PNG)
- tg.md — режим ИИ-продюсера Telegram-канала (подтягивает посты из `~/tg-assistant`)
- tg-posts.md — длинные полезные тексты для Telegram
- stories.md — серия сторис по прямой команде Алёны
- voice-edit.md — редактор текста в голосе Алёны
- reels-expert.md — сценарии экспертных / объясняющих reels
- reels-story.md — сценарии reels с личной историей
- lead-magnet.md — лид-магнит (видеоурок)
- tg-funnel.md — воронка в Telegram (бот: видеоурок → «Отпусти тело»)
- progrev.md — прогрев к продукту
- ca-tripwire.md — анализ ЦА и трипваер
- selling-lesson.md — продающий урок
- parser.md — установка и работа с парсером reels

Если какого-то файла из списка нет в `$P/skills/` — не выдумывай его и не создавай пустышку, просто отметь в отчёте «не входит в текущую версию пакета».

## 4. Бренд-файлы

```
mkdir -p ~/.claude/brand
cp "$HOME/alena-setup/brand/PROFILE.md" "$HOME/alena-setup/brand/TOV-SAMPLES.md" "$HOME/alena-setup/brand/style-guide.md" ~/.claude/brand/
```

- `PROFILE.md` — распаковка Алёны (кто она, метод, история, ЦА, голос, границы, продукты). Главный файл: каждый скилл читает его первым.
- `TOV-SAMPLES.md` — её живые тексты, эталон голоса.
- `style-guide.md` — пудрово-розовая палитра «царевны» и правила оформления.

Если `~/.claude/brand/PROFILE.md` уже существует и отличается от версии в пакете (`diff -q`) — **не перезаписывай молча**: спроси Алёну, редактировала ли она файл; если да — оставь её версию, если нет — обнови.

## 5. Папка ТГ-ассистента

Ставится в **домашнюю папку** `~/tg-assistant`, не на Desktop (TCC macOS блокирует launchd на Рабочем столе).

Если `~/tg-assistant` **нет**:
```
cp -R "$HOME/alena-setup/tg-assistant-template" ~/tg-assistant
```

Если папка **уже есть** — не затирай её данные. Обновляй только скрипты и документы:
```
cd "$HOME/alena-setup/tg-assistant-template"
cp *.py *.sh config.example.json ~/tg-assistant/
[ -f .claude/settings.json ] && mkdir -p ~/tg-assistant/.claude && cp .claude/settings.json ~/tg-assistant/.claude/
[ -f ~/tg-assistant/watchlist.json ] || cp watchlist.json ~/tg-assistant/
for f in *.md; do [ -f "$f" ] && cp "$f" ~/tg-assistant/; done
```
Никогда не трогай `~/tg-assistant/posts/`, `~/tg-assistant/drafts/`, `~/tg-assistant/plan/`, `~/tg-assistant/competitors/`, `config.json`, `state.json`.

**config.json.** Файл `~/tg-assistant/config.json` нужен для `sync_channel.py` (через бота) и `scrape_history.py` (публичная страница канала). Если его нет — создай из шаблона и заполни **только тем, что дала Алёна**:
1. Спроси одним сообщением: «Дай, пожалуйста, две вещи: токен твоего бота от @BotFather (бот должен быть добавлен администратором в канал) и юзернейм канала без @».
2. Если ответила — `cp ~/tg-assistant/config.example.json ~/tg-assistant/config.json` и подставь значения.
3. Если бота ещё нет или отвечать сейчас не хочет — оставь `config.json` несозданным, отметь в отчёте «предупреждение: config.json не заполнен» и объясни, что `scrape_history.py --channel имя_канала` работает и без него для публичного канала.
Не вставляй значения-заглушки из `config.example.json` в `config.json` и ничего не придумывай.

Автосинхронизацию (`setup_autosync.sh`, launchd-метка `com.alena.tgsync`) на этапе установки **не включай** — только скажи, что она есть и включается командой `bash ~/tg-assistant/setup_autosync.sh` после того, как заполнен `config.json`. Если скрипта в этой версии пакета нет — отметь это в отчёте и не изобретай замену.

## 6. Контент и парсер (без установки)

- `$P/content/` — готовые материалы Алёны (упаковка профиля, план созвонов и другое). Никуда не копируется, живёт в `~/alena-setup/content/`. Скажи Алёне этот путь.
- `$P/parser/` — гайд по установке парсера reels-monitor под её аккаунт. **Автоматически не устанавливай.** Только сообщи: «Парсер ставится отдельно, инструкция — `~/alena-setup/parser/`». Если папки нет или она пуста — так и скажи: «в этой версии пакета парсер ещё не добавлен».

## 7. Глобальные правила пользователя

Создай (или дополни, **не затирая существующее**) файл `~/.claude/CLAUDE.md`. Перед дописыванием проверь `grep -q "Я — Алёна" ~/.claude/CLAUDE.md` — если блок уже есть, не дублируй. Блок:

```
# Обо мне
Я — Алёна (Царевна). Язык общения — русский, на «ты». Не переспрашивай лишний раз — делай.

# Мой профиль и голос
Перед любым контентом читай ~/.claude/brand/PROFILE.md и ~/.claude/brand/TOV-SAMPLES.md.

# Фирменный стиль
~/.claude/brand/style-guide.md — пудрово-розовая палитра «царевны» (акцент #9C5F6A), Libre Baskerville + Inter, квадратные углы; на тёмном фоне акцент только #E3C2C9, бордовый и #9C5F6A на тёмном не использовать.

# Правила
Слова «Claude» и «reels» — всегда латиницей. Закрытые темы из раздела «Границы» в PROFILE.md публично не раскрываются — сверяться до темы, хука и сценария. Я не тренер: никаких упражнений, осанки и «делать телом» — всё человек получает лёжа и слушая. Материалы Майи (@maysoulme) не выкладывать в открытый доступ.
```

## 8. Проверки (выполни реально, командами, не на словах)

1. `ls ~/.claude/commands/*.md` — выведи список; сверь с пунктом 3, отметь, каких файлов нет.
2. `ls -la ~/.claude/brand/` — на месте `PROFILE.md`, `TOV-SAMPLES.md`, `style-guide.md`.
3. `python3 -m py_compile ~/tg-assistant/*.py` — все скрипты компилируются без ошибок.
4. `test -f ~/tg-assistant/config.json && echo OK || echo "НЕТ config.json"` — если нет, это предупреждение, а не ошибка (см. пункт 5).
5. Рендер через headless Chrome: создай в `/tmp` файл `test.html` с любым текстом и выполни
   ```
   "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --headless=new --disable-gpu --hide-scrollbars --window-size=1080,1350 --screenshot=/tmp/test.png /tmp/test.html
   ```
   Проверь, что `/tmp/test.png` появился и не пустой (`ls -la /tmp/test.png`). Тестовые файлы затем удали.
6. `grep -c "Я — Алёна" ~/.claude/CLAUDE.md` — блок правил записан ровно один раз.

## 9. Отчёт

Выведи Алёне таблицу: пункт → статус (готово / предупреждение / ошибка) → комментарий. Отдельными строками: «config.json» и «парсер» (он не ставится — это норма). Если всё готово, скажи, что можно переходить к шагу 4 из README (тест `/reels-expert`), и напомни путь к контенту `~/alena-setup/content/`.

## 10. Обновление пакета

Когда Алёна просит «обнови пакет» / «обнови скиллы»:

1. Скачай свежий архив и распакуй поверх (команды из пункта 2). **Перед распаковкой** сохрани копию профиля: `cp ~/alena-setup/brand/PROFILE.md /tmp/PROFILE-backup.md 2>/dev/null || true`
2. Повтори пункт 3 (скиллы): `cp "$HOME/alena-setup/skills/"*.md ~/.claude/commands/`
3. Повтори пункт 4 для `TOV-SAMPLES.md` и `style-guide.md`. **`PROFILE.md` — не перезаписывай автоматически:** сравни `diff ~/.claude/brand/PROFILE.md ~/alena-setup/brand/PROFILE.md`; если файлы различаются — спроси Алёну, вносила ли она правки в свой профиль. Правки были — оставь её версию и покажи, что изменилось в пакете, чтобы она перенесла нужное; правок не было — обнови.
4. Повтори пункт 5 в режиме «папка уже есть» (только скрипты и документы, данные не трогать).
5. Блок в `~/.claude/CLAUDE.md` повторно не дописывай.
6. Короткий отчёт: что обновилось (по `git log --oneline HEAD@{1}..HEAD` можно показать список изменений).
