stack/docs-mintlify/docs.json
Madison 748d708d53
[Docs Mintlify] - Updates and new additions (#1401)
## Summary

Refreshes the docs around Stack Auth setup, CLI workflows, local
development, the local emulator, known SDK errors, self-hosting, and the
public showcase. This also wires the new docs into Mintlify navigation
and normalizes `sharp` dependency resolution for docs/image tooling.

Base: `dev` -> Head: `docs-mintlify/updates`  
Scope: 17 files, +1154 / -435

## What's New

- Adds a dedicated **Stack CLI** guide covering install, auth, init
modes, project commands, config pull/push, `stack exec`, and emulator
commands.
- Adds a full **Local Emulator** guide for QEMU requirements, ports,
default credentials, config-file backed projects, image pulls, state,
and troubleshooting.
- Reworks **Local Development** around two supported workflows:
cloud-backed local dev and emulator-backed local dev, including app env
vars, local config files, CI usage, and common failure modes.
- Rewrites **Self-host** around the supported `stackauth/server` Docker
deployment path, including Postgres, ClickHouse, cron scheduling, seeded
admin access, reverse proxy setup, SDK env vars, email, webhooks, S3
storage, upgrades, and common issues.
- Adds a **Known Errors** reference for public SDK-exposed known errors,
runtime `errorCode` values, and REST API handling.
- Clarifies **CLI App Authentication** so users can distinguish
authenticating their own CLI app from using the official `stack`
command.
- Updates the JWT guide to remove the missing inline viewer reference
and recommend an external JWT viewer.
- Adds showcase cards for Browser Use and Overworld with supporting
images and styles.
- Pins `sharp` to `0.34.5` through pnpm overrides and lockfile cleanup.

## Review Notes

- The self-host guide was audited against the current Docker entrypoint,
server env templates, seed script, ClickHouse migration behavior, cron
endpoints, and SDK API URL env resolution.
- The Docker image starts the backend and dashboard, but not production
schedulers, so the new cron section is called out explicitly.
- Managed Domain email setup is documented as operator-managed because
it depends on server-side Resend/DNSimple credentials; self-hosters are
directed toward Custom SMTP or their own Resend API key.
- `self-host-old.mdx` is kept as a legacy reference file and is not
added to navigation.
- `emulator run` documentation now matches CLI behavior: it stops the
emulator only when it started that emulator instance.

## Test Plan

- [x] Reviewed all files changed by `origin/dev...HEAD`.
- [x] Ran `git diff --check origin/dev...HEAD`.
- [x] Checked IDE diagnostics for the changed docs/CLI files.
- [ ] Preview Mintlify docs locally and click through new navigation
entries.
- [ ] Verify showcase cards and images in light and dark themes.
- [ ] Smoke-test the copied self-host commands in a non-production
Docker environment.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Documentation**
* Added comprehensive Stack CLI, Local Emulator, Known Errors, and Local
Development guides
* Restructured Self-Hosting guide for production deployments and
expanded authentication docs
  * Updated site navigation to include new guide pages

* **New Features**
* Added visual showcase section with responsive cards and hover/zoom
interactions (and supporting styles)
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-13 11:36:32 -05:00

236 lines
7.1 KiB
JSON

{
"$schema": "https://mintlify.com/docs.json",
"name": "Stack Auth Documentation",
"theme": "mint",
"logo": {
"dark": "/images/logo-dark.svg",
"light": "/images/logo-light.svg"
},
"favicon": "/images/favicon.ico",
"colors": {
"primary": "#6b5df7",
"light": "#8b7cf9",
"dark": "#6b5df7"
},
"background": {
"color": {
"dark": "#09090b"
}
},
"fonts": {
"heading": {
"family": "Geist",
"weight": 500
},
"body": {
"family": "Geist",
"weight": 400
}
},
"navbar": {
"links": [
{
"type": "github",
"href": "https://github.com/hexclave/stack-auth"
}
],
"primary": {
"type": "button",
"label": "Dashboard",
"href": "https://app.stack-auth.com"
}
},
"navigation": {
"tabs": [
{
"tab": "Documentation",
"pages": [
"index",
"guides/faq",
{
"group": "Getting Started",
"pages": [
"guides/getting-started/setup",
"guides/getting-started/user-fundamentals",
"guides/getting-started/ai-integration"
]
},
{
"group": "Going Further",
"pages": [
"guides/going-further/stack-app",
"guides/going-further/backend-integration",
"guides/going-further/cli",
"guides/going-further/local-emulator",
"guides/going-further/local-development",
"guides/going-further/user-metadata"
]
},
{
"group": "Apps",
"pages": [
{
"group": "Authentication",
"icon": "/images/app-icons/authentication.svg",
"pages": [
"guides/apps/authentication/overview",
"guides/apps/authentication/user-onboarding",
"guides/apps/authentication/connected-accounts",
"guides/apps/authentication/jwts",
"guides/apps/authentication/sign-up-rules",
"guides/apps/authentication/cli-authentication",
{
"group": "All Auth Providers",
"root": "guides/apps/authentication/auth-providers",
"pages": [
"guides/apps/authentication/auth-providers/apple",
"guides/apps/authentication/auth-providers/bitbucket",
"guides/apps/authentication/auth-providers/discord",
"guides/apps/authentication/auth-providers/facebook",
"guides/apps/authentication/auth-providers/github",
"guides/apps/authentication/auth-providers/gitlab",
"guides/apps/authentication/auth-providers/google",
"guides/apps/authentication/auth-providers/linkedin",
"guides/apps/authentication/auth-providers/microsoft",
"guides/apps/authentication/auth-providers/passkey",
"guides/apps/authentication/auth-providers/spotify",
"guides/apps/authentication/auth-providers/twitch",
"guides/apps/authentication/auth-providers/two-factor-auth",
"guides/apps/authentication/auth-providers/x-twitter"
]
}
]
},
"guides/apps/emails/overview",
"guides/apps/payments/overview",
"guides/apps/analytics/overview",
{
"group": "Teams",
"icon": "/images/app-icons/teams.svg",
"pages": [
"guides/apps/teams/overview",
"guides/apps/teams/team-selection"
]
},
"guides/apps/fraud-protection/overview",
"guides/apps/rbac/overview",
"guides/apps/api-keys/overview",
"guides/apps/data-vault/overview",
"guides/apps/webhooks/overview",
"guides/apps/launch-checklist/overview"
]
},
{
"group": "Integrations",
"pages": [
"guides/integrations/tanstack-start/overview",
"guides/integrations/supabase/overview",
"guides/integrations/convex/overview",
"guides/integrations/vercel/overview"
]
},
{
"group": "Other",
"pages": [
"guides/other/self-host",
"guides/other/known-errors",
"guides/other/mcp-setup",
{
"group": "Tutorials",
"pages": [
"guides/other/tutorials/build-a-saas-with-stack-auth",
"guides/other/tutorials/build-a-team-based-app",
"guides/other/tutorials/ship-production-ready-auth"
]
},
"guides/other/showcase"
]
}
]
},
{
"tab": "SDK Reference",
"pages": [
"sdk/overview",
{
"group": "Objects",
"pages": ["sdk/objects/stack-app"]
},
{
"group": "Types",
"pages": [
"sdk/types/user",
"sdk/types/team",
"sdk/types/team-user",
"sdk/types/team-permission",
"sdk/types/team-profile",
"sdk/types/contact-channel",
"sdk/types/email",
"sdk/types/api-key",
"sdk/types/project",
"sdk/types/connected-account",
"sdk/types/item",
"sdk/types/customer"
]
},
{
"group": "Hooks",
"pages": ["sdk/hooks/use-stack-app", "sdk/hooks/use-user"]
}
]
},
{
"tab": "REST API",
"pages": [
"api/overview",
{
"group": "Client API",
"openapi": {
"source": "openapi/client.json",
"directory": "api/client"
}
},
{
"group": "Server API",
"openapi": {
"source": "openapi/server.json",
"directory": "api/server"
}
},
{
"group": "Admin API",
"openapi": {
"source": "openapi/admin.json",
"directory": "api/admin",
"hidden": "true"
}
},
{
"group": "Webhooks",
"openapi": {
"source": "openapi/webhooks.json",
"directory": "api/webhooks"
}
}
]
}
]
},
"footer": {
"socials": {
"x": "https://x.com/stack_auth",
"github": "https://github.com/stack-auth/stack",
"discord": "https://discord.stack-auth.com"
}
},
"seo": {
"metatags": {
"robots": "noindex"
}
},
"settings": {
"customScripts": ["/apps-sidebar-filter.js"]
},
"redirects": []
}