From a10a0bb790e2dd1a72d4fd94dc9526941ec23605 Mon Sep 17 00:00:00 2001 From: goboss Date: Thu, 30 Apr 2026 21:44:56 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20add=20ONBOARDING.md=20=E2=80=94=20user-?= =?UTF-8?q?facing=20first-launch=20guide?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - What Claude auto-loads (CLAUDE.md, MEMORY.md, global rules) - 7 open questions developer needs to answer (random JS, 8112 GA, test.*, 8081 status, etc.) - Task type examples (A: site change, B: backlog item, C: audit, D: documentation) - External services to potentially configure (Telegram, CF, monitoring) - Common pitfalls (no make-work, no manual tmux kill, no /home/nosfortube/) --- CLAUDE.md | 1 + docs/ONBOARDING.md | 134 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 135 insertions(+) create mode 100644 docs/ONBOARDING.md diff --git a/CLAUDE.md b/CLAUDE.md index 059a32f..aa465d5 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -82,6 +82,7 @@ git pull --rebase # ЗАВЖДИ перед роботою у bac | Файл | Призначення | |------|-------------| +| **[docs/ONBOARDING.md](docs/ONBOARDING.md)** | Для **юзера** — що Claude auto-loads, відкриті питання до developer, як давати команди | | **[docs/INFRASTRUCTURE.md](docs/INFRASTRUCTURE.md)** | Мапа `/home/w4/`: bin, scripts, comms, hooks, sessions, memory + cheatsheet | | **[docs/GIT_WORKFLOW.md](docs/GIT_WORKFLOW.md)** | Repo `vtube`, push process, bot commits → goboss push | | **[docs/SITES.md](docs/SITES.md)** | Таблиця 14 портів × домен × cluster × outlier flags | diff --git a/docs/ONBOARDING.md b/docs/ONBOARDING.md new file mode 100644 index 0000000..afcb96e --- /dev/null +++ b/docs/ONBOARDING.md @@ -0,0 +1,134 @@ +# tubev — User Onboarding (для першого запуску claude/goboss) + +Цей файл — для **юзера**, не для Claude. Список того, що варто знати і що дати при першому/новому запуску, щоб робота йшла продуктивно. + +## Що Claude вже знає auto-load (нічого не треба робити) + +При старті у `~/goboss/` або `~/gocc{N}/tubev/` Claude **автоматично** читає: + +1. **`CLAUDE.md`** (project root) — основні правила, doc index, стек, ролі +2. **`~/.claude/CLAUDE.md`** (global) — Mandatory Protocol P1-P8 (research-before-guess, atomic commits, etc.) +3. **`MEMORY.md`** (project memory index) — feedback / project / reference notes з минулих сесій + +Звідти Claude дізнається: +- Що це tubev — adult tube infrastructure, frontend-only +- 14 сайтів у `~/backup_/`, OpenResty + etlua + Lua +- 4 боти (2 RO + 2 writer) — gocc1-4 +- Repo `git@gdev.hserver.cloud:ovtube/vtube.git`, push policy +- Recommendations backlog (22 items HIGH/MEDIUM/LOW) +- Communication protocol, hooks, scripts + +**Це означає**: при відкритті чистої сесії Claude вже орієнтований у проекті. Не треба пояснювати "що це за проект" чи "де лежать сайти". + +## Що НЕ автоматично, але можна одразу дати (опціонально) + +Якщо хочеш швидкий старт — скажи: +- **"перечитай RECOMMENDATIONS.md"** — щоб Claude нагадав які items OPEN +- **"перевір боти"** — щоб переконатися що sessions живі через `tmux list-sessions` +- **"git status у tubev"** — побачити чи нема локальних змін зайвих + +Або просто скажи що хочеш зробити — Claude сам читатиме relevant docs. + +## Що варто дати при конкретній задачі + +### Тип A — зміна на конкретному сайті +> "Зроби на 8112 footer кольоровим — використай той же стиль що на 8131" + +Достатньо. Claude знайде: +- 8112 у `~/backup_8112/` (з [SITES.md](SITES.md)) +- footer у `views/footer*.etlua` або `layout.etlua` +- 8131 для reference +- Запропонує diff, ти схвалюєш, він пушить + +### Тип B — refactor / cleanup з backlog +> "Зроби C1 з RECOMMENDATIONS.md" (видалити DEL_*) +> або +> "Винеси site_domain у config (M2)" + +Claude знає item by ID, виконає → push → RECOMMENDATIONS.md update (move до DONE footer). + +### Тип C — новий audit / investigation +> "Перевір 8085 submodule drift і запропонуй фікс" + +Claude dispatch'не gocc1 (audit) або зробить сам, відповідно до scope. + +### Тип D — нова інфраструктура / документація +> "Документуй як працюють banners модулі" + +Claude сам прочитає, узагальнить, додасть doc + commit + push. + +## Що мені потрібно від тебе (open questions) + +Це питання які виникли під час discovery audit (gocc1+2+3+4 на 2026-04-30) — я **не можу самостійно вирішити** без твоїх відповідей: + +### High-priority (security-related) + +1. **Random-name JS файли** (`9qFdXQ7.js`, `aOKM9.js`, `f4T4s.js`, `gD0A3.js`, `c24c4cd9.js`, `popa.js`, `mo.js`, `N7Ym4F.js`, `qDap9.js`, `gk5LT.js`, `PxqbeCb.js`, `k3KL5.js`) + - Це ваші adblock-bypass payloads? Старі ad scripts? Невідомі drops? + - На сайтах 8084, 8085, 8102, 8107, 8112, 8126, 8131 + - Поки не знаю — не можу безпечно видалити + +2. **8112 — два GA properties** (`G-CQN2KFSXSG` + `G-WW50B2EGSJ`) у одному gtag + - Який ID правильний? + - Це баг чи навмисно (наприклад, transition між старим і новим Google account)? + +### Medium-priority (operational) + +3. **`test.` зараз DNS-fail** — як ти переглядаєш зміни перед deploy? + - Інший mechanism (port-direct? VPN? feature branch deploy)? + - Чи preview ще не налаштовано? + +4. **8081** (449KB CSS, NL agego, profile pages) — це окремий продукт чи варіант? + - Чи потрібно колись підтягнути до решти 13? + - Чи 8081 завжди буде окремою архітектурою? + +5. **8086 outlier color #8bc215** (зелений серед orange/red) — навмисно? + +6. **Невідомі домени** для 8081, 8129, 8148 — які це? + - 8148 = canonical lab з 288 commits/30d — куди broadcast'ить? + +### Low-priority (clarity) + +7. **Git workflow per-site backup_/** — чи всі 14 йдуть через `git.tubev.sex` (як 8112) чи інакше? + - Зараз тільки 8112 має remote, решта 13 — local-only + +## Як давати команди / preferences + +З memory я знаю: +- **Українською, коротко, по суті** — без enumerated блоків / SQL evidence у чаті / file path lists +- Боти — без make-work задач (idle = ОК) +- Recommendations не виконувати самостійно (тільки коли скажеш "роби") +- Push immediately after commit (default), exceptions для refactor batches + +Якщо хочеш змінити preference — скажи, я збережу у memory. + +## Telegram / Slack / інші канали? + +Поки не налаштовано. `~/.claude/hooks/telegram-notify.sh` існує (Stop hook → TG ping), але я не знаю до якого боту/каналу він говорить. Якщо хочеш notifications — дай: +- Bot token +- Chat ID +- Що саме нотіфікувати (push? reports? alerts?) + +## Інші зовнішні сервіси, до яких треба access? + +- **Cloudflare** (для cache purge після прод-deploy)? +- **Monitoring** (Grafana / Sentry / inny)? +- **CI/CD pipeline** для прод-deploy? +- **Domain registrar / DNS API** (якщо треба test.* підняти)? + +Якщо так — скажи деталі, я налаштую. + +## Що НЕ робити при старті + +- ❌ Не давай `tmux kill-session` руками — використовуй `~/bin/restart-bots` +- ❌ Не давай Claude make-work ("просто перевір ще раз" без конкретного тригера) +- ❌ Не пиши задачі прямо в `~/comms/-task.md` — нехай goboss формулює (інакше bot не побачить унікальний Task ID) +- ❌ Не торкай `/home/nosfortube/` — production, hooks блокують + +## Все ще питання? + +Просто запитай у чаті. Я знаю що де лежить — або з docs, або з memory, або grepну і додам у [INFRASTRUCTURE.md](INFRASTRUCTURE.md) щоб наступного разу не шукати. + +--- + +*Created: 2026-04-30. Update коли з'являються нові onboarding pain points.*