@remixhq/claude-plugin 0.1.27 → 0.1.28

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/dist/index.js CHANGED
@@ -3,7 +3,7 @@
3
3
  // package.json
4
4
  var package_default = {
5
5
  name: "@remixhq/claude-plugin",
6
- version: "0.1.27",
6
+ version: "0.1.28",
7
7
  description: "Claude Code plugin for Remix collaboration workflows",
8
8
  homepage: "https://github.com/RemixDotOne/remix-claude-plugin",
9
9
  license: "MIT",
@@ -41,8 +41,8 @@ var package_default = {
41
41
  prepack: "npm run build"
42
42
  },
43
43
  dependencies: {
44
- "@remixhq/core": "^0.1.22",
45
- "@remixhq/mcp": "^0.1.22",
44
+ "@remixhq/core": "^0.1.23",
45
+ "@remixhq/mcp": "^0.1.23",
46
46
  "@modelcontextprotocol/sdk": "^1.27.1",
47
47
  zod: "^3.25.76"
48
48
  },
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../package.json","../src/metadata.ts"],"sourcesContent":["{\n \"name\": \"@remixhq/claude-plugin\",\n \"version\": \"0.1.27\",\n \"description\": \"Claude Code plugin for Remix collaboration workflows\",\n \"homepage\": \"https://github.com/RemixDotOne/remix-claude-plugin\",\n \"license\": \"MIT\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/RemixDotOne/remix-claude-plugin.git\"\n },\n \"type\": \"module\",\n \"engines\": {\n \"node\": \">=20\"\n },\n \"publishConfig\": {\n \"access\": \"public\"\n },\n \"files\": [\n \"dist\",\n \".claude-plugin/plugin.json\",\n \".mcp.json\",\n \"skills\",\n \"hooks\",\n \"agents\"\n ],\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"import\": \"./dist/index.js\"\n }\n },\n \"scripts\": {\n \"build\": \"tsup\",\n \"postbuild\": \"node -e \\\"const fs=require('node:fs'); for (const p of ['dist/mcp-server.cjs','dist/hook-pre-git.cjs','dist/hook-user-prompt.cjs','dist/hook-post-collab.cjs','dist/hook-stop-collab.cjs']) fs.chmodSync(p, 0o755);\\\"\",\n \"dev\": \"tsx src/mcp-server.ts\",\n \"typecheck\": \"tsc -p tsconfig.json --noEmit\",\n \"test\": \"node --import tsx --test 'src/**/*.test.ts'\",\n \"prepack\": \"npm run build\"\n },\n \"dependencies\": {\n \"@remixhq/core\": \"^0.1.22\",\n \"@remixhq/mcp\": \"^0.1.22\",\n \"@modelcontextprotocol/sdk\": \"^1.27.1\",\n \"zod\": \"^3.25.76\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^25.4.0\",\n \"tsup\": \"^8.5.1\",\n \"tsx\": \"^4.21.0\",\n \"typescript\": \"^5.9.3\"\n }\n}\n","import pkg from \"../package.json\";\n\nexport const pluginMetadata = {\n name: pkg.name,\n version: pkg.version,\n description: pkg.description,\n pluginId: \"remix\",\n agentName: \"remix-collab\",\n};\n"],"mappings":";;;AAAA;AAAA,EACE,MAAQ;AAAA,EACR,SAAW;AAAA,EACX,aAAe;AAAA,EACf,UAAY;AAAA,EACZ,SAAW;AAAA,EACX,YAAc;AAAA,IACZ,MAAQ;AAAA,IACR,KAAO;AAAA,EACT;AAAA,EACA,MAAQ;AAAA,EACR,SAAW;AAAA,IACT,MAAQ;AAAA,EACV;AAAA,EACA,eAAiB;AAAA,IACf,QAAU;AAAA,EACZ;AAAA,EACA,OAAS;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,SAAW;AAAA,IACT,KAAK;AAAA,MACH,OAAS;AAAA,MACT,QAAU;AAAA,IACZ;AAAA,EACF;AAAA,EACA,SAAW;AAAA,IACT,OAAS;AAAA,IACT,WAAa;AAAA,IACb,KAAO;AAAA,IACP,WAAa;AAAA,IACb,MAAQ;AAAA,IACR,SAAW;AAAA,EACb;AAAA,EACA,cAAgB;AAAA,IACd,iBAAiB;AAAA,IACjB,gBAAgB;AAAA,IAChB,6BAA6B;AAAA,IAC7B,KAAO;AAAA,EACT;AAAA,EACA,iBAAmB;AAAA,IACjB,eAAe;AAAA,IACf,MAAQ;AAAA,IACR,KAAO;AAAA,IACP,YAAc;AAAA,EAChB;AACF;;;ACjDO,IAAM,iBAAiB;AAAA,EAC5B,MAAM,gBAAI;AAAA,EACV,SAAS,gBAAI;AAAA,EACb,aAAa,gBAAI;AAAA,EACjB,UAAU;AAAA,EACV,WAAW;AACb;","names":[]}
1
+ {"version":3,"sources":["../package.json","../src/metadata.ts"],"sourcesContent":["{\n \"name\": \"@remixhq/claude-plugin\",\n \"version\": \"0.1.28\",\n \"description\": \"Claude Code plugin for Remix collaboration workflows\",\n \"homepage\": \"https://github.com/RemixDotOne/remix-claude-plugin\",\n \"license\": \"MIT\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/RemixDotOne/remix-claude-plugin.git\"\n },\n \"type\": \"module\",\n \"engines\": {\n \"node\": \">=20\"\n },\n \"publishConfig\": {\n \"access\": \"public\"\n },\n \"files\": [\n \"dist\",\n \".claude-plugin/plugin.json\",\n \".mcp.json\",\n \"skills\",\n \"hooks\",\n \"agents\"\n ],\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"import\": \"./dist/index.js\"\n }\n },\n \"scripts\": {\n \"build\": \"tsup\",\n \"postbuild\": \"node -e \\\"const fs=require('node:fs'); for (const p of ['dist/mcp-server.cjs','dist/hook-pre-git.cjs','dist/hook-user-prompt.cjs','dist/hook-post-collab.cjs','dist/hook-stop-collab.cjs']) fs.chmodSync(p, 0o755);\\\"\",\n \"dev\": \"tsx src/mcp-server.ts\",\n \"typecheck\": \"tsc -p tsconfig.json --noEmit\",\n \"test\": \"node --import tsx --test 'src/**/*.test.ts'\",\n \"prepack\": \"npm run build\"\n },\n \"dependencies\": {\n \"@remixhq/core\": \"^0.1.23\",\n \"@remixhq/mcp\": \"^0.1.23\",\n \"@modelcontextprotocol/sdk\": \"^1.27.1\",\n \"zod\": \"^3.25.76\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^25.4.0\",\n \"tsup\": \"^8.5.1\",\n \"tsx\": \"^4.21.0\",\n \"typescript\": \"^5.9.3\"\n }\n}\n","import pkg from \"../package.json\";\n\nexport const pluginMetadata = {\n name: pkg.name,\n version: pkg.version,\n description: pkg.description,\n pluginId: \"remix\",\n agentName: \"remix-collab\",\n};\n"],"mappings":";;;AAAA;AAAA,EACE,MAAQ;AAAA,EACR,SAAW;AAAA,EACX,aAAe;AAAA,EACf,UAAY;AAAA,EACZ,SAAW;AAAA,EACX,YAAc;AAAA,IACZ,MAAQ;AAAA,IACR,KAAO;AAAA,EACT;AAAA,EACA,MAAQ;AAAA,EACR,SAAW;AAAA,IACT,MAAQ;AAAA,EACV;AAAA,EACA,eAAiB;AAAA,IACf,QAAU;AAAA,EACZ;AAAA,EACA,OAAS;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,SAAW;AAAA,IACT,KAAK;AAAA,MACH,OAAS;AAAA,MACT,QAAU;AAAA,IACZ;AAAA,EACF;AAAA,EACA,SAAW;AAAA,IACT,OAAS;AAAA,IACT,WAAa;AAAA,IACb,KAAO;AAAA,IACP,WAAa;AAAA,IACb,MAAQ;AAAA,IACR,SAAW;AAAA,EACb;AAAA,EACA,cAAgB;AAAA,IACd,iBAAiB;AAAA,IACjB,gBAAgB;AAAA,IAChB,6BAA6B;AAAA,IAC7B,KAAO;AAAA,EACT;AAAA,EACA,iBAAmB;AAAA,IACjB,eAAe;AAAA,IACf,MAAQ;AAAA,IACR,KAAO;AAAA,IACP,YAAc;AAAA,EAChB;AACF;;;ACjDO,IAAM,iBAAiB;AAAA,EAC5B,MAAM,gBAAI;AAAA,EACV,SAAS,gBAAI;AAAA,EACb,aAAa,gBAAI;AAAA,EACjB,UAAU;AAAA,EACV,WAAW;AACb;","names":[]}
@@ -12552,6 +12552,7 @@ async function collabInit(params) {
12552
12552
  uploadId: String(presign2.uploadId),
12553
12553
  appName: params.appName?.trim() || import_path11.default.basename(repoRoot),
12554
12554
  platform: "generic",
12555
+ profile: params.profile ?? void 0,
12555
12556
  isPublic: false,
12556
12557
  branch: defaultBranch && branchName && branchName !== defaultBranch ? defaultBranch : currentBranch ?? void 0,
12557
12558
  remoteUrl: remoteUrl ?? void 0,
@@ -12750,6 +12751,7 @@ async function collabInit(params) {
12750
12751
  appName: params.appName?.trim() || import_path11.default.basename(repoRoot),
12751
12752
  path: params.path?.trim() || void 0,
12752
12753
  platform: "generic",
12754
+ profile: params.profile ?? void 0,
12753
12755
  isPublic: false,
12754
12756
  branch: defaultBranch && branchName && branchName !== defaultBranch ? defaultBranch : currentBranch ?? void 0,
12755
12757
  remoteUrl: remoteUrl ?? void 0,
@@ -14251,7 +14253,7 @@ async function drainAsyncJobs(opts) {
14251
14253
  var import_mcp = require("@modelcontextprotocol/sdk/server/mcp.js");
14252
14254
  var import_stdio3 = require("@modelcontextprotocol/sdk/server/stdio.js");
14253
14255
 
14254
- // node_modules/@remixhq/core/dist/chunk-DZRFUAOL.js
14256
+ // node_modules/@remixhq/core/dist/chunk-BNY4BVH6.js
14255
14257
  async function readJsonSafe(res) {
14256
14258
  const ct = res.headers.get("content-type") ?? "";
14257
14259
  if (!ct.toLowerCase().includes("application/json")) return null;
@@ -14539,6 +14541,7 @@ function createApiClient(config, opts) {
14539
14541
  return request(`/v1/apps${suffix}`, { method: "GET" });
14540
14542
  },
14541
14543
  getApp: (appId) => request(`/v1/apps/${encodeURIComponent(appId)}`, { method: "GET" }),
14544
+ openApp: (appId, payload) => request(`/v1/apps/${encodeURIComponent(appId)}/open`, { method: "POST", body: JSON.stringify(payload ?? {}) }),
14542
14545
  getAppContext: (appId) => request(`/v1/apps/${encodeURIComponent(appId)}/context`, { method: "GET" }),
14543
14546
  getAppOverview: (appId) => request(`/v1/apps/${encodeURIComponent(appId)}/overview`, { method: "GET" }),
14544
14547
  listAppTimeline: (appId, params) => {
@@ -35596,16 +35599,19 @@ function createSupabaseAuthHelpers(config) {
35596
35599
  };
35597
35600
  }
35598
35601
 
35599
- // node_modules/@remixhq/core/dist/chunk-LGOQVGBB.js
35602
+ // node_modules/@remixhq/core/dist/chunk-62JBEMJH.js
35600
35603
  var import_zod2 = require("zod");
35601
35604
  var DEFAULT_API_URL = "https://api.remix.one";
35602
35605
  var DEFAULT_SUPABASE_URL = "https://iheivdccexqigeoiekvc.supabase.co";
35603
35606
  var DEFAULT_SUPABASE_ANON_KEY = "sb_publishable_YipyrVON-lwzW3ugjE3T1g_cE2do_JW";
35604
- var defaultConfigRaw = {
35605
- apiUrl: DEFAULT_API_URL,
35606
- supabaseUrl: DEFAULT_SUPABASE_URL,
35607
- supabaseAnonKey: DEFAULT_SUPABASE_ANON_KEY
35608
- };
35607
+ function createDefaultConfigRaw() {
35608
+ return {
35609
+ apiUrl: process.env.REMIX_API_URL ?? DEFAULT_API_URL,
35610
+ supabaseUrl: DEFAULT_SUPABASE_URL,
35611
+ supabaseAnonKey: DEFAULT_SUPABASE_ANON_KEY
35612
+ };
35613
+ }
35614
+ var defaultConfigRaw = createDefaultConfigRaw();
35609
35615
  function isValidUrl(value) {
35610
35616
  try {
35611
35617
  new URL(value);
@@ -36085,6 +36091,27 @@ var mergeRequestQueueSchema = import_zod5.z.enum([
36085
36091
  ]);
36086
36092
  var appScopedMergeRequestQueueSchema = import_zod5.z.enum(["app_reviewable", "app_outgoing", "app_related_visible"]);
36087
36093
  var memberScopeSchema = import_zod5.z.enum(["organization", "project", "app"]);
36094
+ var appProfileCategorySchema = import_zod5.z.enum([
36095
+ "web_app",
36096
+ "mobile_app",
36097
+ "cli_tool",
36098
+ "api_service",
36099
+ "worker_service",
36100
+ "library_package",
36101
+ "docs_site",
36102
+ "monorepo",
36103
+ "unknown"
36104
+ ]);
36105
+ var appProfileCapabilitySchema = import_zod5.z.enum([
36106
+ "web_preview",
36107
+ "runtime_install",
36108
+ "runtime_dev",
36109
+ "runtime_build",
36110
+ "runtime_test",
36111
+ "mobile_run",
36112
+ "package_build",
36113
+ "background_worker"
36114
+ ]);
36088
36115
  var statusInputSchema = {
36089
36116
  ...commonRequestFieldsSchema,
36090
36117
  includeRemote: import_zod5.z.boolean().optional()
@@ -36092,7 +36119,18 @@ var statusInputSchema = {
36092
36119
  var initInputSchema = {
36093
36120
  ...commonRequestFieldsSchema,
36094
36121
  appName: import_zod5.z.string().trim().min(1).optional(),
36095
- forceNew: import_zod5.z.boolean().optional()
36122
+ forceNew: import_zod5.z.boolean().optional(),
36123
+ profile: import_zod5.z.object({
36124
+ primaryCategory: appProfileCategorySchema.optional(),
36125
+ capabilities: import_zod5.z.array(appProfileCapabilitySchema).optional(),
36126
+ primaryPath: import_zod5.z.string().trim().min(1).nullable().optional(),
36127
+ components: import_zod5.z.array(import_zod5.z.record(import_zod5.z.string(), import_zod5.z.unknown())).optional(),
36128
+ frameworks: import_zod5.z.array(import_zod5.z.string().trim().min(1)).optional(),
36129
+ languages: import_zod5.z.array(import_zod5.z.string().trim().min(1)).optional(),
36130
+ source: import_zod5.z.enum(["manual", "cli", "cursor_plugin", "claude_plugin", "deterministic", "llm", "legacy_platform"]).optional(),
36131
+ confidence: import_zod5.z.enum(["manual", "high", "medium", "low"]).optional(),
36132
+ evidence: import_zod5.z.array(import_zod5.z.record(import_zod5.z.string(), import_zod5.z.unknown())).optional()
36133
+ }).optional()
36096
36134
  };
36097
36135
  var listInputSchema = {
36098
36136
  requestId: import_zod5.z.string().trim().min(1).optional(),
@@ -36485,6 +36523,7 @@ async function initCollab(params) {
36485
36523
  cwd: params.cwd,
36486
36524
  appName: params.appName ?? null,
36487
36525
  forceNew: params.forceNew ?? false,
36526
+ profile: params.profile,
36488
36527
  asyncSubmit: false
36489
36528
  });
36490
36529
  if ("queued" in result && result.queued) {
@@ -37890,7 +37929,7 @@ function registerCollabTools(server, context) {
37890
37929
  const api = await createApiClient2();
37891
37930
  const trimmedAppId = input.appId?.trim();
37892
37931
  const files = trimmedAppId ? void 0 : await readRuntimeDetectionFiles(repoRoot);
37893
- const detected = unwrapResponseObject2(
37932
+ const detectedResult = unwrapResponseObject2(
37894
37933
  await api.detectProjectRuntimeTargets(projectId, {
37895
37934
  ...scope,
37896
37935
  apply,
@@ -37899,6 +37938,7 @@ function registerCollabTools(server, context) {
37899
37938
  }),
37900
37939
  "runtime targets detect"
37901
37940
  );
37941
+ const detected = Array.isArray(detectedResult) ? detectedResult : detectedResult.targets;
37902
37942
  const warnings = trimmedAppId ? ["Detection read files from the sandbox workspace for appId.", "Sandbox must exist for sandbox-backed detection."] : apply ? [`Applied ${detected.length} runtime target definitions.`] : ["Dry run only.", "Pass apply=true plus confirm=true to persist detected targets remotely."];
37903
37943
  return {
37904
37944
  data: { items: detected },
@@ -38397,7 +38437,12 @@ function registerCollabTools(server, context) {
38397
38437
  const result = await initCollab({
38398
38438
  cwd,
38399
38439
  appName: input.appName,
38400
- forceNew: input.forceNew
38440
+ forceNew: input.forceNew,
38441
+ profile: input.profile ? {
38442
+ ...input.profile,
38443
+ source: input.profile.source ?? "cursor_plugin",
38444
+ confidence: input.profile.confidence ?? "high"
38445
+ } : void 0
38401
38446
  });
38402
38447
  try {
38403
38448
  const repoRoot = result && typeof result === "object" && "data" in result && result.data && typeof result.data.repoRoot === "string" ? result.data.repoRoot : null;
@@ -40446,7 +40491,7 @@ async function listPendingTurnStateSummaries() {
40446
40491
  // package.json
40447
40492
  var package_default = {
40448
40493
  name: "@remixhq/claude-plugin",
40449
- version: "0.1.27",
40494
+ version: "0.1.28",
40450
40495
  description: "Claude Code plugin for Remix collaboration workflows",
40451
40496
  homepage: "https://github.com/RemixDotOne/remix-claude-plugin",
40452
40497
  license: "MIT",
@@ -40484,8 +40529,8 @@ var package_default = {
40484
40529
  prepack: "npm run build"
40485
40530
  },
40486
40531
  dependencies: {
40487
- "@remixhq/core": "^0.1.22",
40488
- "@remixhq/mcp": "^0.1.22",
40532
+ "@remixhq/core": "^0.1.23",
40533
+ "@remixhq/mcp": "^0.1.23",
40489
40534
  "@modelcontextprotocol/sdk": "^1.27.1",
40490
40535
  zod: "^3.25.76"
40491
40536
  },