chore: 纳入 Cursor 项目规则并忽略本地运行时数据

补充 .cursor 规则/技能与记忆;gitignore 排除 backend/cmd/jiang13/data 与调试日志。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-16 00:25:34 +08:00
parent 8c5de13899
commit 11548eec97
7 changed files with 444 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
---
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 显隐