Gui Command

The GuiCommand is one of the most important functions of FreeCAD in the main interaction point of the user. Every time the user selects a menu item or presses a toolbar button it activates a GuiCommand. Some of the attributes of a GuiCommand are:
 * Defines a name
 * Contains an icon
 * Defines the scope for an undo/redo
 * Has a help page
 * Opens and controls dialogs
 * Macro recording
 * and so forth...

Naming
The GuiCommand is named in a certain way: ModuleName_CommandName e.g "Base_Open" this is the Open Gui Command in the Base system. The GuiCommand in a certain module is named with the module name in front e.g. "Part_Cylinder".

Help page
Every GuiCommand has to have a help page. The help page is hosted in the FreeCAD docu wiki. The article has the same name as the GuiCommand, e.g. Part_Cylinder.

To create your own help pages you can use the template: GuiCommand model

Example:
 * Part_Cylinder
 * Base_Open

Icons
Every GuiCommand has to have an icon. We use the |Tango icon set and its guidelines. E.g. the color palette:

Quality requirements
There are a lot of GuiCommands (Features) in FreeCAD which are experimental or used shortly for implementation purposes. These GuiCommands are mostly in the dedicated workbenches like Part, Mesh or Cam. To ensure a good user experience the workbench Complete was created. This is the default start workbench of FreeCAD and incorporates all GuiCommands which meet certain Quality requirements which are described here: