Files
vtube/CLAUDE.md
goboss a9db23dfa4 initial: tubev infrastructure docs
- CLAUDE.md lean entry-point + index
- BOT_WORKFLOW.md dispatch rules + no-make-work + recommendations cadence
- SITES.md 14 ports inventory
- SYNC_WORKFLOW.md 2 sync paradigms
- MODULES.md module map + DEL_/test/obfuscated flags
- REFACTOR_RULES.md REFACTOR vs CLEANUP vs BUG vs FEATURE
- RECOMMENDATIONS.md initial backlog from gocc1+2+3+4 audits 2026-04-30
- docs/roles/ 4 bot roles
2026-04-30 14:18:23 +00:00

87 lines
5.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# tubev
Multi-site adult tube infrastructure — **frontend-only** scope (templates / CSS / JS). Backend (OpenResty + Lua) — у розробника, не в нашому доступі.
## Сайти
14 портів у `/home/w4/backup_<port>/`. Повна таблиця: **[docs/SITES.md](docs/SITES.md)**.
## Stack
- Templates: **etlua** (Lua templating, OpenResty environment)
- CSS: критичний inline `views/css/css_*.etlua` + deferred `static/css/`
- JS: `static/js/{c2, auth, comment, profile_index, main, ...}.{js,min.js}`
- Video player: `static/videojs-v10/`
## Workflow (де що правити)
1. **Edit:** `~/backup_<port>/views/` (наша зона; кожен порт = окремий git repo)
2. **Sync:** `~/backup_<port>/sync.sh` копіює з prod (`/home/nosfortube/frontend_<port>/`) → backup. Деталі: **[docs/SYNC_WORKFLOW.md](docs/SYNC_WORKFLOW.md)**
3. **Push to prod:** через git remote → developer-side. **goboss НЕ пушить**, тільки локальні коміти у власному worktree
4. **`/home/nosfortube/`** — це prod, читати можна, **писати — НІКОЛИ**
## Команди
```bash
~/start-devs.sh boss # старт goboss
~/start-devs.sh gocc # старт gocc1-4
~/bin/trigger-bots [gocc{N}] # тригер нової task
~/bin/restart-bots [gocc{N}] # повний reset (kill+start+wait+trigger)
~/bin/clear-bots [gocc{N}] # /clear context (topic switch)
git pull --rebase # ЗАВЖДИ перед роботою у backup_<port>/
```
## Команда (ролі ботів)
| Бот | Tool access | Domain |
|-----|-------------|--------|
| **goboss** | All | Planner + dispatch (не push до prod, тільки local commits) |
| **gocc1** | Read-only | Code audit + regression |
| **gocc2** | Read-only | Test gap + endpoint smoke |
| **gocc3** | Edit/Write/commit (no push) | Frontend writer (templates/CSS/UI) |
| **gocc4** | Edit/Write/commit (no push) | Architect/refactor (services/lib/scripts) |
**2 read-only + 2 writer** — read-only safety net, писателі паралельно.
Деталі: **[docs/roles/](docs/roles/)** | Workflow rules: **[docs/BOT_WORKFLOW.md](docs/BOT_WORKFLOW.md)**
## Правила (КРИТИЧНІ)
### No make-work
**НЕ давати ботам задачі з пустого в порожнє.** Кожен dispatch має конкретну причину: новий audit area, conkretne виявлений bug, follow-up з reportу. Якщо нема такої причини — bot пише `[bot] Чекаю.` і чекає. Cross-audit / regression test / research **тільки коли є concrete trigger**.
### No-touch zones
- `/home/nosfortube/` — production source, READ ONLY
- `/etc/nginx/`, `/var/www/` — server configs, поза scope
- Backend Lua код розробника — нема доступу
### Refactor vs Cleanup vs Bug-fix vs Feature
Чітко розрізняти. Деталі: **[docs/REFACTOR_RULES.md](docs/REFACTOR_RULES.md)**.
### Recommendations not plans
Виявлені refactor/security/cleanup candidates → **[docs/RECOMMENDATIONS.md](docs/RECOMMENDATIONS.md)** як **рекомендації**, не план. Робимо ТІЛЬКИ коли розробник скаже. goboss періодично нагадує про unprocessed items.
### No hardcodes у нових патчах
Перш ніж писати літерал (URL, домен, GA ID, magic number) — `grep` чи вже є у `views/config/` чи аналогічному місці. Існує — import/include. Нема — додай як параметр у `views/config/site.lua` (якщо буде створено) і потім use.
## Doc Index
| Файл | Призначення |
|------|-------------|
| **[docs/SITES.md](docs/SITES.md)** | Таблиця 14 портів × домен × cluster × outlier flags |
| **[docs/SYNC_WORKFLOW.md](docs/SYNC_WORKFLOW.md)** | Як sync.sh працює, 2 парадигми, як додати порт |
| **[docs/MODULES.md](docs/MODULES.md)** | Карта `views/modules/*.etlua` × presence × DEL_/test/deprecated flags |
| **[docs/REFACTOR_RULES.md](docs/REFACTOR_RULES.md)** | Що таке REFACTOR vs CLEANUP vs BUG vs FEATURE |
| **[docs/RECOMMENDATIONS.md](docs/RECOMMENDATIONS.md)** | Backlog refactor/cleanup/security candidates як рекомендації |
| **[docs/BOT_WORKFLOW.md](docs/BOT_WORKFLOW.md)** | Bot dispatch + reporting + escalation rules |
| **[docs/roles/](docs/roles/)** | Ролі gocc1-4 |
Файли наповнюємо/оновлюємо по мірі знахідок. CLAUDE.md = тонкий entry-point + index.
## Communication
- Українською, коротко, по суті
- Боти приймають **ТІЛЬКИ від `goboss:`**
- TIMESTAMP формат: `[bot YYYY-MM-DD HH:MM] Task ID: XXX`
- Task vs Report Task ID порівнюються **рядково**, не по змісту
- Signal через PostToolUse hook автоматично після Write `~/comms/{bot}-report.md`