SuperAPI AI 工具集

laravel-nova-5

编程与开发

查看项目

更新于 10-15 23:42

技能介绍

用途:在 Laravel Nova 5 项目中实现或审查 Nova 功能,包括资源、字段、关系、动作、过滤器、透镜、指标、仪表盘、策略、文件字段、工具与卡片。核心要求是使用与已安装版本匹配的官方 Nova 与 Laravel API,不臆造框架签名。

前置门槛:生成或修改 Nova 代码前,先读 composer.json,再读 composer.lock 定位 laravel/nova 并记录确切版本,确认解析为 Nova 5.x,同时记录 Laravel 与 PHP 约束;检查邻近 Nova 资源、App\Nova\Resource、NovaServiceProvider、策略、测试与组件脚手架。若 Composer 文件缺失、无 laravel/nova 或未解析到 Nova 5,应停止并报告证据。仅“后台面板”“通用 CRUD”或 Laravel 授权策略不足以启用本技能;若代码使用 filament/filament 或 Filament 命名空间,应转用 Filament 技能;两者并存时只处理明确属于 Nova 的文件与命名空间。

文档协议:先获取 https://nova.laravel.com/docs/llms.txt,再选对应版本页并抓取 /docs/v5/ 的 Markdown URL;Laravel 行为用与已安装主版本匹配的官方文档;技能编写参考 https://cursor.com/docs/skills。优先采用项目生成的 Nova stub 与已安装官方包签名。不得猜测类、命名空间、方法名、参数顺序、返回类型、策略钩子、Artisan 命令或前端脚手架;无法确认就省略、标注不确定或索要证据,不得从 Nova 4、Filament 或社区包静默移植 API。

主要约束:保留项目约定,除非与确认的 Nova 5 API 冲突;补全 import,省略时标注 // Fragment: imports and enclosing class omitted.;匹配已安装版本的方法签名;授权保持在服务端,canSee 等 UI 可见性不能替代策略、gate 或路由中间件;定义功能相关的全部策略方法;关系标签、Eloquent 方法名与相关 Nova 资源类需刻意匹配,不无条件套用复数化;仅在展示标题、副标题、字段或查询确有收益时加预加载;仅对超出客户端安全渲染范围的 ID 字段链式调用 ->asBigInt();按负载与投递语义决定是否队列化动作,队列动作不能含 File 字段;仅本地公共磁盘需要常规 public/storage 链接时运行 storage:link;自定义字段、卡片、过滤器与工具从 Nova 生成脚手架起步,保留其构建栈;避免无谓轮询、预加载、自定义资源或昂贵指标查询;不得修改 vendor 代码或在公开分发中暴露 Nova 源码。

参考与流程:按需完整阅读资源、字段、关系、授权、文件、动作/过滤器/透镜、指标与仪表盘、自定义、测试等参考文件。流程为确认技术栈门槛与本地约定、抓取对应官方 v5 页面、阅读匹配参考、做最小兼容改动(含 import 与授权)、用项目格式化器格式化、先跑最窄相关测试再按风险扩展、复查改动中未文档化的 Nova API 并报告仍需浏览器或集成验证的行为。

验证:至少验证 PHP 语法与项目可用的定向测试或静态分析命令;授权需覆盖允许与拒绝路径;持久化需覆盖创建/更新校验与模型影响;动作、过滤器、指标、文件或自定义前端包仅在风险需要时增加集成或浏览器检查。