mirror of
https://github.com/stack-auth/stack.git
synced 2026-06-04 21:04:37 +08:00
## 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 -->
72 lines
2.2 KiB
CSS
72 lines
2.2 KiB
CSS
ul#sidebar-group > li > button > div:first-child,
|
|
ul#sidebar-group > li > a > div:first-child {
|
|
background: transparent !important;
|
|
border: 0 !important;
|
|
box-shadow: none !important;
|
|
padding: 0 !important;
|
|
}
|
|
|
|
ul#sidebar-group > li > button > img,
|
|
ul#sidebar-group > li > button > div:first-child > img,
|
|
ul#sidebar-group > li > a > div:first-child > img {
|
|
/* AppIcon-like shell */
|
|
border: 1px solid transparent !important;
|
|
border-radius: 30% !important;
|
|
padding: 2px;
|
|
display: block;
|
|
box-sizing: content-box;
|
|
background:
|
|
linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%) padding-box,
|
|
linear-gradient(135deg, #cbd5e1 0%, #94a3b8 52%, #cbd5e1 100%) border-box !important;
|
|
box-shadow:
|
|
0 2px 6px rgba(15, 23, 42, 0.18),
|
|
inset 0 0 0 1px rgba(255, 255, 255, 0.55);
|
|
}
|
|
|
|
html.dark ul#sidebar-group > li > button > img,
|
|
html.dark ul#sidebar-group > li > button > div:first-child > img,
|
|
html.dark ul#sidebar-group > li > a > div:first-child > img,
|
|
:root[data-theme="dark"] ul#sidebar-group > li > button > img,
|
|
:root[data-theme="dark"] ul#sidebar-group > li > button > div:first-child > img,
|
|
:root[data-theme="dark"] ul#sidebar-group > li > a > div:first-child > img {
|
|
border: 1px solid transparent !important;
|
|
/* Use inverted shell colors so post-filter background stays blue */
|
|
background:
|
|
linear-gradient(135deg, #e9cfaf 0%, #f6f3ee 100%) padding-box,
|
|
linear-gradient(135deg, #b18a67 0%, #f2dcc2 52%, #b18a67 100%) border-box !important;
|
|
box-shadow:
|
|
0 6px 14px rgba(245, 186, 104, 0.22),
|
|
inset 0 0 0 1px rgba(0, 0, 0, 0.1);
|
|
filter: invert(1);
|
|
}
|
|
|
|
.showcase-card {
|
|
aspect-ratio: 16 / 9;
|
|
display: block;
|
|
overflow: hidden;
|
|
position: relative;
|
|
transition: box-shadow 150ms ease, transform 150ms ease;
|
|
}
|
|
|
|
.showcase-card:hover {
|
|
box-shadow: 0 24px 52px rgba(15, 23, 42, 0.24) !important;
|
|
transform: translateY(-2px);
|
|
}
|
|
|
|
.showcase-card .showcase-card-image {
|
|
border-radius: 0 !important;
|
|
height: 100% !important;
|
|
inset: 0 !important;
|
|
margin: 0 !important;
|
|
max-width: none !important;
|
|
object-fit: cover !important;
|
|
position: absolute !important;
|
|
transition: transform 150ms ease;
|
|
transform: scale(1);
|
|
width: 100% !important;
|
|
}
|
|
|
|
.showcase-card:hover .showcase-card-image {
|
|
transform: scale(1.18) !important;
|
|
}
|