Як побудовано цей сайт і лабораторію
Це перший допис. EvoCASLab (Evolving Comprehensive Analysis and Synthesis Lab, також Synergy Garden) — проєкт, що збирає, поєднує та надає знання, а цей допис про його технічну сторону: як працюють сайт і програмне забезпечення за ним на момент написання, зокрема те, що ще заплановано.
Ідея
Через ІТ ми взаємодіємо зі знаннями, тому налаштування зроблено настільки малим, наскільки це можливо. Правило просте: тримати все невеликим, записувати правила й доручати їх виконання перевіркам, а не пам’яті.
Цей сайт
- Статичний. Сайт — це прості файли, зібрані з Markdown і кількох шаблонів за допомогою Astro (відкривається в новій вкладці). На публічному сайті немає сервера, бази даних чи входу, тож ламати й атакувати майже нічого.
- Розміщений на статичному хостингу Cloudflare, а не на власних серверах лабораторії, тому він працює, навіть коли вони вимкнені. DNS домену теж на Cloudflare.
- Світла й темна теми відповідають налаштуванню браузера.
- Картки проєктів беруться з даних. Сторінка проєктів будується з невеликого JSON-файлу, експортованого з реєстру репозиторіїв лабораторії. Експортуються лише репозиторії, явно позначені публічними, а перевірка зупиняє збірку, якщо в файлі з’явиться щось інше або щось схоже на приватне.
- Поки що розгортання ручне. Одна команда збирає сайт, друга завантажує його інструментом Cloudflare
wrangler. Перше розгортання та власний домен ще треба налаштувати вручну.
Лабораторія
- Один головний репозиторій зберігає записані правила («практики»), беклог і список інших репозиторіїв. Кожен репозиторій має коротку обов’язкову версію правил, що його стосуються, і посилання на обґрунтування.
- Одна команда вирішує, що «готово». У кожному репозиторії є перевірка
just q-check, яка запускає форматувальники, лінтери, пошук секретів і тести. Зміна не завершена, доки вона не пройде. - Залежності чекають тиждень. Нові випуски пакетів не встановлюються, доки їм не виповниться близько семи днів, що відсікає більшість шкідливих випусків; lock-файли зберігаються в репозиторії.
- Інфраструктура як код. Хмарні ресурси мають описуватися в OpenTofu і перевірятися, як будь-яка інша зміна; DNS-записи домену згодом перенесуть туди.
- Робота йде в гілках і робочих деревах, часто з ШІ-агентами для коду, і кожна зміна потрапляє в основну гілку лише після зеленої перевірки.
Що далі
Більше дописів, зокрема розбори окремих практик із головного репозиторію, і справжня сторінка портфоліо.