Documentation in the code (to create HTML docs see this)
The plugin framework works as in any other program - you copy the plugin to "plugins" folder and restart application. New plugin will be loaded and what happens next depends on your plugin API. To desable plugin, change its extension or remove it from "plugins" folder.
AutoHotkey is very friendly for making pluginable applications as you have entire AHK language avaialable to be used by plugin developers. End user can learn the language very fast and he doesn't need to have any development tools (Notepad is enough).
Example (trivial plugin API, it requires plugin to implement subroutine with the same name as its own)
Plugins_Init() ;check for new plugins on startup Plugins_Get("plug") ;get loaded plugins in plug1...plugN array loop, %plug0% GoSub plug%A_Index% ;execute plugin routine - better : Call( plugX "_function") return #include inc\plugin.ahk
Note: To create better plugin API you should use Call, instead GoSub