shemic-dever
SKILL.md
shemic-dever
Overview
这个 skill 同时覆盖:
- 空项目冷启动
- 现有 Dever 项目继续开发
主参考:
references/module.md(module 业务开发主手册)references/boot.md(冷启动入口)scripts/boot.sh(一键初始化脚本)scripts/module.sh(业务模块脚手架脚本)
When to Use
出现以下任一情况时使用:
- 空项目要从 0 搭建 Dever 工程
- 新增模块或改动
module/*下代码 - 新增/修改 Model、Service、Provider、API、中间件
- 需要确认
Dever.Load可调用写法 - 需要统一执行注册文件生成流程
Mode Selection
- 冷启动模式:项目还没有完整骨架(缺少
go.mod/main.go/module/config)。 - 迭代模式:项目骨架已存在,仅做业务增量开发。
- 业务实现模式:无论冷启动还是迭代,只要要写
module业务代码,都按references/module.md执行。
Mandatory Rules
- 框架来源是
github.com/shemic/dever(来自go.mod),不要依赖本地./dever目录命令。 - 改了
module目录代码后,执行一次:go run github.com/shemic/dever/cmd/dever@main init --skip-tidy
- 不要手改生成文件:
data/router.godata/load/model.godata/load/service.go
- API 参数统一使用
c.Input(...)(包含 path/query/form/json body 字段)。 - API 必须是结构体方法,方法前缀使用
Get/Post/Put/Delete。 - 如需严格可复现,优先使用
go.mod中锁定的 dever 版本号替代@main。
Cold-Start Workflow (Empty Project)
当项目是空的或仅有 go.mod 时:
- 优先运行脚本:
bash scripts/boot.sh <module_name> [dever_version] [app_name] [port]
- 按需生成业务模块骨架:
bash scripts/module.sh <module_dir> <resource_name> [dever_version]
- 再按
references/module.md写业务代码。
Iteration Workflow (Existing Project)
- 明确本次改动属于哪类:
config/model/service/api/middleware。 - 需要新资源时先生成骨架:
bash scripts/module.sh <module_dir> <resource_name> [dever_version]
- 在
module/<name>下实现业务代码(严格按references/module.md)。 - 执行一次初始化生成:
go run github.com/shemic/dever/cmd/dever@main init --skip-tidy
- 检查生成文件是否正确更新。
- 汇报变更时给出:
- 改动文件列表
- 路由清单
load注册名清单
Requirement-To-Interface Delivery
当输入是“需求描述”,按这个顺序产出接口:
- 从需求提取:模块名、资源名、接口动作(list/info/add/update/delete)、权限规则、状态规则。
- 先生成骨架:
bash scripts/module.sh <module_dir> <resource_name> [dever_version]
- 再补业务规则:
- Model 字段和索引
- Service 校验和状态流转
- API 入参与错误返回
- Provider(如果要被
Dever.Load调用)
- 执行一次:
go run github.com/shemic/dever/cmd/dever@main init --skip-tidy
- 输出路由与 load 注册名给开发者确认。
How To Use references/module.md
这是业务开发主线文档,默认必读。
使用方式:
- 新建模块:直接按该文档的“新建模块完整流程(从 0 写业务)”执行。
- 续写模块:按“续写现有模块完整流程(增量改业务)”执行。
- 代码层面严格遵守其模板:Model -> Service -> Provider -> API -> Middleware -> init 生成。
Quick Conventions
Config
- 配置文件:
config/setting.json - 读取入口:
github.com/shemic/dever/config的Load("")
Model
- 使用
orm.LoadModel[T](...) module/*/model中尽量只放模型相关导出函数,避免误被扫描注册
Service + Provider
- 业务方法可自由签名(推荐
ctx + 明确参数) - Provider 推荐签名:
func (XxxService) ProviderAbc(c *server.Context, params []any) any
- Provider 名称按生成结果调用(不要手写猜测)
API
- 结构体方法映射路由
- 返回统一使用
c.JSON(...)/c.Error(...) - 鉴权用户一般从
mid.GetUid(c.Context())获取 - 参数统一走
c.Input(...)
Middleware
- 统一在
middleware/Register()挂载 - 全局优先
coremiddleware.Init()+ 项目自定义中间件
Optional Debug Commands
仅在排查问题时按需执行:
go run github.com/shemic/dever/cmd/dever@main modelgo run github.com/shemic/dever/cmd/dever@main servicego run github.com/shemic/dever/cmd/dever@main routes
Done Criteria
满足以下条件才算完成:
- 模式选择正确(冷启动/迭代)
- 业务代码与目录约定一致
init --skip-tidy已执行- 生成文件已更新且未手改
- 输出包含路由与 load 注册信息
- 若涉及 module 业务改动,已按
references/module.md的交付要求输出业务规则说明
Weekly Installs
2
Repository
shemic/skills-deverFirst Seen
13 days ago
Security Audits
Installed on
cline2
gemini-cli2
github-copilot2
codex2
kimi-cli2
cursor2