@react-grab/cli 0.0.78 → 0.0.81

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.
package/README.md CHANGED
@@ -38,7 +38,7 @@ npx @react-grab/cli -p pnpm -a claude-code -y
38
38
  | `--framework` | `-f` | Framework to configure | `next`, `vite`, `webpack` |
39
39
  | `--package-manager` | `-p` | Package manager to use | `npm`, `yarn`, `pnpm`, `bun` |
40
40
  | `--router` | `-r` | Next.js router type | `app`, `pages` |
41
- | `--agent` | `-a` | Agent integration to add | `claude-code`, `cursor`, `opencode`, `none` |
41
+ | `--agent` | `-a` | Agent integration to add | `claude-code`, `cursor`, `opencode`, `codex`, `gemini`, `none` |
42
42
  | `--yes` | `-y` | Skip all confirmation prompts | - |
43
43
  | `--skip-install` | - | Skip package installation (only modify files) | - |
44
44
  | `--help` | `-h` | Show help | - |
@@ -82,6 +82,8 @@ The CLI can optionally set up agent integrations for:
82
82
  - **Claude Code** (`-a claude-code`) - Send selected elements to Claude Code
83
83
  - **Cursor** (`-a cursor`) - Send selected elements to Cursor
84
84
  - **Opencode** (`-a opencode`) - Send selected elements to Opencode
85
+ - **Codex** (`-a codex`) - Send selected elements to OpenAI Codex
86
+ - **Gemini** (`-a gemini`) - Send selected elements to Google Gemini CLI
85
87
 
86
88
  ## Manual Installation
87
89
 
package/dist/cli.cjs CHANGED
@@ -241,7 +241,7 @@ var detectReactGrab = (projectRoot) => {
241
241
  ];
242
242
  return filesToCheck.some(hasReactGrabInFile);
243
243
  };
