关于 create-project
create-project 是用于创建 Dart 或 Flutter 项目的技能,面向需要从模板开始搭建项目的开发者。它通过 Very Good CLI MCP 服务推断合适模板、收集必要信息,并在创建后安装依赖。
主要功能
- 01基于需求推断项目模板
- 02询问缺失的项目参数
- 03使用 Very Good CLI MCP 服务创建项目
- 04创建后安装依赖
- 05处理 Dart 包命名和组织名要求
适用场景
- 01从模板初始化 Dart 包或 Flutter 应用
- 02按分层架构创建数据层或仓储层包
- 03在创建新项目后安装依赖
MCP 相关
该技能调用 Very Good CLI MCP 服务来创建项目并安装依赖。若服务不可用,可改用相应的 very_good 命令。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ verygoodopensource/ vgv-ai-flutter-plugin --skill create-project安装后在 Claude Code 中输入/create-project确认已加载。
附带文件agents/openai.yaml
详细介绍
创建项目
使用 Very Good CLI 模板搭建新的 Dart 或 Flutter 项目。
跨运行环境的回退方案。 此技能会调用 Very Good CLI MCP 服务,并向用户提出结构化问题。在没有此插件的 Bash 钩子且未连接该 MCP 服务的主机上,直接运行等效的
very_good create …和very_good packages get命令。在不支持AskUserQuestion的主机上,调用主机提供的任何等效用户提问工具;如果没有,则以普通编号文本提出相同的问题。
核心规范
- 使用 Very Good CLI MCP 服务搭建项目并安装依赖
- 根据上下文推断模板——根据用户想构建的内容确定合适的模板,而不是让他们选择子命令名称
- 仅针对无法推断的信息使用
AskUserQuestion——项目名称和组织名称是最常缺少的信息 - 创建后安装依赖
工作流
第 1 步:了解用户想构建什么
根据用户的描述推断子命令——可用子命令及其说明由 Very Good CLI MCP 服务定义。
如果意图不明确,使用 AskUserQuestion 提出关于他们要构建什么的高层问题,而不是询问他们想要哪个子命令。
第 2 步:收集缺失的参数
一次调用 AskUserQuestion,询问无法推断的信息。除非用户主动提出,否则将可选参数(描述、输出目录、应用 ID)保留为默认值。
第 3 步:创建并设置
- 使用 Very Good CLI MCP 服务创建项目
- 使用 Very Good CLI MCP 服务安装依赖——将
directory: '<path-to-created-project>'传递给packages_get,确保它针对新项目运行,而不是工作区根目录
关键领域知识
- 对于分层架构模式中的数据层和仓库层包,使用
dart_package(而非flutter_package)——这些包不得依赖 Flutter SDK - 如果用户提供的项目名称包含连字符,请将其转换为下划线——Dart 包名称仅允许使用小写字母、数字和下划线
- 生成应用、插件或游戏的模板需要组织名称——不要跳过,否则会默认使用占位值
- 如果创建后
packages_get失败,请检查directory是否指向新项目,以及 Dart SDK 是否位于PATH中
反模式
| 反模式 | 问题 | 正确做法 |
|---|---|---|
| 让用户选择模板名称 | 用户会按要构建的内容思考,而不是按 CLI 子命令思考 | 根据上下文推断模板 |
| 过多询问可选参数 | 会拖慢工作流 | 仅询问无法推断的信息 |
在数据层使用 flutter_package | 会引入不必要的 Flutter SDK 依赖 | 对数据层和仓库层包使用 dart_package |
| 为应用或插件跳过组织名称 | 会默认使用占位值 | 模板要求时进行询问 |
评论
支持 Markdown