public interface ShellExtension
This interface tags a class as providing shell commands to be loaded by a
script engine. Shell commands are exposed as static methods (or attributes)
of a class. Static attribute "__doc__" is exported as markdown help text.
A static method "__init__(ScriptEngine)" is called on initialization, if
present. A shell extension may be called from multiple threads (if multiple
shell agents load the extension), and so any persistent variables must be
thread local.