CLAUDE.md@by-scenario/fullstack-saas claudeA
CLAUDE.md@by-scenario/fullstack-saas is agent-read markdown (claude) from overseastelegramaliterateperson865/awesome-claude-md.
Indexed from public GitHub and served as immutable, content-addressed versions. Install it pinned to an exact SHA-256 with the mdr CLI, and every file is verified against the hash recorded here before it reaches your agent. The deterministic audit below grades the latest version, and the same file always earns the same grade.
What the file says
# Full-Stack SaaS 项目规范
## 项目结构
- `frontend/` - 前端(React/Next.js);`backend/` - 后端(Node.js/NestJS)
- `shared/` - 共享类型和常量;`database/` - migrations 和 seed 脚本
- `infra/` - 基础设施(Docker、Terraform);`docker-compose.yml` - 本地环境编排
## 前后端分离规范
- 前后端通过 REST API 或 tRPC 通信,接口定义放 `shared/api-types.ts`
- 前端禁止直接访问数据库或依赖后端内部模块
- API 响应格式统一:`{ code: number, data: T, message: string }`
- 错误码前后端共享,定义在 `shared/error-codes.ts`
- 前端使用 `react-query` / `swr` 管理服务端状态,禁止在组件内裸调 fetch
## 认证与授权
- 使用 JWT access token(短期,15min)+ refresh token(长期,7d)双 token 模式
- access token 放 Authorization header,refresh token 放 httpOnly cookie
- 后端每个路由通过 middleware 校验权限,格式:`requireRole('admin')`
- 多租户隔离:所有数据库查询必须带 `tenant_id` 条件,ORM 层统一注入
- OAuth 第三方登录(Google/GitHub)回调处理放 `backend/src/auth/providers/`
## 数据库与 Migration
- 使用 Prisma 或 Drizzle 作为 ORM,schema 即文档
- 每次 schema 变更必须生成 migration 文件:`npx prisma migrate dev --name <描述>`
- migration 文件禁止手动修改已提交的历史记录,只能追加新 migration
- 表名使用 snake_case 复数形式(`users`、`subscription_plans`)
- 必须包含 `created_at`、`updated_at` 字段,软删除加 `deleted_at`
- seed 脚本提供开发环境基础数据,执行命令:`pnpm db:seed`
## 环境变量管理
- 每个服务维护 `.env.example` 列出所有需要的环境变量(不含实际值)
- 敏感变量(API key、DB 密码)禁止提交到代码仓库
…Read the whole file at its exact version.
How to install
mdr add overseastelegramaliterateperson865/awesome-claude-md/by-scenario/fullstack-saas/CLAUDE.md@git:20260320.fcf2609mdr add overseastelegramaliterateperson865/awesome-claude-md/by-scenario/fullstack-saas/CLAUDE.md@sha256:32a94d07909a0af2Pin to a label to follow the author's releases, or to a sha256 to freeze the exact bytes forever. Either way the resolved hash is written to mdr.lock, and mdr install reproduces it on any machine.
[](https://markdownregistry.com/a/art_ftrerxdx7b22sjzw)
1 badge views in 30 days
Versions
Audit of the latest version
- pass: Size between 200 bytes and 200 KB (2867 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
overseastelegramaliterateperson865/awesome-claude-md · 3 stars · license MIT · pushed 2026-09-23 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_ftrerxdx7b22sjzw GET https://markdownregistry.com/api/v1/resolve?ref=overseastelegramaliterateperson865/awesome-claude-md/by-scenario/fullstack-saas/CLAUDE.md GET https://markdownregistry.com/api/v1/blob/32a94d07909a0af223270c9b936eac71b98e80bd07f6a89fa89e2df5d9d57a7f
Your agent does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
More from overseastelegramaliterateperson865/awesome-claude-md
Every file in overseastelegramaliterateperson865/awesome-claude-md