mcpField
L
laravel:nova:resource-patterns

laravel:nova:resource-patterns

github.com/jpcaparas开发157108 次安装17 周前更新
代码仓库

关于 laravel:nova:resource-patterns

面向 Laravel Nova 开发者的资源设计指南,围绕字段、授权、操作、筛选、指标和测试建立一致的资源模式。

主要功能

  1. 01组织字段顺序与关系
  2. 02配置授权策略和查询范围
  3. 03设计安全且可反馈的操作
  4. 04区分筛选器与任务视图
  5. 05规划指标与资源分组
  6. 06测试策略、查询和操作

适用场景

  1. 01构建与领域模型一致的 Nova 资源
  2. 02限制未授权用户的搜索结果
  3. 03为资源操作提供安全确认和结果反馈
  4. 04测试策略、查询范围及操作状态

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jpcaparas/superpowers-laravel --skill laravel:nova:resource-patterns

安装后在 Claude Code 中输入/laravel:nova:resource-patterns确认已加载。

详细介绍

Nova 资源模式

构建一致的 Nova 资源,使其反映领域模型并能够安全演进。

字段

  • 按以下顺序排列字段:标识符 → 主要属性 → 关系 → 元数据
  • 在有实际价值时使用 ->sortable()/->filterable()
  • 除非必要,否则在索引页和详情页中隐藏敏感字段(例如令牌)
  • 优先使用带可搜索约束的 BelongsTo/HasMany/Morph* 关系

授权

  • 使用 Nova 策略,并与模型策略保持一致,涵盖 viewAny、view、create、update、delete
  • 避免通过未经授权的搜索泄露数据是否存在;限定查询范围

操作

  • 确保操作具备幂等性,或提供防护措施
  • 提供确认消息和清晰的结果反馈

筛选器与透镜

  • 筛选器:简单且常用的约束条件(状态、所有者、日期范围)
  • 透镜:观点鲜明、以任务为中心的视图(例如,过期项目)

指标

  • 对关键指标使用 Value/Trend/Partition 指标;适当进行缓存
  • 使用明确的时间范围;清晰标注单位

资源组织

  • 按领域对资源分组(导航分组)
  • 保持显示标题有意义;始终使用 title()

测试

  • 优先编写功能测试,覆盖策略、查询范围和资源逻辑
  • 对于操作,使用真实的种子数据测试成功和失败状态

评论

支持 Markdown