MinSomai/payload-arch-skill
GitHub: MinSomai/payload-arch-skill
一个 Claude Code 技能插件,为 PayloadCMS 项目强制实施分层架构和代码组织规范,确保 AI 辅助开发时自动遵循 route → controller → service → store 的结构约定。
Stars: 2 | Forks: 0
# 用于 Claude 的 payload-arch 技能
一个用于 [PayloadCMS](https://payloadcms.com) 项目的 Claude Code 技能,强制实施分层 **route → controller → service → store** 架构。
此技能基于 PayloadCMS 团队官方的 [`payload` 技能](https://github.com/payloadcms/skills) 构建。该技能涵盖了框架本身——collections、hooks、queries 和访问控制。而本技能涵盖了其上的架构层:如何构建代码结构、代码存放位置,以及各层之间如何通信。
## 强制执行的规则
**后端层(仅向内依赖流)**
- `src/routes/` — 仅注册 endpoint,无逻辑
- `src/controllers/` — HTTP 解析和响应格式化,委托给 services
- `src/services/` — 所有业务逻辑,可调用其他 services 和 stores
- `src/store/` — 仅执行 Payload CRUD,无业务逻辑,绝不调用 services
**前端**
- 使用 SWR + `payloadClientSDK` 获取所有客户端数据
- Server pages 用于权限检查和主要实体获取,client components 用于所有动态内容
- 使用轮询模式处理实时的 job/evaluation 状态
**项目结构**
- `src/types/` — 领域 TypeScript 类型
- `src/utils/` — 特定领域的纯工具函数
- `src/lib/` — 通用纯工具函数(无领域依赖)
- `src/access/` — Payload 访问控制函数
- `src/const/` — 冻结的常量,全部从 index 重新导出
- `src/config/config.ts` — 唯一读取 `process.env` 的地方
- `src/jobs/` — 任务定义和工作流,按领域拆分为两个文件
技能中包含 **CLAUDE.md 模板** —— 在任何新的 PayloadCMS 项目中放入一个轻量级的、特定于项目的 `CLAUDE.md`,让此技能处理其余部分。
## 安装
将此仓库注册为 Claude Code 插件市场:
`/plugin marketplace add MinSomai/payload-arch-skill`
然后安装该技能:
1. 在 Claude Code 中运行 `/plugin`
2. 选择 **Browse and install plugins**
3. 选择 `payload-arch-skill`
4. 选择 `payload-arch`
## 用法
安装后,当你处理遵循此架构的 PayloadCMS 项目时,该技能会自动触发。当你提到 routes、controllers、services、stores、jobs、SWR、components 或数据获取时,它就会被激活。
你也可以显式调用它:
`/payload-arch where should this logic live?`
## 最佳搭配
安装官方 PayloadCMS 技能以获取深入的框架参考(collections、hooks、queries):
`npx skills add payloadcms/skills`
这两个技能互为补充——`payload` 涵盖了框架能做什么,而 `payload-arch` 涵盖了如何在框架之上构建你的项目结构。
## 许可证
MIT
标签:AI辅助开发, Claude Code, PayloadCMS, 代码规范, 插件, 架构规范