读写分离的 CQRS 分层:Loaders 负责读取,Server Actions 与 Rules/Services 负责写入,Repos 只做数据访问
0xstack — Next.js SaaS模板
作者 0xMilord
0xstack 是一个面向 SaaS 与内部应用的 Next.js CQRS 架构启动器与 CLI 工具,提供读写分离的分层结构、模块化配置与架构校验命令。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 3
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
通过 0xstack.config.ts 与 CLI 命令(init、baseline、sync、doctor)管理模块、依赖和架构边界
集成 Drizzle ORM 与 Postgres,文档以 Supabase 为例,但任何 Postgres 均可通过 DATABASE_URL 使用
使用 Better Auth 处理认证,并支持多租户组织(orgs)基线
客户端使用 TanStack Query 管理缓存与变更,业务逻辑不放在 hooks 中
可选模块包括计费(Dodo/Stripe)、存储(GCS/S3/Supabase)、邮件(Resend)、SEO、MDX 博客、PWA 和可观测性
模板详细介绍
0xstack 是一个基于 Next.js 的 CQRS 架构启动器,同时提供 CLI 工厂命令,用于创建和维护 SaaS 或内部应用项目。它把代码划分为读路径与写路径:读路径由 RSC 页面、Loaders(使用 React.cache 与标签)和 Repos 组成;写路径由客户端组件、Server Actions、Rules(Zod 校验与授权)、Services 和 Repos 组成。外部 HTTP 通过 app/api/v1/* 和 Webhooks 进入 Services。项目通过 0xstack.config.ts 控制模块与路由,并借助 ESLint 和 doctor 命令检查架构边界。
技术组合包括 React Server Components、Server Actions、客户端 TanStack Query、Drizzle ORM 与 Postgres(文档以 Supabase 为例,但任何 Postgres 均可通过 DATABASE_URL 使用),以及 Better Auth 认证。模块系统支持按需启用计费(Dodo 或 Stripe)、对象存储(GCS、S3 或 Supabase Storage)、Resend 邮件、缓存、PWA、SEO、MDX 博客、可观测性(Sentry/OTel)和后台任务桩。CLI 提供 init、baseline、sync、doctor 等命令,用于初始化、安装基线、同步依赖与校验架构。
需要注意:README 明确标注项目处于实验阶段,实现细节和 API 可能变化,不建议在关键环境中直接使用。该包是项目初始化器,不应通过 npm i 0xstack 安装为依赖。免费范围仅限 MIT 许可下的代码,演示图片、字体、图标等第三方素材需单独核对许可,域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
适合你的项目吗?
适用场景
- 需要严格读写分离和架构边界约束的 Next.js SaaS 项目
- 希望用 CLI 持续同步依赖、文档和模块配置的团队
- 使用 Drizzle ORM 与 Postgres(包括 Supabase)并需要 Better Auth 认证的应用
- 需要按需启用计费、存储、邮件、SEO 或博客等模块的内部工具或产品
- 希望客户端使用 TanStack Query 而服务端使用 RSC 与 Server Actions 的项目
适合人群
- 熟悉 Next.js App Router 与 TypeScript 的开发团队
- 需要长期维护架构一致性、而非一次性克隆模板的项目
- 使用 Postgres 并愿意通过配置文件管理模块的开发者
- 构建 SaaS 或内部应用、需要多租户与认证基线的团队
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
不要用 npm i 0xstack 安装为依赖,应使用 npx 0xstack@latest init 创建新项目
- 2
需要 Node.js(建议 LTS)、包管理器(npm/pnpm/yarn/bun)和一个 Postgres 数据库
- 3
需要配置 Better Auth 相关环境变量,如 BETTER_AUTH_SECRET、BETTER_AUTH_URL,参考生成的 .env.example
- 4
计费、存储、邮件等模块默认关闭,需在 0xstack.config.ts 中启用并补充对应密钥
- 5
项目处于实验阶段,实现细节和 API 可能变化,不建议在关键环境中直接使用
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 该包是项目初始化器,不应作为依赖安装;应使用 npx 0xstack@latest init 创建项目,否则只会得到 node_modules 与 package.json。
- 项目处于实验阶段,实现细节与 API 可能变化,不建议在关键环境中直接使用。
- 计费模块为可选,启用后需自备 Dodo 或 Stripe 的 API 密钥,可能产生第三方服务费用。
- 对象存储为可选模块,启用后需自备 GCS、S3 或 Supabase Storage 的存储桶凭据。
- 事务邮件为可选模块,启用后需使用 Resend 服务并配置相应凭据。
- 需要自备 Postgres 数据库;文档以 Supabase 为例,但任何 Postgres 均可通过 DATABASE_URL 使用,托管数据库可能产生费用。
- 需要配置 Better Auth 相关环境变量(如 BETTER_AUTH_SECRET、BETTER_AUTH_URL),参考生成的 .env.example。
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据
Permission is hereby granted, free of charge
许可证原文
**Do NOT install this package with `npm i 0xstack`.**
README 原文
**Experimental Stage**: 0xstack is currently in an experimental stage. Implementation details and APIs may change. Use with caution in critical environments.
README 原文
**Billing** (Dodo or Stripe) and their API keys
README 原文
**Object storage** (GCS, S3, or Supabase Storage) and bucket credentials
README 原文
**Resend** for transactional email
README 原文
**A Postgres database** | Drizzle ORM; docs assume **Supabase** URLs but any Postgres works if `DATABASE_URL` is set
README 原文
https://github.com/0xMilord/0xstack/blob/main/LICENSEhttps://github.com/0xMilord/0xstack/blob/main/README.md**Better Auth–compatible env** | `BETTER_AUTH_SECRET`, `BETTER_AUTH_URL`, session cookies — see generated `.env.example`
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-03。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料较完整 · 88 / 100
- 技术栈
- Next.js · React
- 网站类型
- SaaS · 启动器
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2026-04-06
- 截图检查日期
- 2026-10-03
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 Next.js。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
已完成服务器许可规则与 AI 来源核对;未经过人工编辑审核。
查看当时使用的来源资料
SHA-256: 157c4a53347e65d37479840b1ef73dacf3884d76dee46ba114c19af3578b4fa2
2026-10-03T07:23:31.185Z
来源文件 / 仓库<p align="center">
<img src="./assets/0xstack.svg" width="130" alt="0xstack logo">
</p>
<h1 align="center">
0xstack
</h1>
<p align="center">
<strong>Production CQRS Architecture system for Next.js | PostgreSQL | Drizzle | Better Auth | TanStack Query</strong>
</p>
<p align="center">
<strong>0xstack</strong> (npm: <code>0xstack</code>) is a <strong>self-healing architecture engine</strong> for <strong>SaaS</strong> and internal apps: <strong>React Server Components</strong>, <strong>Server Actions</strong>, <strong>TanStack Query</strong> on the client, <strong>Drizzle ORM</strong> + <strong>Postgres</strong> (Supabase-friendly), and <strong>Better Auth</strong>.
</p>
<p align="center">
<a href="#-what-is-0xstack"><strong>What it is</strong></a> ·
<a href="#architecture"><strong>Architecture</strong></a> ·
<a href="#getting-started"><strong>Get Started</strong></a> ·
<a href="#the-saas-starter-landscape"><strong>Landscape</strong></a>
</p>
---
## 🚀 What is 0xstack?
**0xstack = Production architecture system for Next.js**
- **📐 Read/Write separation** — Two highways: fast reads (loaders) + safe writes (actions → rules → repos)
- **🛡️ Enforced boundaries** — ESLint + `doctor` prevent architecture drift
- **🔧 CLI that keeps your repo correct** — `baseline`, `sync`, `upgrade` auto-heal your codebase over time
```bash
# Start a new project in 2 minutes
npx 0xstack@latest init
# Install full production baseline (idempotent)
npx 0xstack baseline --profile full
# Validate architecture, deps, and env
npx 0xstack doctor
# Reconcile repo with config (plan or apply)
npx 0xstack sync --apply
```
> [!IMPORTANT]
> **Do NOT install this package with `npm i 0xstack`.**
> 0xstack is a project initializer. Installing it as a dependency will only give you a `node_modules` folder and a `package.json`.
>
> To start a new project, use:
> ```bash
> npx 0xstack@latest init
> ```
> [!WARNING]
> **Experimental Stage**: 0xstack is currently in an experimental stage. Implementation details and APIs may change. Use with caution in critical environments. Found a bug? [Report it here](https://github.com/0xmilord/0xstack/issues) and help us build!
---
<div align="center">
[![NPM version][npm-image]][https://www.npmjs.com/package/0xstack] [![Downloads][downloads-image]][https://www.npmjs.com/package/0xstack] [![License][license-image]][license-url] [![PRs Welcome][contribute-image]][contribute-url]
</div>
## Table of contents
- [What is 0xstack?](#-what-is-0xstack)
- [Architecture](#architecture)
- [Naming: 0xstack vs oxstack](#naming-0xstack-vs-oxstack)
- [Who is this for?](#who-is-this-for)
- [The SaaS Starter Landscape](#the-saas-starter-landscape)
- [Frequently asked questions](#frequently-asked-questions)
- [What you need vs optional](#what-you-need-vs-optional)
- [Modules (capabilities)](#modules-capabilities)
- [CLI commands](#cli-commands)
- [Configuration](#configuration)
- [Getting started](#getting-started)
- [Release process](#release-process)
- [Contributing](#contributing)
## Architecture
```mermaid
flowchart TB
subgraph Read["Read highway (fast reads)"]
RSC["RSC pages"]
L["Loaders (React.cache + tags)"]
RepoR["Repos"]
DB[(Postgres / Drizzle)]
RSC --> L --> RepoR --> DB
end
subgraph Write["Write highway (mutations)"]
CC["Client components"]
SA["Server actions"]
RU["Rules (Zod + authz)"]
SV["Services (orchestration)"]
RepoW["Repos"]
CC --> SA --> RU --> SV --> RepoW --> DB
end
subgraph External["External HTTP"]
API["app/api/v1/*"]
WH["Webhooks"]
API --> SV
WH --> SV
end
CFG[["0xstack.config.ts"]]
CFG -.->|gates routes + imports| RSC
CFG -.->|gates routes + imports| API
```
**CLI and repo hygiene loop:**
```mermaid
flowchart LR
INIT[init] --> CFG[0xstack.config.ts]
CFG --> BASE[baseline]
BASE --> DOC[docs-sync]
DOC --> DEV[develop]
DEV --> DOC2[doctor]
DEV --> SYN[sync]
SYN -->|optional| UP[upgrade --apply]
DOC2 --> DEV
```
### Layer definitions
| Layer | Purpose | Rules |
|-------|---------|-------|
| **Repos** | Data access only | No business logic, no imports from UI |
| **Loaders** | Read-only facades | Use `React.cache()`, shape output for viewer/public |
| **Rules** | Business rules for writes | Authz + invariants + validation glue |
| **Services** | Orchestration only | Multi-step flows, transactions, integrations |
| **Server actions** | Internal API for the app | Call `requireAuth()`, validate with Zod, trigger revalidation |
| **API routes** | External only | Call same rules/services as actions |
| **Client hooks** | Transport + cache | TanStack Query only, no business logic |
---
## Naming: 0xstack vs oxstack
The project name is **0xstack** ( **`0xstack`** on npm ) — a leading **zero**, not the letter **o**. Common web search typo: **oxstack**. This section uses both spellings so search engines and readers land in the right place.
## Who is this for?
0xstack fits teams that want:
- A **typed Next.js App Router** codebase with **Zod** validation and a **clear CQRS-style split** (loaders vs actions vs repos).
- **TanStack Query** for **client-side cache and mutations** without putting business logic in hooks.
- **Drizzle** instead of Prisma, and **Better Auth** instead of legacy NextAuth-only patterns.
- **Supabase Postgres** (or any Postgres) with migrations and **optional** modules: **billing** (Dodo or Stripe), **object storage** (GCS, S3, or Supabase Storage), **MDX blog**, **SEO** metadata routes, **PWA**, **observability** stubs.
## The SaaS Starter Landscape
This table is a **high-level tradeoff guide**, helping you choose the right tool for your project requirements.
| Topic | **One-shot Templates** (ShipFast, etc.) | **Component-First** (Shadcn/UI starters) | **0xstack** (The Architecture Engine) |
|------|------------------------------|-------------------------------------|--------------|
| **Core Value** | Speed of initial setup (Zip/Git clone) | Great UI out of the box | **Long-term architecture integrity** |
| **Lifecycle** | "Generating" is the end of the tool's job | Manual updates and maintenance | **Continuous sync, doctor, and baseline** |
| **Architecture** | Often a "flat" structure | Often UI-component centric | **Strict CQRS (Loaders vs. Actions vs. Repos)** |
| **After Day 30** | You own a large, drifted codebase | Manually keeping up with UI updates | **CLI helps reconcile code with config** |
| **AI Experience** | AI can easily break the "flat" layers | AI generates components well | **AI is constrained by architectural rules** |
**When 0xstack is the right fit:** You are building a serious SaaS or internal tool and want a **factory CLI** that keeps **docs, deps, and boundaries** aligned with your config as you grow.
---
## Frequently asked questions
Discovery-oriented answers (T3 Stack, TanStack Query starter, Supabase Drizzle, npm package):
**Is 0xstack a starter or a framework?**
It is an **Architecture Engine**. Unlike a standard starter that you clone once, 0xstack stays with your project. You use the CLI to sync dependencies and enforce boundaries throughout the app's life.
**Is this a TanStack starter?**
It is a **TanStack Query–friendly Next.js starter**: generated apps include **TanStack Query** for client data fetching and cache invalidation; routing and server data use **RSC** and **loaders** per the “two highways” model.
**Supabase Drizzle starter — is Supabase required?**
Any **Postgres** works with **`DATABASE_URL`**. Docs and examples often mention **Supabase** because it is a common host for managed Postgres.
**Next.js server actions starter with architecture enforcement?**
Yes: generated apps prefer **Server Actions** for writes, **`lib/rules`** + **`lib/services`** + **`lib/repos`**, and **`doctor`** checks for common boundary mistakes.
**npm package name?**
**`0xstack`** — search **“0xstack npm”** to install.
## What you need vs optional
### You need
| Requirement | Why |
|-------------|-----|
| **Node.js** (LTS recommended) | CLI + Next.js |
| **npm, pnpm, yarn, or bun** | Install deps; CLI detects lockfiles where relevant |
| **A Postgres database** | Drizzle ORM; docs assume **Supabase** URLs but any Postgres works if `DATABASE_URL` is set |
| **Better Auth–compatible env** | `BETTER_AUTH_SECRET`, `BETTER_AUTH_URL`, session cookies — see generated `.env.example` |
### You do not need on day one
These are **optional modules** (off until enabled in config):
- **Billing** (Dodo or Stripe) and their API keys
- **Object storage** (GCS, S3, or Supabase Storage) and bucket credentials
- **Resend** for transactional email
- **SEO / MDX blog** if you ship a minimal internal app first
- **PWA**, **Sentry**, **OpenTelemetry**, **background jobs** stubs
Run `npx 0xstack doctor` after enabling a module to see missing deps, files, and env keys for that profile.
## Modules (capabilities)
Activation is controlled only through **`0xstack.config.ts`** (`modules` + **`profiles`** like **`core`** / **`full`**). The CLI is built from smaller internal pieces (for example billing core + Dodo or Stripe provider), but you only choose the knobs below.
| `modules` key | When enabled | When off |
|---------------|--------------|----------|
| **`auth`** | Always **`better-auth`** in v1: Drizzle adapter, sessions, auth routes | N/A (fixed) |
| **`orgs`** | Multi-tenant baseline: orgs, membership, org-scoped actions/loaders | Rarely turned off; default presets expect orgs for the app shell |
| **`billing`** | **`dodo`** or **`stripe`**: checkout, portal, webhooks, DB subscription state, `getBillingService()` via factories | **`false`**: no billing API routes or heavy billing imports |
| **`storage`** | **`gcs`**, **`s3`**, or **`supabase`**: signed uploads, assets table, `getStorageService()` | **`false`**: no storage API routes |
| **`email`** | **`resend`**: verify/reset email templates + hooks | **`false`**: no Resend wiring |
| **`cache`** | LRU + tag helpers for RSC | Can disable with **`--no-cache`** on init |
| **`pwa`** | Manifest, SW stub, push scaffolding | No PWA routes or public SW assets |
| **`seo`** | `robots.ts`, `sitemap.ts`, JSON-LD, OG routes, **`getSeoConfig()`** | Those routes/helpers removed |
| **`blogMdx`** | `content/blog`, MDX, blog + RSS | No blog or RSS routes |
| **`observability`** | **`sentry`** / **`otel`** flags install and scaffold instrumentation | Off: lighter deps |
| **`jobs`** | **`enabled`**: reconcile/cron-style API stub for async work | **`enabled: false`**: stub routes absent |
Baseline also wires **security** (proxy, headers, API guards), **webhook ledger** (when billing needs idempotency), and **UI foundation** (shells, marketing pages) so the app matches the PRD shape.
Enable combinations with **`init`** flags, **`wizard`**, **`add <module>`** (see **`0xstack modules`**), or by editing config and running **`baseline`**.
**Progressive factories** (after baseline): **`lib/services/module-factories.ts`** exposes **`getBillingService()`**, **`getStorageService()`**, and **`getSeoConfig()`** so you do not statically import disabled stacks.
## CLI commands
All commands support **`--dir <path>`** where noted (default: current working directory). Package ID on npm is **`0xstack`**; examples use `npx` — use `pnpm dlx` / `yarn dlx` / `bunx` equivalently.
### Lifecycle
| Command | Purpose |
|---------|---------|
| **`init`** | Create Next.js app + 0xstack layout; progressive TUI or **`--yes`** + module flags (`--billing`, `--storage`, `--seo`, `--blog`, `--email`, `--pwa`, `--jobs`, `--sentry`, `--otel`, `--no-cache`, `--pm`, `--name`, `--theme`, `--interactive`) |
| **`baseline`** | Idempotent install: deps, Better Auth schema gen, Drizzle migrations pipeline, **module lifecycle** (install → activate → **consolidated validate** → per-module validate/sync), docs refresh, key indexes **`--profile core|full`**, **`--pm`** |
| **`sync`** | **Plan** deps drift + disabled-module leftovers; **`--apply`** runs baseline + **docs-sync**. Optional **`--lint`**, **`--format`**, **`--drizzle-generate`** (with `--apply`). **`--profile`**, **`--pm`** |
| **`upgrade`** | **Plan** or **`--apply`**: refresh PRD hygiene (config keys, runtime Zod schema, ESLint boundaries file, module factories, Vitest stub) without full codemods |
| **`doctor`** | Env schema keys, deps for enabled modules, file presence, import boundaries, migrations hints. **`--strict`**: also fail on missing generated-domain tests, ESLint boundary bundle, module factories |
### Generators and modules
| Command | Purpose |
|---------|---------|
| **`generate <domain>`** | Schema slice, repo, service, loader, rules, actions, query/mutation keys, hooks (if **`--with-api`**), UI page stub, optional **`/api/v1/<plural>`**, minimal **Vitest** tests under `tests/<plural>/` |
| **`add <module>`** | Enable a module in config and run baseline (ids: **`0xstack modules`**) |
| **`modules`** | Print installable module ids for **`add`** |
### Config and insight
| Command | Purpose |
|---------|---------|
| **`config-print`** | Resolved **JSON** after profile merge **`--profile`** |
| **`config-validate`** | Zod validation of **`0xstack.config.ts`** |
| **`deps`** | Expected **app** deps from config; **`--cli`** lists this CLI’s deps |
| **`wizard`** | Interactive reconfiguration + baseline **`--profile`**, **`--pm`** |
### Docs and vendor CLIs
| Command | Purpose |
|---------|---------|
| **`docs-sync`** (alias **`docs:sync`**) | Regenerate marker-backed docs (`--profile`) |
| **`shadcn [...args]`** | Passthrough **`shadcn@latest`** |
| **`auth [...args]`** | Passthrough **`auth@latest`** (Better Auth CLI) |
| **`drizzle [...args]`** | **`drizzle-kit`** via local package manager |
| **`wrap`** | Short help for wrappers and operator helpers |
### Git and release
| Command | Purpose |
|---------|---------|
| **`git init`** | `git init` in project dir |
| **`git status`** | `git status` |
| **`git commit`** | Prompted **Conventional Commit** (type / scope / subject) or **`-m` / `--message`** |
| **`release`** | If **`.changeset`** exists, runs **`npx @changesets/cli status`**; otherwise prints adoption hints |
## Configuration
- Primary file: **`0xstack.config.ts`** using **`defineConfig`** from **`lib/0xstack/config.ts`**
- **Profiles** (e.g. **`core`**, **`full`**) patch **`modules`** for repeatable presets
- **`baseline`** / **`sync --apply`** / **`wizard`** read this file; **`doctor`** / **`sync`** validate it
## Getting started
This package is published to **npm**, and works with **npm / pnpm / yarn / bun**.
### npm
```bash
npx 0xstack init
```
### pnpm
```bash
pnpm dlx 0xstack init
```
### yarn
```bash
yarn dlx 0xstack init
```
### bun
```bash
bunx 0xstack init
```
Typical flow after init:
```bash
npx 0xstack baseline --profile full
cp .env.example .env.local
npx 0xstack doctor --profile full
pnpm dev
```
## 🎯 Why 0xstack for Vibecoders & AI-First Devs
If you are a **"vibecoder"**—someone who flows with creativity, experiments fast, and leans on **AI-assisted development** (Cursor, GitHub Copilot, or AI Agents)—0xstack is designed to be your best friend.
When you're generating code with AI at 100mph, you need a framework that acts as a **mentor**, ensuring that even your most "vibey" sessions result in a scalable, production-ready codebase.
### 🚀 Why it vibes with AI-assisted dev:
- **Guardrail Architecture**: CQRS (Reads/Writes separation) enforces discipline automatically. If you drop AI-generated logic into the repo, the framework nudges you to put it in the right layer (Rules vs. Services vs. Repos).
- **AI Synergy**: AI agents perform better when they have clear boundaries. 0xstack's strict folder structure and `doctor` command ensure that AI-generated boilerplate fits into a predictable, robust pattern.
- **No "Rewrite Wall"**: Most "fast" prototypes hit a wall and need a complete rewrite at 10k users. with 0xstack, you prototype *and* build for scale simultaneously. You don't have to choose between speed and stability.
- **Self-Healing Loop**: Use **`baseline`**, **`sync`**, and **`doctor`** to auto-reconcile your repo. If your AI coding session drifts too far, the CLI helps pull the architecture back into alignment.
### 🧭 The Paradigm Difference
- **One-shot Boilerplates**: Great for a weekend project where you want to hack something together and ship.
- **0xstack**: Great for devs who want to build a serious SaaS that stays clean, secure, and professional as it grows.
👉 **Build the "right way" from the start.** 0xstack lets you vibe with AI while keeping your architecture professional, modular, and ready for production drift.
---
## Release process
See [`RELEASING.md`](RELEASING.md).
## Contributing
See [`CONTRIBUTING.md`](CONTRIBUTING.md). Please read it before opening a PR.
[downloads-image]: https://img.shields.io/npm/dm/0xstack
[npm-url]: https://www.npmjs.com/package/0xstack
[npm-image]: https://img.shields.io/npm/v/0xstack
[license-url]: ./LICENSE
[license-image]: https://img.shields.io/npm/l/0xstack
[contribute-url]: ./CONTRIBUTING.md
[contribute-image]: https://img.shields.io/badge/PRs-welcome-blue.svg
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

ai-website-cloner-template
Clone any website with one command using AI coding agents
Next.js · 启动器

Next.js SaaS Starter
Next.js SaaS Starter 是 Next.js 官方维护的 SaaS 起点模板,定位介于学习资源和可直接部署的脚手架之间。
Next.js · SaaS

Next.js Commerce
Next.js Commerce 是 Vercel 团队维护的电商启动模板,基于 Next.js App Router 构建,采用服务端渲染、React Server Components、Server Actions …
Next.js · 电商

Next-js-Boilerplate
Next-js-Boilerplate 是一个面向 Next.js 16、Tailwind CSS 4 和 TypeScript 的启动器,核心定位是开发者体验优先。
Next.js · 启动器

tailwind-nextjs-starter-blog
tailwind-nextjs-starter-blog 是一个面向个人技术博客的 Next.js 与 Tailwind CSS 启动模板,其 v2 版本基于 App Router 与 React Server Comp…
Next.js · 博客

next-forge
Production-grade Turborepo template for Next.js apps.
Next.js · 启动器
