@deepstorm/cli 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -125,11 +125,11 @@ function buildRegistry(cliDir) {
125
125
  console.log(` \u26A0 ${pkg}/${skillName}: frontmatter \u89E3\u6790\u5931\u8D25\uFF0C\u8DF3\u8FC7`);
126
126
  continue;
127
127
  }
128
- if (!fm.deepstormm) {
129
- console.log(` - ${pkg}/${skillName}: \u65E0 deepstormm \u5B57\u6BB5\uFF0C\u8DF3\u8FC7\u6CE8\u518C`);
128
+ if (!fm.deepstorm) {
129
+ console.log(` - ${pkg}/${skillName}: \u65E0 deepstorm \u5B57\u6BB5\uFF0C\u8DF3\u8FC7\u6CE8\u518C`);
130
130
  continue;
131
131
  }
132
- const df = fm.deepstormm;
132
+ const df = fm.deepstorm;
133
133
  const entry = {
134
134
  tool: df.tool,
135
135
  configKey: df.configKey,
package/dist/cli.js CHANGED
@@ -6609,7 +6609,7 @@ function buildMcpCapabilities(mcpCapabilities, installedMcpServers, mcpTools) {
6609
6609
  return JSON.stringify(result);
6610
6610
  }
6611
6611
  function deriveVariableName(frontmatter) {
6612
- const deepstorm = frontmatter.deepstormm;
6612
+ const deepstorm = frontmatter.deepstorm;
6613
6613
  const tool = deepstorm?.tool;
6614
6614
  if (tool && /^[a-z_]+$/.test(tool)) {
6615
6615
  return `${tool}_capabilities`;
@@ -8116,6 +8116,9 @@ function registerTemplateCommand(program2, registry2) {
8116
8116
  });
8117
8117
  }
8118
8118
 
8119
+ // src/commands/update.ts
8120
+ var import_node_child_process = require("node:child_process");
8121
+
8119
8122
  // src/utils/version.ts
8120
8123
  var fs19 = __toESM(require("node:fs"));
8121
8124
  var path17 = __toESM(require("node:path"));
@@ -8211,9 +8214,15 @@ async function updateCLI(fetchFn) {
8211
8214
  console.log(`\u2714 \u5F53\u524D\u7248\u672C: v${result.current}`);
8212
8215
  console.log(`\u2714 \u6700\u65B0\u7248\u672C: v${result.latest}`);
8213
8216
  if (result.hasUpdate) {
8214
- console.log("");
8215
- console.log("\u2192 \u8FD0\u884C\u4EE5\u4E0B\u547D\u4EE4\u66F4\u65B0\uFF1A");
8216
- console.log(" npm install -g @deepstorm/cli@latest");
8217
+ console.log("\u2192 \u6B63\u5728\u81EA\u52A8\u66F4\u65B0...");
8218
+ try {
8219
+ (0, import_node_child_process.execSync)("npm install -g @deepstorm/cli@latest", { stdio: "inherit" });
8220
+ console.log(`
8221
+ \u2714 \u5DF2\u66F4\u65B0\u81F3 v${result.latest}`);
8222
+ } catch {
8223
+ console.log("\n\u26A0 \u81EA\u52A8\u66F4\u65B0\u5931\u8D25\uFF0C\u8BF7\u624B\u52A8\u6267\u884C\uFF1A");
8224
+ console.log(" npm install -g @deepstorm/cli@latest");
8225
+ }
8217
8226
  } else {
8218
8227
  console.log("\u2713 \u5DF2\u662F\u6700\u65B0\u7248\u672C");
8219
8228
  }
@@ -8227,15 +8236,9 @@ function registerUpdateCommand(program2, registry2) {
8227
8236
  updateCmd.option("--check", "\u4EC5\u68C0\u67E5 npm \u6700\u65B0\u7248\u672C").option("--cli", "\u66F4\u65B0 CLI \u81EA\u8EAB").option("--skills", "\u540C\u6B65 skill \u6A21\u677F\u5230\u672C\u5730").action(async (options) => {
8228
8237
  const { check, cli, skills } = options;
8229
8238
  if (!check && !cli && !skills) {
8230
- const result = await checkNpmVersion();
8231
- printVersionInfo(result);
8232
- if (result.latest) {
8233
- console.log("");
8234
- upgradeTemplates(cliDir2, process.cwd(), Object.keys(registry2.skills));
8235
- } else {
8236
- console.log("");
8237
- console.log("\u8DF3\u8FC7 skill \u540C\u6B65\uFF08\u7248\u672C\u68C0\u67E5\u5931\u8D25\u65F6\u4FDD\u7559\u73B0\u6709\u6A21\u677F\uFF09");
8238
- }
8239
+ await updateCLI();
8240
+ console.log("");
8241
+ upgradeTemplates(cliDir2, process.cwd(), Object.keys(registry2.skills));
8239
8242
  return;
8240
8243
  }
8241
8244
  if (check) {
@@ -8555,7 +8558,7 @@ async function uninstallDeepStorm(targetDir) {
8555
8558
 
8556
8559
  // src/index.ts
8557
8560
  var program = new import_commander.Command();
8558
- program.name("deepstorm").description("DeepStorm CLI \u2014 \u4E00\u952E\u914D\u7F6E\u9879\u76EE\u5F00\u53D1\u73AF\u5883").version(getCliVersion());
8561
+ program.name("deepstorm").description("DeepStorm CLI \u2014 \u4E00\u952E\u914D\u7F6E\u9879\u76EE\u5F00\u53D1\u73AF\u5883").version(getCliVersion(), "-v, --version", "\u8F93\u51FA\u7248\u672C\u53F7");
8559
8562
  function loadRegistry() {
8560
8563
  const registryPath = path21.join(__dirname, "registry.json");
8561
8564
  try {
@@ -807,7 +807,100 @@
807
807
  "questions": []
808
808
  }
809
809
  },
810
- "skills": {},
810
+ "skills": {
811
+ "tide-discuss": {
812
+ "tool": "tide",
813
+ "name": "tide-discuss",
814
+ "description": "BMAD 多角色需求讨论 → PRD 自动生成 → 知识库推送 → 任务拆分 → Issue 创建。当用户讨论产品需求、新功能、改进建议时自动激活,引导用户通过结构化的 BMAD 工作流(分析师→产品经理→架构师→UX设计师→产品负责人)收敛需求并输出 PRD 文档。",
815
+ "hasTemplate": true
816
+ },
817
+ "reef-commit": {
818
+ "tool": "reef",
819
+ "name": "reef-commit",
820
+ "description": "根据当前变更和 OpenSpec 上下文,生成规范的提交信息并创建新提交。用户说「提交代码」「commit」「git push」「提交」「推送」等触发"
821
+ },
822
+ "reef-gen-backend": {
823
+ "tool": "reef",
824
+ "configKey": "reef.backend.language",
825
+ "name": "reef-gen-backend",
826
+ "description": "后端代码编写流程({{reef.backend.language.label}})。编写或生成后端代码时自动加载,编码规范详情引用 reef:reef-style-backend。",
827
+ "hasTemplate": true
828
+ },
829
+ "reef-gen-frontend": {
830
+ "tool": "reef",
831
+ "configKey": "reef.frontend.framework",
832
+ "name": "reef-gen-frontend",
833
+ "description": "前端代码编写流程({{reef.frontend.framework.label}})。编写或生成前端代码时自动加载,编码规范详情引用 reef:reef-style-frontend。",
834
+ "hasTemplate": true
835
+ },
836
+ "reef-harden": {
837
+ "tool": "reef",
838
+ "name": "reef-harden",
839
+ "description": "对 AI 生成的 spec、proposal、design、tasks 等 SDD 文档进行系统性加固。使用四道筛 + 反向 grill + Known Limitations 沉淀。当 AI 刚写完或用户想审查 spec/proposal/design/tasks 文档时触发,尤其当用户说\"加固spec\"、\"按四道筛过\"、\"补不做什么\"、\"补known limitation\" 或需要改进 SDD 文档质量时。"
840
+ },
841
+ "reef-pr": {
842
+ "tool": "reef",
843
+ "name": "reef-pr",
844
+ "description": "将当前分支的变更创建为 GitHub PR。读取 commits 和 OpenSpec 上下文,生成 PR 描述并提交。用户说「创建 PR」「发起 PR」「pull request」「提 PR」「提交 PR」时触发。"
845
+ },
846
+ "reef-review": {
847
+ "tool": "reef",
848
+ "name": "reef-review",
849
+ "description": "对当前分支变更执行前后端代码审查。自动检测变更范围,派发 Sub‑Agent 执行审查并生成结构化报告。",
850
+ "hasTemplate": true
851
+ },
852
+ "reef-scope": {
853
+ "tool": "reef",
854
+ "name": "reef-scope",
855
+ "description": "分支范围检查与拆分 — 在提交代码时验证分支是否涉及多个业务领域,以及自动拆分"
856
+ },
857
+ "reef-start": {
858
+ "tool": "reef",
859
+ "name": "reef-start",
860
+ "description": "从 Issue 跟踪系统或从零需求讨论启动开发生命周期。用户提供 Issue 编号时获取 Issue 详情和相关上下文(PRD 设计稿);无 Issue 时直接走 OpenSpec 自由讨论流程。通过 SDD 工作流生成高质量 spec 文档并进入 TDD 实现阶段。",
861
+ "hasTemplate": true
862
+ },
863
+ "reef-style-backend": {
864
+ "tool": "reef",
865
+ "configKey": "reef.backend.language",
866
+ "name": "reef-style-backend",
867
+ "description": "后端编码规范({{reef.backend.language.label}})。包含实体层次、DTO、Service/Controller/Repository 模式、MapStruct、多租户安全等完整规范。创建/修改后端代码时必须按本技能输出。",
868
+ "hasTemplate": true
869
+ },
870
+ "reef-style-frontend": {
871
+ "tool": "reef",
872
+ "configKey": "reef.frontend.framework",
873
+ "name": "reef-style-frontend",
874
+ "description": "前端编码规范({{reef.frontend.framework.label}})。创建/修改前端代码时必须按本技能输出。",
875
+ "hasTemplate": true
876
+ },
877
+ "reef-testcase": {
878
+ "tool": "reef",
879
+ "name": "reef-testcase",
880
+ "description": "基于 Jira Issue 生成结构化测试用例清单。从 Jira 功能描述和 PRD 上下文中提取测试场景,覆盖正常流程、边界条件、异常场景、验收标准四维。输出格式兼容 superpowers,可辅助生成更完备的单元测试。"
881
+ },
882
+ "sweep-init": {
883
+ "tool": "sweep",
884
+ "name": "sweep-init",
885
+ "description": "初始化 E2E 测试项目骨架。创建目录结构、根据 setup 配置生成对应测试框架配置、读取 MCP 配置、设置多环境变量,标志项目可被 flow-create 和 flow-run 使用。"
886
+ },
887
+ "sweep-plan": {
888
+ "tool": "sweep",
889
+ "name": "sweep-plan",
890
+ "description": "交互式生成 .flow.md 测试意图文档。从 Issue 或 PRD 提取验收标准,通过结构化对话覆盖功能流程、边界条件、异常场景,输出 Markdown 格式的测试流程。",
891
+ "hasTemplate": true
892
+ },
893
+ "sweep-run": {
894
+ "tool": "sweep",
895
+ "name": "sweep-run",
896
+ "description": "执行 .flow.md 测试意图文档。根据项目配置的 E2E 框架(如 Playwright),默认使用混合执行模式(Hybrid Execution):先通过预编译的 .flow.spec.ts 原生 Playwright 执行获得 ~20x 加速,失败后由 AI 驱动诊断和自动修复。支持交互式模块选择、直接参数指定、多环境切换、批量执行、多 Agent 并行。"
897
+ },
898
+ "atoll-ops": {
899
+ "tool": "atoll",
900
+ "name": "atoll-ops",
901
+ "description": "运维辅助 — 部署策略、监控查询、故障排查"
902
+ }
903
+ },
811
904
  "mcpTools": {
812
905
  "github": {
813
906
  "domain": "code-hosting",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deepstorm/cli",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "description": "DeepStorm CLI — 一键配置项目开发环境",
5
5
  "license": "MIT",
6
6
  "author": "billkang",