The Help Directive is a CPGQL Directive which returns textual descriptions of other directives.
If it is executed by itself, it shows an overview of Top-Level Commands:
joern> help
val res0: Helper = Welcome to the interactive help system. Below you find
a table of all available top-level commands. To get
more detailed help on a specific command, just type
`help.<command>`.
Try `help.importCode` to begin with.
┌────────────────┬────────────────────────────────────────────────┬─────────────────────────┐
│command         │description                                     │example                  │
├────────────────┼────────────────────────────────────────────────┼─────────────────────────┤
│close           │Close project by name                           │close(projectName)       │
│cpg             │CPG of the active project                       │cpg.method.l             │
│delete          │Close and remove project from disk              │delete(projectName)      │
│exit            │Exit the REPL                                   │                         │
│importCode      │Create new project from code                    │importCode("example.jar")│
│importCpg       │Create new project from existing CPG            │importCpg("cpg.bin.zip") │
│open            │Open project by name                            │open("projectName")      │
│openForInputPath│Open project for input path                     │                         │
│project         │Currently active project                        │project                  │
│run             │Run analyzer on active CPG                      │run.securityprofile      │
│save            │Write all changes to disk                       │save                     │
│switchWorkspace │Close current workspace and open a different one│                         │
│workspace       │Access to the workspace directory               │workspace                │
└────────────────┴────────────────────────────────────────────────┴─────────────────────────┘
If executed with a Top-Level Command CPGQL Component prefix, it describe that Top-Level Command:
joern> help.save 
res0: String = """
Close and reopen all loaded CPGs. This ensures that changes have been flushed to
disk.
Returns list of affected projects"""
If executed as part of a traversal, it prints available steps and their description at this point. Note that this list may not be complete - use <tab> completion for the full list.
joern> cpg.help
"Available starter steps:
┌─────────────────┬───────────────────────────────────────────────────────────────────────────────────────────────────┐
│step             │description                                                                                        │
├─────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────┤
│.all             │All nodes of the graph                                                                             │
│.argument        │All arguments (actual parameters)                                                                  │
│.arithmetic      │All arithmetic operations, including shorthand assignments that perform arithmetic (e.g., '+=')    │
│.arrayAccess     │All array accesses                                                                                 │
│.assignment      │All assignments, including shorthand assignments that perform arithmetic (e.g., '+=')              │
...
joern> cpg.method.help
Available steps for Method:
┌────────────────────┬─────────────────────────────────────────────────────────────┐
│step                │description                                                  │
├────────────────────┼─────────────────────────────────────────────────────────────┤
│.address            │Address of the code (for binary code)                        │
│.ast                │All nodes of the abstract syntax tree                        │
│.body               │Alias for `block`                                            │
│.break              │All breaks (`ControlStructure` nodes)                        │
│.cfgLast            │Last control flow graph node                                 │
...