关于 scaffold
scaffold 是一项在现有代码库中按本地模式增量生成代码的开发技能,适用于需要添加模块、组件或其他代码结构的开发者。它先查找相似实现,并明确列出文件变更及后续测试步骤。
主要功能
- 01生成端点、模块、组件、包或模型
- 02查找至少三个相似实现
- 03沿用代码库命名与文件结构
- 04覆盖文件前请求确认
- 05报告创建文件和后续步骤
适用场景
- 01在现有项目中添加 API 端点
- 02按项目模式创建 UI 组件
- 03为共享包或数据库模型生成结构
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ shipshitdev/ skills --skill scaffold安装后在 Claude Code 中输入/scaffold确认已加载。
附带文件plugin.json
详细介绍
Scaffold
在现有代码库中生成增量代码,并遵循本地代码模式。
Contract
输入:
- Scaffold 目标类型和名称
- 代码库根目录
- 可参考的现有示例
输出:
- 创建或修改的文件
- 从现有代码中沿用的模式
- 后续手动步骤和需要运行的测试
创建/修改:
- 针对所请求的模块/组件/包创建本地源文件、测试文件和导出文件
- 不会创建完整的产品代码库
外部副作用:
- 无
需要确认:
- 覆盖现有文件之前
- 当匹配示例少于 3 个时,引入新模式之前
委托给:
- 用户需要创建全新项目时,交给
project-init-orchestrator - 用户需要创建新的 Shipshit.dev 产品代码库时,交给
project-init-orchestrator(v0 路线)/npx @shipshitdev/v0 - NestJS、React、shadcn 或 TypeScript 等框架专用技能,例如
nestjs-expert、react-patterns、shadcn或typescript-expert
Steps
-
根据参数确定要 scaffold 的内容:
endpoint [name]— 新建 API 端点(控制器 + 服务 + 模块)module [name]— 新建包含完整结构的后端模块component [name]— 新建带有适当类型定义的 UI 组件package [name]— 新建共享包model [name]— 新建数据库模型(Prisma)及其服务
-
查找 3 个或更多现有示例:
- 在代码库中搜索相似实现
- 确认使用的具体模式(导入、命名、文件结构)
- 记录任何模块专属约定
-
根据类型 scaffold:
API Endpoint
- 在适当目录中创建控制器、服务和模块
- 遵循以下模式:身份验证守卫、租户筛选、序列化器响应
UI Component
- 创建带有适当类型定义的组件文件
- 在专用 props 文件中定义 props 接口
- 从 barrel 文件导出
Shared Package
- 创建包含 package.json 的目录
- Barrel 导出:
src/index.ts - TypeScript 配置
Database Model
- 创建 Prisma 模型文件和迁移
- 在共享接口包中定义接口
- 在共享序列化器包中创建序列化器(如适用)
-
应用关键规则:
- 接口应放在专用文件中,而不是内联定义
- 使用路径别名,而不是相对导入
- 在所有查询中添加租户/组织筛选(如适用)
-
报告:列出所有创建的文件以及所需的任何手动步骤
Arguments
- 必填:要 scaffold 的内容(例如,"endpoint tasks"、"component ImageGrid"、"model workflows")
评论
支持 Markdown