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 저장소 Giper Baza--no-docker — docker-compose.yml과 nginx 설정을 포함한 Docker 구성--no-tauri — Tauri 데스크톱 셸--no-backend — node:sqlite 저장소와 공유 TypeScript 아이템 타입을 갖춘 $mol_server REST 백엔드--no-prerender, --no-seo — 검색 엔진 가시성. 아래 지속적 통합에서 설명합니다모르는 플래그를 만나면 실행을 멈춥니다. 오타 때문에 뭔가가 조용히 남는 일은 없습니다.스캐폴더는 언어 서버의 CLI를 감싼 얇은 래퍼이므로, npxview-tree-lspcreatebog/myapp도 같은 일을 직접 수행합니다.
번역은 자기 모듈 옆, <module>/<name>.locale=<lang>.json 에 놓입니다. 코드 입장에서는 편하지만 번역자에게는 그렇지 않습니다. 문구 목록 하나가 아니라 잘게 쪼개진 파일 서른 개를 받게 되니까요.$yuf_localizer 가 그 간극을 메웁니다. 프로젝트 주소와 언어 코드를 알려주면 모든 키를 검색 가능한 하나의 목록으로 보여주고, 아직 남은 것들을 표시해 줍니다. 영어로만 있는 키, 고쳤지만 아직 확정하지 않은 키, 프로젝트에 더는 없는 낡은 키가 그렇습니다. 번역은 내보내기 전까지 브라우저에 남아 있어 작업을 중단해도 사라지지 않습니다.번역자가 끝내면 결과를 내보내고 다시 모듈별로 나눕니다.1# MAM 루트에서 실행2npxview-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은 모든 푸시에서 실행됩니다. hyoo-ru/mam_build로 앱을 빌드하고, main에서 app/-을 GitHub Pages에 게시하며, 각 feature/* 브랜치에 자체 미리보기 폴더를 부여합니다. 브랜치가 삭제되면 자동으로 제거됩니다.
둘 다 기본으로 켜져 있고, 둘 다 v* 태그에서 돕니다:--no-prerender 는 나열한 화면(예: home)을 b-on-g/mol-prerender-action 으로 정적 HTML에 렌더링하는 단계를 뺍니다. 크롤러와 링크 미리보기가 진짜 내용을 보는 건 이것 덕분입니다.--no-seo 는 $bog_seo 런타임을 뺍니다. 사이트맵, robots.txt, llms.txt, 페이지별 메타 주입을 갖춘 pathname 라우터입니다. 잡은 빌드를 서빙하고, 정규 사전 렌더링 HTML을 덤프해 다시 배포에 접어 넣습니다.둘은 같은 땅을 덮고 같은 폴더에 쓰기 때문에 deploy.yml 에는 하나만 들어갑니다. 켜져 있는 동안은 $bog_seo, --no-seo 를 넘기는 순간부터는 프리렌더 액션입니다. 사이트맵과 페이지별 메타데이터가 필요하면 $bog_seo 를 두고, 공개 화면 몇 개가 일의 전부라면 프리렌더 액션으로 내려오세요.