Mercury создаёт браузерные страницы с помощью нативного mx, среды Hyperscript и компонентов Mercury UI. Начните с браузерной страницы или используйте нативный mx для разработки на TSX и сборки. Phoenix и BEAM необязательны.
Что такое Mercury
Приложение Mercury использует компоненты Hyperscript и стили Mercury UI. Для локального состояния достаточно хуков; Hypergraph предоставляет хранилища, события и эффекты, когда они нужны приложению. mx — нативный набор инструментов; результат его сборки исполняется как JavaScript в браузере. Phoenix и LiveView подключаются по необходимости через Live Mercury.
Этот сайт документации использует серверную интеграцию: приложение на Elixir формирует каждую страницу в HTML и отдаёт её версию для агентов по тому же адресу с добавленным /llms.txt.
Из чего он состоит
- mx — нативный набор инструментов. Он устанавливает и проверяет пакеты из статических зеркал без npm и Node, запускает сервер приложения командой
mx devи выполняет сборку командойmx build. Начните с проверки готовности установки: там описаны публичные пути получения архива и стартового приложения. - mg — Mercury Go: генераторы для работы над исходниками Mercury. Начните со справки, затем проверьте и обновите каталог примеров. Нужны репозиторий и Go 1.26+.
- Mercury Hyperscript,
@fiberfx/hyperscript— виртуальный DOM с нативной семантикой DOM (class,for, нативные события), хуками, средой выполнения JSX и серверным рендерером. - Mercury UI,
@fiberfx/ui— компоненты дизайн-системы на Hyperscript, оформляемые через токены. - Hypergraph,
@fiberfx/hypergraph— ядро управления состоянием: хранилища (store), события (event), эффекты (effect), связи между ними и изолированные области состояния (scope), создаваемые операцией fork. - Content,
@fiberfx/content— опубликованные страницы, реестр рендереров и каталог блоков для чтения документов Mercury. - Live Mercury — Mix-пакет
live_mercuryс браузерным клиентом@fiberfx/live-mercury: острова Mercury внутри Phoenix LiveView.
Как выглядит код Mercury
Компонент — это функция. В нём используется class, а не className; хуки импортируются из отдельной точки входа.
import { render } from "@fiberfx/hyperscript";
import { useState } from "@fiberfx/hyperscript/hooks";
function Counter() {
const [count, setCount] = useState(0);
return (
<button class="counter" onClick={() => setCount(count + 1)}>
{count}
</button>
);
}
render(<Counter />, document.getElementById("app")!);
mx считает приложением каталог, где index.html лежит рядом с mx.mod. Команда mx dev запускает его сервер на 127.0.0.1 и выводит адрес страницы. Команда mx build --bundle собирает страницу в бандл, а mx build --lib <entry> --out <file> собирает одну точку входа в один файл модуля. Также поддерживается горячая перезагрузка: сохранённый модуль обновляется на месте либо страница перезагружается (MX2). Замена Hypergraph с сохранением состояния через этот механизм пока не поставляется.
С чего начать
-
Существующее приложение или работающий mx: сохраните проект и его способ разработки.
-
Одна браузерная страница без CLI: откройте и измените HTML-пример. Он использует обычный JavaScript и закреплённые импорты с CDN; требуется сеть.
-
Нативная разработка на TSX: проверьте готовность установки, выберите npm или архив с проверкой сумм и перейдите к первой нативной странице. npm устанавливает обёртку на Node и платформенный файл; для вызова mx через обёртку Node должен оставаться доступным.
-
Серверная интеграция: Mercury с Phoenix и LiveView, если приложению нужна эта серверная модель.
Навык Mercury помогает агенту выбрать тот же путь. Счётчик — стартовый пример; конечное содержимое и проверки взаимодействия определяет задача пользователя.
Сборка mx из исходников, указанная в grounded_at, сообщает 0.1.1 и добавляет создание приложения, проверки качества и упаковку. Публичная поставка этой сборки ещё ожидается. Практический урок об инструментах объясняет mx new, lint, fmt, typecheck, quality, два кеша и mx pack --npm.
Первые шаги
- Создайте страницу: Первая страница Mercury. Установите нативный mx и запустите оформленный счётчик Card + Button из публичного архива.
- Посмотрите, чем уже можно пользоваться: Стабильность. Версия и уровень готовности каждого модуля: опубликован (Shipped), предварительная версия (Preview) или запланирован (Planned).
- Передайте документацию своему агенту: Для агентов. Подключите /SKILL.md или добавьте
/llms.txtк адресу урока. - Установите mx: скачайте и проверьте архив для Linux.
- Найдите значение термина: Глоссарий связывает каждый термин с уроком, в котором он объясняется.
- Узнайте причины решений: Философия объясняет браузерную среду, нативную сборку и необязательную серверную интеграцию.
- Выберите курс: mx, mg, Hyperscript, Mercury UI, Hypergraph, Reflect, Content или Live Mercury.
Порядок курсов
Курсы идут в следующем порядке: Start, mx, mg, Hyperscript, Mercury UI, Hypergraph, Reflect, Content, Live Mercury. Вводная страница каждого курса перечисляет его главы. Новый курс Reflect разбирает опубликованную версию 4.1.1 в восьми интерактивных уроках на русском и английском. Перед использованием примеров из других курсов проверьте указанную в них версию.