@hexclave/cli and exposes the stack command. Use it for project setup, branch config workflows, and quick admin scripts.
Install
Install the CLI globally to use thestack command from any project:
Terminal
Terminal
npx @hexclave/cli@latest, for example:
Terminal
Global options
These options can be used before a subcommand:| Option | Description |
|---|---|
--project-id <id> | Project ID for commands that operate on one project. You can also set STACK_PROJECT_ID. |
--json | Print JSON output for commands that support it, such as project list and project create. |
--version | Print the CLI version. |
STACK_API_URL and STACK_DASHBOARD_URL. If unset, it uses Hexclave Cloud.
Authentication
Log in with a browser:Terminal
STACK_CLI_REFRESH_TOKEN in the CLI credentials file. You can also provide it through the environment, which is useful in CI.
Terminal
Terminal
STACK_CLI_ANON_REFRESH_TOKEN before running login.
Initialize a project
Run the interactive setup wizard:Terminal
--no-agent to print manual setup instructions instead.
Non-interactive init
Use--mode to skip prompts:
| Command | What it does |
|---|---|
stack init --mode create --apps authentication,teams | Create stack.config.ts for local config-driven development. |
stack init --mode create-cloud | Create a new Hexclave Cloud project and write keys to .env. |
stack init --mode link-config --config-file ./stack.config.ts | Link setup instructions to an existing local config file. |
stack init --mode link-cloud --select-project-id <id> | Write keys for an existing cloud project to .env. |
| Option | Description |
|---|---|
--apps <apps> | Comma-separated app IDs to enable in create mode. |
--config-file <path> | Existing config file for link-config mode. |
--select-project-id <id> | Existing cloud project for link-cloud mode. |
--output-dir <dir> | Directory where output files should be written. Defaults to the current directory. |
--no-agent | Skip the setup agent and print manual instructions. |
Project commands
List projects owned by the logged-in user:Terminal
Terminal
--json when you want machine-readable output:
Terminal
Config commands
Pull branch config into a local TypeScript config file:Terminal
config pull refuses to overwrite an existing file. Add --overwrite when that is intended.
Push a local config file to branch config:
Terminal
config pull requires stack login. config push supports either stack login or STACK_SECRET_SERVER_KEY.
When running in GitHub Actions, config push records GITHUB_REPOSITORY, GITHUB_REF_NAME, GITHUB_SHA, and the config file path as the config source when those environment variables are available.
Execute admin JavaScript
stack exec runs JavaScript with a preconfigured HexclaveServerApp available as hexclaveServerApp.
Terminal
undefined prints nothing.