--- description: jiang13-bbs 核心铁律(自 Trae 项目记忆导入):技术栈、Next/Go 约束、SEO、权限 alwaysApply: true --- # jiang13-bbs 核心铁律 详细原文见 [`.cursor/project_memory.md`](../project_memory.md)(自 Trae `project_memory.md` 导入并持续更新)。 ## 记忆初始化指令(必须遵守) 1. 项目使用 Go 1.27 + Next.js 16,禁止生成旧版本惯用代码 2. Next.js 16 的 params 等必须 await,这是最高频错误,每次生成后自查 3. 如果部署环境涉及 Cloudflare Workers,middleware.ts 不能改名为 proxy.ts 4. 所有 SEO 关键内容必须在初始 HTML 中,不接受客户端注入 5. 权限逻辑只在 Go 端,前端不做权限判定 6. 遇到不确定的 Next.js 16 或 Go 1.27 特性,先查官方文档再生成代码 ## 技术栈 - Go 1.27 + Gin;Next.js 16 (App Router) + TypeScript + Tailwind CSS;PostgreSQL ## Next.js 16 - `params` / `searchParams` / `cookies()` / `headers()` / `draftMode()` **必须 await** - Cloudflare Workers:保持 `middleware.ts`(OpenNext 不识别 `proxy.ts`) - 所有 `@folder` 必须有 `default.tsx`;用 Metadata API,禁止 `next/head` - 交互组件必须 `'use client'` - 纯 SSR:禁止骨架屏闪动(无 `app/loading.tsx` / Skeleton) ## Go 1.27 - 优先泛型方法;`encoding/json/v2`;标准库 uuid;嵌入字段可直接初始化 ## SEO - 公开页 SSR/ISR;title/description/OG/JSON-LD 必须在初始 HTML - 帖子详情 `DiscussionForumPosting` JSON-LD;必须有 `sitemap.ts` / `robots.ts` ## 权限 - 校验只在 Go;受保护 API 走 RBAC;登录 20/分、注册 10/分、新用户发帖 24h 冷静期 - 角色:owner > super_admin > admin > board_admin > user;前端 `lib/roles.ts` 只控制 UI 显隐