Menus are complex structures. Each menu is an important feature of an application, and is backed by a great deal of code. There are also many menu-items within a single menu, and several menus in an anpplication and many hundreds or thousands of menus for the many applications we create.
# Why
We generate a menu tool whenever we start o code an application - it is the easiest a fastest way to develop a meaningful application with a functioning interface.
As such we generate many experiments and as the code base grows it is important to distinguish between code that is an experiment and a finsihed product. Also there may be several menu-items that are named the same, but do very different things within their own context.
It is too slow to dive into the code to find out what a menu tool does (though useful), and we also need to be able to search and find these tools easily - for our own use and also as we begin to share them across wider communities.
It therefore becomes vitally important that we are able to easily document each menu-item in a way that is integrated with the software development and use of the tool. This becomes even more important in the age of AI - where it becomes inreasingly easy for individuals to generate code. The documentation becomes therefore part specifcation for the code (which Ai can then help write) and part description of the utility of the code for someone who is seeking to use a tool.
# Tiddly Documentation Each menu is best stored (for now) as TiddlyJson organised in a single file named after the menu to which it belongs. We are then able to utilise the menu.livecode.wiki domain and have a single page describe a menu and a similarly named TiddlyWiki contain the detailed help for each menu-item of the menu.
We store these meni-item tiddlywikis in the `assets/menus` folder of the menu.livecode.wiki site. You can find an index of all the menus documented in this way on the Menu Tool Index page, and the location of the assets folder in which these TiddlyWikis are stored is given by the help_MenuFolder() function.
#