stack/docs
BilalG1 23b9eb831a
Init script agent mode and react option (#897)
<!--

Make sure you've read the CONTRIBUTING.md guidelines:
https://github.com/stack-auth/stack-auth/blob/dev/CONTRIBUTING.md

-->

<!-- RECURSEML_SUMMARY:START -->
## High-level PR Summary
This PR adds support for non-interactive initialization in the Stack
Auth initialization script. It introduces a `STACK_DISABLE_INTERACTIVE`
environment variable flag and makes appropriate changes throughout the
codebase to handle non-interactive flows. The changes include improving
type definitions, adding automatic determination of project type (JS vs
Next.js) and configuration (client vs server) when running in
non-interactive mode, and better error handling for cases where required
information is missing. These changes enable CI/CD scenarios and
automation for Stack Auth integration.

⏱️ Estimated Review Time: 0h 20m

<details>
<summary>💡 Review Order Suggestion</summary>

| Order | File Path |
|-------|-----------|
| 1 | `packages/init-stack/src/index.ts` |
</details>



<!-- RECURSEML_SUMMARY:END -->

<!-- RECURSEML_ANALYSIS:START -->
## Review by RecurseML

_🔍 Review performed on
[bba4db2..974e4fd](bba4db2ab0...974e4fda92)_

 No bugs found, your code is sparkling clean

<details>
<summary> Files analyzed, no issues (1)</summary>

  • `packages/init-stack/src/index.ts`
</details>

[![Need help? Join our
Discord](https://img.shields.io/badge/Need%20help%3F%20Join%20our%20Discord-5865F2?style=plastic&logo=discord&logoColor=white)](https://discord.gg/n3SsVDAW6U)
<!-- RECURSEML_ANALYSIS:END -->
<!-- ELLIPSIS_HIDDEN -->


----

> [!IMPORTANT]
> Adds non-interactive and React project initialization options to Stack
Auth setup script, updates tests and documentation.
> 
>   - **Behavior**:
> - Adds `--agent-mode` option in `index.ts` for non-interactive CLI
runs.
> - Adds `--react` option in `index.ts` for React project
initialization.
> - Updates `writeReactClientFile()` in `index.ts` to handle
React-specific setup.
>   - **Scripts**:
> - Updates `package.json` to include `test-run-react` and
`test-run-react:manual` scripts.
> - Modifies existing test scripts in `package.json` to use
`--agent-mode`.
>   - **Documentation**:
> - Updates `setup.mdx` to include React setup instructions and
wizard/manual tabs.
>   - **Misc**:
>     - Removes `STACK_DISABLE_INTERACTIVE` checks in `index.ts`.
>     - Updates error handling and logging in `index.ts`.
> 
> <sup>This description was created by </sup>[<img alt="Ellipsis"
src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=stack-auth%2Fstack-auth&utm_source=github&utm_medium=referral)<sup>
for f63a2a57ef. You can
[customize](https://app.ellipsis.dev/stack-auth/settings/summaries) this
summary. It will automatically update as commits are pushed.</sup>

----


<!-- ELLIPSIS_HIDDEN -->

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

- New Features
- First-class React project initialization (--react) with automatic
React client scaffolding.
- Added --agent-mode for fully non-interactive CLI runs and consistent
--no-browser behavior.
- Public env var for local React package override
(STACK_REACT_INSTALL_PACKAGE_NAME_OVERRIDE).

- Chores
- Standardized non-interactive flows across scripts (removed legacy
interactive gating).

- Tests
- Updated test scaffolding and run commands to use agent-mode and
browser-free execution.

- Documentation
- Converted setup docs to a wizard-style experience with consolidated
wizard/manual tabs.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-15 18:47:05 -07:00
..
lib Update AI chatbot prompt 2025-07-16 13:38:12 -07:00
public Re-add CLI auth docs 2025-07-03 15:43:36 -07:00
scripts init emails docs (#848) 2025-08-21 12:05:48 -05:00
src [Docs][UI] - Fix unclickable links in tabbed content (#883) 2025-09-15 15:37:14 -05:00
templates Init script agent mode and react option (#897) 2025-09-15 18:47:05 -07:00
templates-api New docs (#698) 2025-06-20 13:30:01 -07:00
templates-python [Docs][MDX] Add python backend integration (#874) 2025-09-10 02:19:09 -05:00
.env.development New docs (#698) 2025-06-20 13:30:01 -07:00
.eslintrc.json New docs (#698) 2025-06-20 13:30:01 -07:00
.gitignore Docs updates (#753) 2025-07-11 10:00:02 -07:00
CHANGELOG.md chore: update package versions 2025-09-12 16:55:16 -07:00
cli.json New docs (#698) 2025-06-20 13:30:01 -07:00
docs-platform.yml init emails docs (#848) 2025-08-21 12:05:48 -05:00
next.config.mjs Add API docs to llms.txt file. (#766) 2025-07-15 11:13:32 -05:00
package.json chore: update package versions 2025-09-12 16:55:16 -07:00
postcss.config.mjs New docs (#698) 2025-06-20 13:30:01 -07:00
README.md New docs (#698) 2025-06-20 13:30:01 -07:00
source.config.ts New docs (#698) 2025-06-20 13:30:01 -07:00
tsconfig.json New docs (#698) 2025-06-20 13:30:01 -07:00

stack-docs

This is a Next.js application generated with Create Fumadocs.

Run development server:

npm run dev
# or
pnpm dev
# or
yarn dev

Open http://localhost:3000 with your browser to see the result.

Explore

In the project, you can see:

  • lib/source.ts: Code for content source adapter, loader() provides the interface to access your content.
  • app/layout.config.tsx: Shared options for layouts, optional but preferred to keep.
Route Description
app/(home) The route group for your landing page and other pages.
app/docs The documentation layout and pages.
app/api The documentation for API pages.
app/api/search/route.ts The Route Handler for search.

Fumadocs MDX

A source.config.ts config file has been included, you can customise different options like frontmatter schema.

Read the Introduction for further details.

Learn More

To learn more about Next.js and Fumadocs, take a look at the following resources: