Этот репозиторий — единственный источник истины о том, что мы строим. Если работа не описана здесь, она не считается принятой. Linear — личный блокнот, если хотите им пользоваться, но Bekhruz его не отслеживает.
- Bekhruz — Project manager. Пишет спецификации и задачи. Ревьюит ваши PR.
- Alex — Middle developer. Реализует функции. Принимает архитектурные решения внутри спецификации.
- Timur — Intern developer. Реализует функции под руководством. Тот же workflow, что и у Alex.
Всё, что мы строим, относится к одной из трёх стадий маркетинговой воронки:
| Папка | Стадия | Что здесь живёт |
|---|---|---|
Funnel/1-School-site/ |
Верх воронки | Маркетинговый сайт, SEO, Core Web Vitals |
Funnel/2-CRM/ |
Середина воронки | IP-телефония + amoCRM + работа с лидами |
Funnel/3-Parent-App/ |
Низ воронки | Родительское приложение — оплата, посещаемость, питание, проходные и т.д. Дедлайн: 15 августа 2026. |
Внутри каждой стадии:
_Hub.md— обзор. Читай это первым.Specs/— спецификации функций. Что мы строим и зачем.Tasks/— конкретные единицы работы. То, что ТЫ берёшь в работу.Decisions/— архитектурные решения, фиксируются по мере принятия.Architecture/(только Parent App) — решения по авторизации, модели данных, API.
- Открой
_Hub.mdсвоей стадии (например,Funnel/3-Parent-App/_Hub.md) — увидишь текущее состояние. - Открой
Tasks/той же стадии. Найди файл со своим именем в полеassignee:. - Прочитай задачу. Прочитай связанную спецификацию. Прочитай все связанные решения.
- Если что-то непонятно — спроси Bekhruz до того, как начнёшь писать код. Сэкономишь время — себе и команде.
Мы используем PR-per-task. И код, и обновления PM проходят через pull request'ы. Главная идея: раздел «Завершение» в файле задачи генерируется автоматически из git-истории, не пишется руками. Это значит — меньше работы для тебя, и формат всегда одинаковый.
- Открой свой файл задачи в PM-репозитории (например,
Funnel/3-Parent-App/Tasks/T-001-flutter-scaffolding-auth.md). - В коде создай бранч:
task/T-NNN-короткое-описание(например,task/T-001-flutter-auth). - Сделай первый коммит на этом бранче — даже если это просто пустой init. Скопируй его SHA (
git rev-parse HEAD). - В файле задачи в PM открой frontmatter и заполни:
commit_initial: <SHA первого коммита>code_repo: <ссылка на репозиторий кода и бранч>status: in_progress
- Прокоммить эту правку в PM-репозиторий сразу (мини-PR на 2 строки). Так Bekhruz видит, что ты в работе.
- Каждый коммит в коде префиксируй ID задачи:
T-001: scaffold flutter project,T-001: implement OTP screen. Если коммит относится к нескольким задачам — перечисли все:T-001 T-005: shared utility. - Коммить часто. Маленькие коммиты с понятными сообщениями лучше, чем «big bang» в конце.
- Сделай последний коммит. Запиши его SHA.
- Открой Code PR в репозитории кода. В описании PR:
Closes: PM/Funnel/3-Parent-App/Tasks/T-NNN-*.md- Ссылка на staging deploy, если есть
- Всё, что должен знать ревьюер
- Сгенерируй раздел «Завершение» через AI. Открой Claude (или ChatGPT) и используй промпт из
_Skills/complete-task.md. На вход: ID задачи,commit_initial,commit_final, и git log за этот диапазон. На выходе: готовый текст для раздела «Завершение». Прочитай его, поправь если AI что-то упустил, и копируй в файл задачи. - Открой PM PR против этого репозитория. PR делает три вещи:
- Меняет
status: in_progress→status: doneв frontmatter - Заполняет
commit_final: <SHA последнего коммита> - Вставляет сгенерированный AI раздел «Завершение»
- Меняет
- Bekhruz ревьюит оба PR. Мержит, когда всё устраивает.
- Меньше письменной работы для тебя — AI делает черновик завершения, ты только редактируешь
- Стандартный формат завершений — Bekhruz и следующий разработчик всегда знают, что искать
- Связь между кодом и PM очевидна — есть SHA коммитов, есть префиксы в сообщениях, есть ссылка на репозиторий
- Аудит автоматический —
git logвсегда покажет, что было сделано по конкретной задаче
Не паника. AI может восстановить историю через git log --grep="T-NNN" — поэтому префикс в сообщениях коммитов важен. Зафиксируй последний доступный SHA и поправь commit_initial если нужно.
Каждую пятницу перед уходом напиши файл в Status/ по шаблону _Templates/Status.md. Назови его YYYY-WW-<имя>.md (например, 2026-W21-alex.md).
5 минут. Честно. Самая трудная для написания строка — самая важная.
- По спецификации или задаче: Прокомментируй файл в PR или напиши Bekhruz напрямую. Не откладывай.
- По архитектуре: Сначала посмотри в
Decisions/— возможно, уже решено. Если нет — открой Decision PR с предложением своего варианта. - По приоритету или scope: Это решает Bekhruz. Спрашивай его.
PM/
├── README.md ← Ты здесь
├── CLAUDE.md ← Постоянный контекст для Claude (можно игнорировать, если не пользуешься Claude)
├── _Templates/ ← Копируй эти шаблоны при создании новых spec/task/decision
├── _Skills/ ← Claude-скиллы (внутренний инструментарий PM)
├── _Archive/ ← Старые файлы (не трогай)
├── Funnel/
│ ├── _Hub.md ← Обзор воронки
│ ├── 1-School-site/
│ ├── 2-CRM/
│ └── 3-Parent-App/
├── Sprints/ ← 2-недельные планы спринтов
└── Status/ ← Еженедельные статусы
- Один PR = одна задача. Не объединяй. Ревью быстрее, откат безопаснее.
- В этом репозитории нет кода. Здесь — планы, спецификации, решения. Код живёт в репозитории кода.
- Никаких вопросов в голове. Если сомневаешься — спрашивай. Сделать не то стоит дороже, чем спросить.
- Статус каждую пятницу. Без исключений. Пропуск двух пятниц подряд = сигнал, что система сломалась.
- UI на русском. Большинство родителей говорят по-русски. Латинские названия программ (Futurum, Hereditum, Initium) НИКОГДА не появляются в строках UI.
- Не редактируй
.git/. Никогда.
Порядок эскалации:
- Перечитай спецификацию и файл задачи. Большинство ответов там.
- Поищи тему в
Decisions/. - Напиши Bekhruz. Прямо. Не жди до завтра.
Этот репозиторий живёт по адресу ~/Desktop/Career-Vault/PM на машине Bekhruz. Клонируется через GitHub. Если что-то здесь неясно — это дефект, скажи об этом.