Перейти до вмісту

Написала 578 цілей автоматизації go‑task, що охоплюють нативний, Docker- та HTTPS‑режими розробки, лінтинг, тестування, базу даних та розгортання.

578 цілей автоматизації покривають кожен спосіб запуску

Ситуація. Кодова база — це багатомовний монорепозиторій: Go, TypeScript, SQL, Python, shell, — і кожна з цих мов приносить власний спосіб збирати, тестувати, перевіряти лінтерами й запускати. Якщо пустити це на самоплив, кожному доводиться тримати в голові шпаргалку з командами окремих інструментів, а новачки витрачають перший день лише на те, щоб зрозуміти, як усе запустити.

Завдання. Дати всьому проєкту одні вхідні двері: єдиний узгоджений спосіб запускати що завгодно, хоч би якою мовою це було написано.

Дія. Це побудовано на go‑task — шарі Taskfile, що розрісся до 578 іменованих цілей: 50 у кореневому файлі та 528 у вкладених файлах із власними просторами імен. Тут є режими розробки (нативний, Docker, HTTPS‑варіант для тестування PWA й мобільних пристроїв), завдання для якості коду (lint, format, test, fix для всіх мов), керування базою даних і завдання збирання й розгортання для кожного середовища. Є навіть режим економії пам’яті для машин, яким бракує RAM, щоб зібрати фронтенд звичайним способом. Мета полягала не в тому, щоб мати багато завдань, а в тому, щоб нікому ніколи не доводилося знати, яка команда стоїть за завданням.

Результат. Будь‑хто може виконати task –list і побачити весь інструментарій як на долоні, а будь‑яку його частину запустити однаково, хоч би що було під капотом. Онбординг став коротшим, а дрібні дурні помилки — не той прапорець, не та директорія, напівзабута команда — здебільшого зникли. Водночас це число — попередження: 578 цілей — більше, ніж будь‑хто здатен утримати в голові, тож користуватися ними дає змогу саме продумане іменування та простори імен, а сама кількість — не привід для гордощів.

Одна частина довшого переліку — і він увесь на цьому сайті.

Кожен запис написано однаково: ситуація, завдання, що ми зробили і що змінилося.

Переглянути весь перелік