CLI

Gestalt ships two CLIs:

  • gestaltd for server lifecycle and plugin packaging
  • gestalt for interactive access to a running server

gestaltd

Server Commands

CommandPurpose
gestaltdLocal-friendly startup. Generates a config if needed and serves.
gestaltd serve --config PATHStart the server.
gestaltd serve --locked --config PATHStart from prepared state only.
gestaltd init --config PATHPrepare packaged plugin artifacts and write lock state.
gestaltd validate --config PATHValidate config without serving.
gestaltd validate --init --config PATHPrepare artifacts first, then validate.
gestaltd versionPrint the server version.

Plugin Commands

CommandPurpose
gestaltd plugin package --input PATH --output PATHPackage a plugin directory into a directory or .tar.gz archive.
gestaltd plugin release --version VERSIONCross-compile and package a plugin release.

Common Examples

gestaltd
gestaltd init --config ./config.yaml
gestaltd serve --locked --config ./config.yaml
gestaltd validate --init --config ./config.yaml
gestaltd plugin package --input ./my-plugin --output ./dist/my-plugin.tar.gz
gestaltd plugin release --version 0.1.0

gestalt

gestalt talks to the HTTP API exposed by gestaltd.

Global Flags

FlagPurpose
--urlOverride the server URL.
--formatOutput format. json or table.

Commands

CommandPurpose
gestalt auth loginLog in through the browser flow.
gestalt auth logoutClear local credentials.
gestalt auth statusShow current auth state.
gestalt initRun the interactive setup wizard.
`gestalt config getset
gestalt integrations listList integrations from the server.
gestalt integrations connect NAMEStart an integration OAuth flow.
gestalt invoke INTEGRATION [OPERATION]Invoke an operation or list operations when omitted.
gestalt describe INTEGRATION OPERATIONShow one operation’s parameter contract.
`gestalt tokens createlist

Integration Connect Flags

gestalt integrations connect NAME supports:

  • --connection
  • --instance

Invoke Flags

gestalt invoke supports:

  • -p, --param key=value
  • --input-file file.json
  • --connection
  • --instance
  • --select

Common Examples

gestalt --url http://localhost:8080 integrations list
gestalt --url http://localhost:8080 integrations connect notion --connection MCP
gestalt --url http://localhost:8080 describe slack chat.postMessage
gestalt --url http://localhost:8080 invoke slack chat.postMessage \
  --connection plugin \
  -p channel=C123 \
  -p text='hello'
gestalt --url http://localhost:8080 tokens create --name automation