244
- var AGENT_PACKAGES = ["@react-grab/claude-code", "@react-grab/cursor", "@react-grab/opencode"];
244
+ var AGENT_PACKAGES = ["@react-grab/claude-code", "@react-grab/cursor", "@react-grab/opencode", "@react-grab/codex", "@react-grab/gemini"];
245
245
  var detectUnsupportedFramework = (projectRoot) => {
246
246
  const packageJsonPath = path.join(projectRoot, "package.json");
247
247
  if (!fs.existsSync(packageJsonPath)) {
@@ -986,7 +986,9 @@ var applyTransform = (result) => {
986
986
  var AGENT_PREFIXES = {
987
987
  "claude-code": "npx @react-grab/claude-code@latest &&",
988
988
  cursor: "npx @react-grab/cursor@latest &&",
989
- opencode: "npx @react-grab/opencode@latest &&"
989
+ opencode: "npx @react-grab/opencode@latest &&",
990
+ codex: "npx @react-grab/codex@latest &&",
991
+ gemini: "npx @react-grab/gemini@latest &&"
990
992
  };
991
993
  var previewPackageJsonTransform = (projectRoot, agent, installedAgents) => {
992
994
  if (agent === "none" || agent === "ami") {
@@ -1086,9 +1088,11 @@ var AGENT_NAMES = {
1086
1088
  "claude-code": "Claude Code",
1087
1089
  cursor: "Cursor",
1088
1090
  opencode: "Opencode",
1091
+ codex: "Codex",
1092
+ gemini: "Gemini",
1089
1093
  ami: "Ami"
1090
1094
  };
1091
- var add = new commander.Command().name("add").description("add an agent integration").argument("[agent]", "agent to add (claude-code, cursor, opencode, ami)").option("-y, --yes", "skip confirmation prompts", false).option(
1095
+ var add = new commander.Command().name("add").description("add an agent integration").argument("[agent]", "agent to add (claude-code, cursor, opencode, codex, gemini, ami)").option("-y, --yes", "skip confirmation prompts", false).option(
1092
1096
  "-c, --cwd <cwd>",
1093
1097
  "working directory (defaults to current directory)",
1094
1098
  process.cwd()
@@ -1108,7 +1112,7 @@ var add = new commander.Command().name("add").description("add an agent integrat
1108
1112
  process.exit(1);
1109
1113
  }
1110
1114
  preflightSpinner.succeed();
1111
- const availableAgents = ["claude-code", "cursor", "opencode", "ami"].filter((agent) => !projectInfo.installedAgents.includes(agent));
1115
+ const availableAgents = ["claude-code", "cursor", "opencode", "codex", "gemini", "ami"].filter((agent) => !projectInfo.installedAgents.includes(agent));
1112
1116
  if (availableAgents.length === 0) {
1113
1117
  logger.break();
1114
1118
  logger.success("All agent integrations are already installed.");
@@ -1117,10 +1121,10 @@ var add = new commander.Command().name("add").description("add an agent integrat
1117
1121
  }
1118
1122
  let agentIntegration;
1119
1123
  if (agentArg) {
1120
- if (!["claude-code", "cursor", "opencode", "ami"].includes(agentArg)) {
1124
+ if (!["claude-code", "cursor", "opencode", "codex", "gemini", "ami"].includes(agentArg)) {
1121
1125
  logger.break();
1122
1126
  logger.error(`Invalid agent: ${agentArg}`);
1123
- logger.error("Available agents: claude-code, cursor, opencode, ami");
1127
+ logger.error("Available agents: claude-code, cursor, opencode, codex, gemini, ami");
1124
1128
  logger.break();
1125
1129
  process.exit(1);
1126
1130
  }
@@ -1268,7 +1272,7 @@ var add = new commander.Command().name("add").description("add an agent integrat
1268
1272
  handleError(error);
1269
1273
  }
1270
1274
  });
1271
- var VERSION = "0.0.78";
1275
+ var VERSION = "0.0.81";
1272
1276
  var REPORT_URL = "https://react-grab.com/api/report-cli";
1273
1277
  var DOCS_URL = "https://github.com/aidenybai/react-grab";
1274
1278
  var reportToCli = async (type, config, error) => {
@@ -1308,7 +1312,7 @@ var UNSUPPORTED_FRAMEWORK_NAMES = {
1308
1312
  };
1309
1313
  var init = new commander.Command().name("init").description("initialize React Grab in your project").option("-y, --yes", "skip confirmation prompts", false).option("-f, --force", "force overwrite existing config", false).option(
1310
1314
  "-a, --agent <agent>",
1311
- "agent integration (claude-code, cursor, opencode, ami)"
1315
+ "agent integration (claude-code, cursor, opencode, codex, gemini, ami)"
1312
1316
  ).option("--skip-install", "skip package installation", false).option(
1313
1317
  "-c, --cwd <cwd>",
1314
1318
  "working directory (defaults to current directory)",
@@ -1432,6 +1436,8 @@ var init = new commander.Command().name("init").description("initialize React Gr
1432
1436
  { title: "Claude Code", value: "claude-code" },
1433
1437
  { title: "Cursor", value: "cursor" },
1434
1438
  { title: "Opencode", value: "opencode" },
1439
+ { title: "Codex", value: "codex" },
1440
+ { title: "Gemini", value: "gemini" },
1435
1441
  { title: "Ami", value: "ami" }
1436
1442
  ]
1437
1443
  });
@@ -1637,6 +1643,8 @@ var start = new commander.Command().name("start").alias("proxy").description("st
1637
1643
  { title: "Claude Code", value: "@react-grab/claude-code" },
1638
1644
  { title: "Cursor", value: "@react-grab/cursor" },
1639
1645
  { title: "Opencode", value: "@react-grab/opencode" },
1646
+ { title: "Codex", value: "@react-grab/codex" },
1647
+ { title: "Gemini", value: "@react-grab/gemini" },
1640
1648
  { title: "Ami", value: "@react-grab/ami" }
1641
1649
  ]
1642
1650
  });
@@ -1785,7 +1793,7 @@ var start = new commander.Command().name("start").alias("proxy").description("st
1785
1793
  });
1786
1794
 
1787
1795
  // src/cli.ts
1788
- var VERSION2 = "0.0.78";
1796
+ var VERSION2 = "0.0.81";
1789
1797
  var VERSION_API_URL = "https://react-grab.com/api/version";
1790
1798
  process.on("SIGINT", () => process.exit(0));
1791
1799
  process.on("SIGTERM", () => process.exit(0));
package/dist/cli.js CHANGED
@@ -234,7 +234,7 @@ var detectReactGrab = (projectRoot) => {
234
234
  ];
235
235
  return filesToCheck.some(hasReactGrabInFile);
236
236
  };
237
- var AGENT_PACKAGES = ["@react-grab/claude-code", "@react-grab/cursor", "@react-grab/opencode"];
237
+ var AGENT_PACKAGES = ["@react-grab/claude-code", "@react-grab/cursor", "@react-grab/opencode", "@react-grab/codex", "@react-grab/gemini"];
238
238
  var detectUnsupportedFramework = (projectRoot) => {
239
239
  const packageJsonPath = join(projectRoot, "package.json");
240
240
  if (!existsSync(packageJsonPath)) {
@@ -979,7 +979,9 @@ var applyTransform = (result) => {
979
979
  var AGENT_PREFIXES = {
980
980
  "claude-code": "npx @react-grab/claude-code@latest &&",
981
981
  cursor: "npx @react-grab/cursor@latest &&",
982
- opencode: "npx @react-grab/opencode@latest &&"
982
+ opencode: "npx @react-grab/opencode@latest &&",
983
+ codex: "npx @react-grab/codex@latest &&",
984
+ gemini: "npx @react-grab/gemini@latest &&"
983
985
  };
984
986
  var previewPackageJsonTransform = (projectRoot, agent, installedAgents) => {
985
987
  if (agent === "none" || agent === "ami") {
@@ -1079,9 +1081,11 @@ var AGENT_NAMES = {
1079
1081
  "claude-code": "Claude Code",
1080
1082
  cursor: "Cursor",
1081
1083
  opencode: "Opencode",
1084
+ codex: "Codex",
1085
+ gemini: "Gemini",
1082
1086
  ami: "Ami"
1083
1087
  };
1084
- var add = new Command().name("add").description("add an agent integration").argument("[agent]", "agent to add (claude-code, cursor, opencode, ami)").option("-y, --yes", "skip confirmation prompts", false).option(
1088
+ var add = new Command().name("add").description("add an agent integration").argument("[agent]", "agent to add (claude-code, cursor, opencode, codex, gemini, ami)").option("-y, --yes", "skip confirmation prompts", false).option(
1085
1089
  "-c, --cwd <cwd>",
1086
1090
  "working directory (defaults to current directory)",
1087
1091
  process.cwd()
@@ -1101,7 +1105,7 @@ var add = new Command().name("add").description("add an agent integration").argu
1101
1105
  process.exit(1);
1102
1106
  }
1103
1107
  preflightSpinner.succeed();
1104
- const availableAgents = ["claude-code", "cursor", "opencode", "ami"].filter((agent) => !projectInfo.installedAgents.includes(agent));
1108
+ const availableAgents = ["claude-code", "cursor", "opencode", "codex", "gemini", "ami"].filter((agent) => !projectInfo.installedAgents.includes(agent));
1105
1109
  if (availableAgents.length === 0) {
1106
1110
  logger.break();
1107
1111
  logger.success("All agent integrations are already installed.");
@@ -1110,10 +1114,10 @@ var add = new Command().name("add").description("add an agent integration").argu
1110
1114
  }
1111
1115
  let agentIntegration;
1112
1116
  if (agentArg) {
1113
- if (!["claude-code", "cursor", "opencode", "ami"].includes(agentArg)) {
1117
+ if (!["claude-code", "cursor", "opencode", "codex", "gemini", "ami"].includes(agentArg)) {
1114
1118
  logger.break();
1115
1119
  logger.error(`Invalid agent: ${agentArg}`);
1116
- logger.error("Available agents: claude-code, cursor, opencode, ami");
1120
+ logger.error("Available agents: claude-code, cursor, opencode, codex, gemini, ami");
1117
1121
  logger.break();
1118
1122
  process.exit(1);
1119
1123
  }
@@ -1261,7 +1265,7 @@ var add = new Command().name("add").description("add an agent integration").argu
1261
1265
  handleError(error);
1262
1266
  }
1263
1267
  });
1264
- var VERSION = "0.0.78";
1268
+ var VERSION = "0.0.81";
1265
1269
  var REPORT_URL = "https://react-grab.com/api/report-cli";
1266
1270
  var DOCS_URL = "https://github.com/aidenybai/react-grab";
1267
1271
  var reportToCli = async (type, config, error) => {
@@ -1301,7 +1305,7 @@ var UNSUPPORTED_FRAMEWORK_NAMES = {
1301
1305
  };
1302
1306
  var init = new Command().name("init").description("initialize React Grab in your project").option("-y, --yes", "skip confirmation prompts", false).option("-f, --force", "force overwrite existing config", false).option(
1303
1307
  "-a, --agent <agent>",
1304
- "agent integration (claude-code, cursor, opencode, ami)"
1308
+ "agent integration (claude-code, cursor, opencode, codex, gemini, ami)"
1305
1309
  ).option("--skip-install", "skip package installation", false).option(
1306
1310
  "-c, --cwd <cwd>",
1307
1311
  "working directory (defaults to current directory)",
@@ -1425,6 +1429,8 @@ var init = new Command().name("init").description("initialize React Grab in your
1425
1429
  { title: "Claude Code", value: "claude-code" },
1426
1430
  { title: "Cursor", value: "cursor" },
1427
1431
  { title: "Opencode", value: "opencode" },
1432
+ { title: "Codex", value: "codex" },
1433
+ { title: "Gemini", value: "gemini" },
1428
1434
  { title: "Ami", value: "ami" }
1429
1435
  ]
1430
1436
  });
@@ -1630,6 +1636,8 @@ var start = new Command().name("start").alias("proxy").description("start a prox
1630
1636
  { title: "Claude Code", value: "@react-grab/claude-code" },
1631
1637
  { title: "Cursor", value: "@react-grab/cursor" },
1632
1638
  { title: "Opencode", value: "@react-grab/opencode" },
1639
+ { title: "Codex", value: "@react-grab/codex" },
1640
+ { title: "Gemini", value: "@react-grab/gemini" },
1633
1641
  { title: "Ami", value: "@react-grab/ami" }
1634
1642
  ]
1635
1643
  });
@@ -1778,7 +1786,7 @@ var start = new Command().name("start").alias("proxy").description("start a prox
1778
1786
  });
1779
1787
 
1780
1788
  // src/cli.ts
1781
- var VERSION2 = "0.0.78";
1789
+ var VERSION2 = "0.0.81";
1782
1790
  var VERSION_API_URL = "https://react-grab.com/api/version";
1783
1791
  process.on("SIGINT", () => process.exit(0));
1784
1792
  process.on("SIGTERM", () => process.exit(0));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-grab/cli",
3
- "version": "0.0.78",
3
+ "version": "0.0.81",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "react-grab": "./dist/cli.js"