Draft (чернетка) - стан pull request, який означає «ще не готово до рев'ю». Чернетку видно команді, на неї працює CI, її можна коментувати, але:
- влити її не можна, доки автор не позначить її готовою (Ready for review);
- власників коду (CODEOWNERS) не запитують на рев'ю автоматично - запит надходить, коли PR стає готовим.
gh pr create --draft --title "Експорт вакансій у CSV"
gh pr ready 412 # позначити готовим до рев'ю
Коли відкривати draft:
- ранній відгук щодо підходу: «я збираюся зробити так - чи це правильний напрямок?» до того, як написано тисячу рядків;
- прогнати CI на реальному середовищі, поки робота триває;
- показати прогрес і позначити, що задача в роботі, - інші бачать гілку й не дублюють роботу;
- обговорити дизайн на конкретному коді, а не абстрактно.
Етикет:
- в описі чернетки варто написати, що саме хочете отримати: «подивіться лише на структуру сервісу, тести ще не готові»;
- не просити повного рев'ю чернетки - рев'юер витратить час на код, який ще зміниться;
- перед переведенням у Ready - самостійно переглянути диф, прибрати налагоджувальний код, оновити опис, переконатися, що CI зелений.
Альтернатива у старих процесах - префікс WIP: у заголовку. Draft кращий: це стан, який платформа розуміє й поважає (блокує злиття, не тривожить рев'юерів), а не домовленість, яку легко пропустити.