--- title: "Welcome" description: "Stack Auth documentation for setup, components, SDK usage, and REST APIs." sidebarTitle: "Overview" --- export const SectionLink = ({ href, children }) => ( {children} ); export const ChipLink = ({ href, children }) => ( {children} ); export const copyGeneratedSetupPrompt = async (event) => { const button = event.currentTarget; window.focus(); button.focus(); const promptCard = button.closest("[data-home-setup-prompt='true']"); const errorMessage = promptCard == null ? null : promptCard.querySelector("[data-copy-prompt-error='true']"); try { let clipboardError = null; let didCopy = false; if (navigator.clipboard && typeof navigator.clipboard.writeText === "function") { try { await navigator.clipboard.writeText(generatedSetupPromptText); didCopy = true; } catch (error) { clipboardError = error; } } if (!didCopy) { const textArea = document.createElement("textarea"); textArea.value = generatedSetupPromptText; textArea.readOnly = true; textArea.style.position = "fixed"; textArea.style.top = "0"; textArea.style.left = "0"; textArea.style.opacity = "0"; document.body.appendChild(textArea); textArea.focus(); textArea.select(); didCopy = document.execCommand("copy"); document.body.removeChild(textArea); } if (!didCopy) { const clipboardErrorMessage = clipboardError instanceof Error ? clipboardError.message : ""; throw new Error(clipboardErrorMessage || "Browser clipboard permissions blocked copying."); } if (errorMessage != null) { errorMessage.textContent = ""; errorMessage.hidden = true; } button.textContent = "Copied"; button.title = ""; } catch (error) { const errorText = error instanceof Error ? error.message : "Clipboard copy failed."; button.textContent = "Copy failed"; button.title = errorText; if (errorMessage != null) { errorMessage.textContent = errorText; errorMessage.hidden = false; } } window.setTimeout(() => { button.textContent = "Copy prompt"; button.title = ""; if (errorMessage != null) { errorMessage.textContent = ""; errorMessage.hidden = true; } }, 2500); };
Agent-first setup
Set up Stack Auth by copying the prompt below into your favorite coding agent.
{generatedSetupPromptText}
Start at the top and work your way down, or jump straight to the section you need.
First-time setup, install the SDK, get auth running in minutes.
Configure Stack App deeply, integrate your backend, and use lower-level interfaces where needed.
Use hooks, objects, and types to read and write auth data directly in your app code.
Integrate Stack Auth from any backend or language through HTTP endpoints and webhook flows.
Reach for product access, source code, and support channels when you need more than reference docs.