CLI
Gestalt ships two CLIs:
gestaltdfor server lifecycle and plugin packaginggestaltfor interactive access to a running server
gestaltd
Server Commands
| Command | Purpose |
|---|---|
gestaltd | Local-friendly startup. Generates a config if needed and serves. |
gestaltd serve --config PATH | Start the server. |
gestaltd serve --locked --config PATH | Start from prepared state only. |
gestaltd init --config PATH | Prepare packaged plugin artifacts and write lock state. |
gestaltd validate --config PATH | Validate config without serving. |
gestaltd validate --init --config PATH | Prepare artifacts first, then validate. |
gestaltd version | Print the server version. |
Plugin Commands
| Command | Purpose |
|---|---|
gestaltd plugin package --input PATH --output PATH | Package a plugin directory into a directory or .tar.gz archive. |
gestaltd plugin release --version VERSION | Cross-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.0gestalt
gestalt talks to the HTTP API exposed by gestaltd.
Global Flags
| Flag | Purpose |
|---|---|
--url | Override the server URL. |
--format | Output format. json or table. |
Commands
| Command | Purpose |
|---|---|
gestalt auth login | Log in through the browser flow. |
gestalt auth logout | Clear local credentials. |
gestalt auth status | Show current auth state. |
gestalt init | Run the interactive setup wizard. |
| `gestalt config get | set |
gestalt integrations list | List integrations from the server. |
gestalt integrations connect NAME | Start an integration OAuth flow. |
gestalt invoke INTEGRATION [OPERATION] | Invoke an operation or list operations when omitted. |
gestalt describe INTEGRATION OPERATION | Show one operation’s parameter contract. |
| `gestalt tokens create | list |
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