-
Notifications
You must be signed in to change notification settings - Fork 513
[Docs Mintlify] - Updates and new additions #1401
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
madster456
wants to merge
3
commits into
dev
Choose a base branch
from
docs-mintlify/updates
base: dev
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
3 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,158 @@ | ||
| --- | ||
| title: "Stack CLI" | ||
| description: "Use the Stack Auth CLI to initialize projects, manage config, run admin scripts, and start the local emulator" | ||
| sidebarTitle: "Stack CLI" | ||
| --- | ||
|
|
||
| The Stack Auth CLI is published as `@stackframe/stack-cli` and exposes the `stack` command. Use it for project setup, branch config workflows, quick admin scripts, and the [local emulator](/guides/going-further/local-emulator). | ||
|
|
||
| ## Install | ||
|
|
||
| Install the CLI globally to use the `stack` command from any project: | ||
|
|
||
| ```sh title="Terminal" | ||
| npm install -g @stackframe/stack-cli@latest | ||
| ``` | ||
|
|
||
| Then check that it is available: | ||
|
|
||
| ```sh title="Terminal" | ||
| stack --help | ||
| ``` | ||
|
|
||
| You can also run any command without installing globally by prefixing it with `npx @stackframe/stack-cli@latest`, for example: | ||
|
|
||
| ```sh title="Terminal" | ||
| npx @stackframe/stack-cli@latest init | ||
| ``` | ||
|
|
||
| ## 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. | | ||
|
|
||
| The CLI reads Stack Auth endpoints from `STACK_API_URL` and `STACK_DASHBOARD_URL`. If unset, it uses Stack Auth Cloud. | ||
|
|
||
| ## Authentication | ||
|
|
||
| Log in with a browser: | ||
|
|
||
| ```sh title="Terminal" | ||
| stack login | ||
| ``` | ||
|
|
||
| This stores `STACK_CLI_REFRESH_TOKEN` in the CLI credentials file. You can also provide it through the environment, which is useful in CI. | ||
|
|
||
| ```sh title="Terminal" | ||
| STACK_CLI_REFRESH_TOKEN=<refresh-token> stack project list | ||
| ``` | ||
|
|
||
| Log out by removing the saved refresh token: | ||
|
|
||
| ```sh title="Terminal" | ||
| stack logout | ||
| ``` | ||
|
|
||
| If you have an anonymous CLI session that should be linked during login, set `STACK_CLI_ANON_REFRESH_TOKEN` before running `login`. | ||
|
|
||
| ## Initialize a project | ||
|
|
||
| Run the interactive setup wizard: | ||
|
|
||
| ```sh title="Terminal" | ||
| stack init | ||
| ``` | ||
|
|
||
| The wizard can create a cloud project, create a local config file for the emulator, or link an existing project. In interactive terminals, it can run an agent to apply the setup changes to your app. Use `--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 Stack Auth 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`. | | ||
|
|
||
| Other useful flags: | ||
|
|
||
| | 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: | ||
|
|
||
| ```sh title="Terminal" | ||
| stack project list | ||
| ``` | ||
|
|
||
| Create a project: | ||
|
|
||
| ```sh title="Terminal" | ||
| stack project create --display-name "My App" | ||
| ``` | ||
|
|
||
| Use `--json` when you want machine-readable output: | ||
|
|
||
| ```sh title="Terminal" | ||
| stack --json project list | ||
| ``` | ||
|
|
||
| ## Config commands | ||
|
|
||
| Pull branch config into a local TypeScript config file: | ||
|
|
||
| ```sh title="Terminal" | ||
| stack --project-id <project-id> config pull --config-file ./stack.config.ts | ||
| ``` | ||
|
|
||
| By default, `config pull` refuses to overwrite an existing file. Add `--overwrite` when that is intended. | ||
|
|
||
| Push a local config file to branch config: | ||
|
|
||
| ```sh title="Terminal" | ||
| stack --project-id <project-id> config push --config-file ./stack.config.ts | ||
| ``` | ||
|
|
||
| `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 `StackServerApp` available as `stackServerApp`. | ||
|
|
||
| ```sh title="Terminal" | ||
| stack --project-id <project-id> exec "return await stackServerApp.listUsers()" | ||
| ``` | ||
|
|
||
| The JavaScript is executed as an async function. Return values are printed as formatted JSON; `undefined` prints nothing. | ||
|
|
||
| <Warning> | ||
| `stack exec` has server-level access to the selected project. It requires `stack login` and intentionally rejects `STACK_SECRET_SERVER_KEY` auth. | ||
| </Warning> | ||
|
|
||
| ## Local emulator commands | ||
|
|
||
| The CLI also manages the QEMU local emulator: | ||
|
|
||
| ```sh title="Terminal" | ||
| stack emulator start | ||
| stack emulator status | ||
| stack emulator stop | ||
| ``` | ||
|
|
||
| See the [local emulator guide](/guides/going-further/local-emulator) for setup, ports, environment variables, and troubleshooting. |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.