A MoonBit UI runtime for WeChat MiniApp Skyline with pure Elm-style authoring, component-scoped state, and generated MiniApp host commands.
Dependencies
Model + Msg -> update -> Model
Model -> view
Cmd -> Msgpure Elm-style MoonBit authoring
-> component-scoped runtime state
-> MiniApp runtime commands
-> generated Skyline MiniApp artifacts
-> generated JavaScript bridge
-> setData and wx.* adapterssrc/
signal_core/ # internal signal runtime
ui_dsl/ # typed UI AST DSL and metadata extraction
tea_runtime/ # Elm-style runtime plus MiniApp command primitives
patch_graph/ # predecessor typed patch queues, retained internally
renderer_miniapp/ # fake-host MiniApp setData runtime
renderer_miniapp_js/ # JavaScript MiniApp fake bridge
cmd/main/ # root runnable entrypoint
examples/
miniapp_profile_app/ # single-directory app authoring reference
miniapp_counter/ # generated MiniApp fixture
miniapp_counter_fake/ # fake-host MiniApp runtime coverage example
miniapp_js_runtime_bridge_spike/ # MoonBit JS runtime bridge spike
docs/
positioning.md
wechat_ai_direction.md
architecture.md
miniapp_only_architecture.md
compile_model.md
mvp.md
miniapp_quickstart.md
miniapp_renderer.md
js_runtime_bridge.md
renderer_protocol.md
roadmap.mdvp run check:mvpmoon fmt --check
moon check --deny-warn
moon info
git diff --exit-code
moon test --deny-warn
vp run check:mvpvp run script -- scripts/lampo.mjs init examples/my_profile_app --template profile
vp run script -- scripts/lampo.mjs build examples/my_profile_appvp run script -- scripts/lampo.mjs init examples/my_minimal_app --template minimalvp run script -- scripts/lampo.mjs build examples/my_profile_app
vp run script -- scripts/lampo.mjs build examples/my_profile_app/miniapp.lampo.json
vp run script -- scripts/lampo.mjs build --config examples/my_profile_app/miniapp.lampo.jsonexamples/my_profile_app/src/ # MoonBit source owned by the app author
examples/my_profile_app/_lampo/ # Lampo-owned build specs
examples/my_profile_app/generated/ # generated metadata, diagnostics, summaries
examples/my_profile_app/dist/ # WeChat MiniApp project to importvp run script -- scripts/lampo.mjs build examples/my_profile_app --mode dev
vp run script -- scripts/lampo.mjs build examples/my_profile_app --mode releaseexamples/miniapp_profile_app/src/miniapp_profile_app.mbtThis is the best source-level showcase. It contains the pure Model,
Msg, update, view, app, page lifecycle messages, form input,
keyed-list rendering, and typed MiniApp capability commands for wx.login,
wx.getStorage, wx.getLocation, and wx.chooseMedia.examples/miniapp_profile_app/src/cmd/metadata/main.mbtIt emits the app/page/component/capability metadata consumed by the
generator, so reviewers can see that the reusable app shape is driven from
MoonBit-authored metadata rather than handwritten MiniApp project files.examples/miniapp_counter_fake/src/miniapp_counter_fake.mbtThis fixture has the widest runtime and capability coverage. It validates
counter events, keyed-list operations, lifecycle behavior, and generated
wx.* adapter metadata used by the DevTools fixture.vp install
vp config
vp run check:scripts
vp run check:mvpvp run miniapp:generate
vp run script -- scripts/lampo.mjs build examples/miniapp_profile_appThen inspect:examples/miniapp_counter/dist
examples/miniapp_counter/generated/manifest.json
examples/miniapp_counter/generated/diagnostics.json
examples/miniapp_counter/generated/release_summary.json
examples/miniapp_profile_app/dist
examples/miniapp_profile_app/generated/manifest.json
examples/miniapp_profile_app/generated/diagnostics.json
examples/miniapp_profile_app/generated/release_summary.jsonexamples/miniapp_counter/distThis is the best single WeChat Developer Tools import for judging runtime
breadth. Reviewers can import the committed dist/ directly; running
vp run check:mvp first is optional and only needed to reproduce the local
generation gate. Detailed import steps and expected UI behavior for all four
committed MiniApp examples are in
docs/miniapp_examples_devtools_guide.md.
DevTools screenshot evidence for the primary counter fixture is in
docs/miniapp_devtools_screenshots.md.
Only the Counter fixture is claimed as manually verified in DevTools; the
other committed examples are generated review companions covered by local
gates.examples/miniapp_profile_app/distThis is the best DevTools companion for source-level review. It shows the
single-directory app starter shape where MoonBit source owns
Model/update/view, app metadata, lifecycle, form input, and capability
declarations.A MoonBit UI runtime for WeChat MiniApp Skyline with pure Elm-style authoring, component-scoped state, and generated MiniApp host commands.
Dependencies