Как устроены этот сайт и лаборатория
Это первая запись. EvoCASLab (Evolving Comprehensive Analysis and Synthesis Lab, также Synergy Garden) — проект, который собирает, объединяет и предоставляет знания, а эта запись о его технической стороне: как работают сайт и программное обеспечение за ним на момент написания, включая то, что ещё запланировано.
Идея
Со знаниями мы взаимодействуем через IT, поэтому настройка сделана настолько маленькой, насколько позволяет проект. Правило простое: держать всё небольшим, записывать правила и поручать их соблюдение проверкам, а не памяти.
Этот сайт
- Статичный. Сайт — это простые файлы, собранные из Markdown и нескольких шаблонов с помощью Astro (откроется в новой вкладке). На публичном сайте нет сервера, базы данных и входа, так что ломать и атаковать почти нечего.
- Размещён на статическом хостинге Cloudflare, а не на собственных серверах лаборатории, поэтому он работает, даже когда они выключены. DNS домена тоже на Cloudflare.
- Светлая и тёмная темы следуют настройке браузера.
- Карточки проектов берутся из данных. Страница проектов строится из небольшого JSON-файла, экспортированного из реестра репозиториев лаборатории. Экспортируются только репозитории, явно отмеченные публичными, а проверка останавливает сборку, если в файле появится что-то другое или что-то, похожее на приватное.
- Пока развёртывание ручное. Одна команда собирает сайт, вторая загружает его инструментом Cloudflare
wrangler. Первое развёртывание и собственный домен ещё нужно настроить вручную.
Лаборатория
- Один главный репозиторий хранит записанные правила («практики»), бэклог и список остальных репозиториев. В каждом репозитории есть краткая обязательная версия правил, которые к нему относятся, и ссылки на обоснование.
- Одна команда решает, что «готово». В каждом репозитории есть проверка
just q-check, которая запускает форматтеры, линтеры, поиск секретов и тесты. Изменение не закончено, пока она не пройдена. - Зависимости ждут неделю. Новые релизы пакетов не устанавливаются, пока им не исполнится около семи дней, что отсекает большинство вредоносных релизов; lock-файлы хранятся в репозитории.
- Инфраструктура как код. Облачные ресурсы должны описываться в OpenTofu и проверяться, как любое другое изменение; DNS-записи домена со временем переедут туда.
- Работа идёт в ветках и рабочих деревьях, часто с ИИ-агентами для кода, и каждое изменение попадает в основную ветку только после зелёной проверки.
Что дальше
Больше записей, включая разборы отдельных практик из главного репозитория, и настоящая страница портфолио.