publish: feature(menus): add basic menu system

generated from commit 37f78d807228385cd70e99ea221e44ce963c21e8