$mol працює в будь-якому редакторі, але невеликий набір інструментів робить .view.tree і типізовані стилі значно зручнішими: генератор проєктів, мовний сервер, інтеграції з редакторами Zed і VS Code та скіл, який навчає LLM-асистентів фреймворку.
create-view-tree-lsp створює готовий до запуску модуль $mol, щоб ви не збирали шаблонний код вручну:1npxcreate-view-tree-lspbog/myappЗапускати з кореня своєї копії MAM: шляхи модулів відлічуються звідти, там само проєкту й жити. Поза воркспейсом команда попередить, а не залишить з'ясовувати це на першій збірці.Аргумент — шлях модуля (namespace/name або еквівалентне bog_myapp). Він записує view.tree, view.ts, view.css.ts та index.html для працюючого застосунку, плюс GitHub Actions для його розгортання.Усе, що генератор уміє покласти, кладеться за замовчуванням. Ви називаєте лише те, чого не хочете:1npxcreate-view-tree-lspbog/myapp--no-tauri--no-backend--no-baza — local-first сховище Гіпер База--no-docker — налаштування Docker з docker-compose.yml і конфігом nginx--no-tauri — десктопна оболонка Tauri--no-backend — REST-бекенд $mol_server зі сховищем node:sqlite і спільним типом елемента на TypeScript--no-prerender, --no-seo — видимість для пошуковиків, описана нижче в розділі Неперервна інтеграціяНезнайомий прапорець обриває запуск, тож одрук не залишить у проєкті зайвого мовчки.Генератор — це тонка обгортка над CLI мовного сервера, тож npxview-tree-lspcreatebog/myapp робить те саме безпосередньо.
Переклади лежать поруч зі своїм модулем, у <модуль>/<імʼя>.locale=<lang>.json. Кодові так зручно, перекладачеві — ні: замість одного списку фраз він отримує тридцять дрібних файлів.$yuf_localizer закриває цей розрив. Вкажіть йому адреси проєктів і коди мов — і він покаже всі ключі одним списком із пошуком, позначаючи ті, до яких ще не дійшли руки: ключі, що є лише англійською, змінені, але не зафіксовані, і застарілі, яких у проєкті вже немає. Переклади тримаються у браузері, доки ви їх не вивантажите, тож між заходами нічого не губиться.Коли перекладач закінчив, вивантажте результат і розкладіть його назад по модулях:1# з кореня MAM2npxview-tree-lsplocalebog/myapp/app/---exclude=mol--updateАргументом можна дати і теку, і окремий файл локалі. Прапорці:Ключ несе шлях до свого модуля, тому $my_page_greeting потрапить у my/page/page.locale=ru.json — поруч із джерелами, яким належить. А от обчислити цей модуль складніше, ніж здається: _ розділяє і теки, і слова, тож «найдовший збіг шляху» — хибна відповідь. У $my_page_lang_hint властивість починається на lang, і справжній сусідній підмодуль my/page/lang забрав би ключ собі. Тому команда питає в кожного кандидата, які ключі він оголосив — MAM записує саме їх у його файл локалі в -view.tree, — і віддає ключ власникові.
Генератор записує GitHub Actions у .github/workflows/, тож новий проєкт розгортається й релізиться без додаткового налаштування.deploy.yml запускається на кожен push. Він збирає застосунок за допомогою hyoo-ru/mam_build, публікує app/- у GitHub Pages з main і дає кожній гілці feature/* власну папку попереднього перегляду — вона видаляється автоматично, коли гілку видаляють.