@remixhq/claude-plugin 0.1.21 → 0.1.22
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/.claude-plugin/plugin.json +1 -1
- package/dist/hook-post-collab.cjs +4 -4
- package/dist/hook-post-collab.cjs.map +1 -1
- package/dist/hook-stop-collab.cjs +1857 -847
- package/dist/hook-stop-collab.cjs.map +1 -1
- package/dist/hook-user-prompt.cjs +28058 -220
- package/dist/hook-user-prompt.cjs.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/mcp-server.cjs +28 -10
- package/dist/mcp-server.cjs.map +1 -1
- package/package.json +4 -4
- package/skills/init-or-remix/SKILL.md +5 -3
- package/skills/safe-collab-workflow/SKILL.md +15 -8
- package/skills/submit-change-step/SKILL.md +13 -12
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.
|
|
6
|
+
version: "0.1.22",
|
|
7
7
|
description: "Claude Code plugin for Remix collaboration workflows",
|
|
8
8
|
homepage: "https://github.com/RemixDotOne/remix-claude-plugin",
|
|
9
9
|
license: "MIT",
|
|
@@ -37,12 +37,12 @@ var package_default = {
|
|
|
37
37
|
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);"`,
|
|
38
38
|
dev: "tsx src/mcp-server.ts",
|
|
39
39
|
typecheck: "tsc -p tsconfig.json --noEmit",
|
|
40
|
-
test: "node --import tsx --test src/**/*.test.ts",
|
|
40
|
+
test: "node --import tsx --test 'src/**/*.test.ts'",
|
|
41
41
|
prepack: "npm run build"
|
|
42
42
|
},
|
|
43
43
|
dependencies: {
|
|
44
|
-
"@remixhq/core": "^0.1.
|
|
45
|
-
"@remixhq/mcp": "^0.1.
|
|
44
|
+
"@remixhq/core": "^0.1.17",
|
|
45
|
+
"@remixhq/mcp": "^0.1.17"
|
|
46
46
|
},
|
|
47
47
|
devDependencies: {
|
|
48
48
|
"@types/node": "^25.4.0",
|
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.
|
|
1
|
+
{"version":3,"sources":["../package.json","../src/metadata.ts"],"sourcesContent":["{\n \"name\": \"@remixhq/claude-plugin\",\n \"version\": \"0.1.22\",\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.17\",\n \"@remixhq/mcp\": \"^0.1.17\"\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,EAClB;AAAA,EACA,iBAAmB;AAAA,IACjB,eAAe;AAAA,IACf,MAAQ;AAAA,IACR,KAAO;AAAA,IACP,YAAc;AAAA,EAChB;AACF;;;AC/CO,IAAM,iBAAiB;AAAA,EAC5B,MAAM,gBAAI;AAAA,EACV,SAAS,gBAAI;AAAA,EACb,aAAa,gBAAI;AAAA,EACjB,UAAU;AAAA,EACV,WAAW;AACb;","names":[]}
|
package/dist/mcp-server.cjs
CHANGED
|
@@ -25285,7 +25285,7 @@ async function collabInit(params) {
|
|
|
25285
25285
|
operation: "`remix collab init`",
|
|
25286
25286
|
recoveryHint: "The repository changed before the Remix binding was written. Review the local changes and rerun `remix collab init`."
|
|
25287
25287
|
});
|
|
25288
|
-
const bindingMode2 =
|
|
25288
|
+
const bindingMode2 = defaultBranch && branchName !== defaultBranch ? "lane" : "explicit_root";
|
|
25289
25289
|
let bindingPath2;
|
|
25290
25290
|
if (params.forceNew && defaultBranch && canonicalLane2) {
|
|
25291
25291
|
const canonicalBinding = branchBindingFromLane(canonicalLane2, "explicit_root", {
|
|
@@ -25327,7 +25327,15 @@ async function collabInit(params) {
|
|
|
25327
25327
|
defaultBranch: canonicalLane2.defaultBranch ?? defaultBranch,
|
|
25328
25328
|
laneId: canonicalLane2.laneId ?? null,
|
|
25329
25329
|
branchName: defaultBranch,
|
|
25330
|
-
|
|
25330
|
+
// This branch is reached only when the CURRENT branch is
|
|
25331
|
+
// not the default branch — so the binding being written
|
|
25332
|
+
// here is for the DEFAULT branch (the canonical/main app).
|
|
25333
|
+
// It must always be `explicit_root` regardless of
|
|
25334
|
+
// `forceNew`; the previous `forceNew ? ... : "lane"`
|
|
25335
|
+
// produced a `lane`-marked default-branch binding for
|
|
25336
|
+
// every plain init, which silently disabled the
|
|
25337
|
+
// history-import auto-spawn.
|
|
25338
|
+
bindingMode: "explicit_root"
|
|
25331
25339
|
});
|
|
25332
25340
|
}
|
|
25333
25341
|
bindingPath2 = await writeCollabBinding(repoRoot, {
|
|
@@ -25479,7 +25487,7 @@ async function collabInit(params) {
|
|
|
25479
25487
|
operation: "`remix collab init`",
|
|
25480
25488
|
recoveryHint: "The repository changed before the Remix binding was written. Review the local changes and rerun `remix collab init`."
|
|
25481
25489
|
});
|
|
25482
|
-
const bindingMode =
|
|
25490
|
+
const bindingMode = defaultBranch && branchName !== defaultBranch ? "lane" : "explicit_root";
|
|
25483
25491
|
let bindingPath;
|
|
25484
25492
|
if (params.forceNew && defaultBranch && canonicalLane) {
|
|
25485
25493
|
const canonicalBinding = branchBindingFromLane(canonicalLane, "explicit_root", {
|
|
@@ -25521,7 +25529,12 @@ async function collabInit(params) {
|
|
|
25521
25529
|
defaultBranch: canonicalLane.defaultBranch ?? defaultBranch,
|
|
25522
25530
|
laneId: canonicalLane.laneId ?? null,
|
|
25523
25531
|
branchName: defaultBranch,
|
|
25524
|
-
|
|
25532
|
+
// Same reasoning as the queued-path default-branch write
|
|
25533
|
+
// above: this is the canonical/main-app binding for the
|
|
25534
|
+
// default branch and must be `explicit_root`, otherwise the
|
|
25535
|
+
// history-import auto-spawn (gated on explicit_root) will
|
|
25536
|
+
// silently no-op for every plain init.
|
|
25537
|
+
bindingMode: "explicit_root"
|
|
25525
25538
|
});
|
|
25526
25539
|
}
|
|
25527
25540
|
bindingPath = await writeCollabBinding(repoRoot, {
|
|
@@ -26796,7 +26809,7 @@ async function processInitJob(job, api) {
|
|
|
26796
26809
|
boundProjectId = String(readyApp.projectId ?? boundProjectId);
|
|
26797
26810
|
boundThreadId = readyApp.threadId ? String(readyApp.threadId) : boundThreadId;
|
|
26798
26811
|
}
|
|
26799
|
-
const bindingMode =
|
|
26812
|
+
const bindingMode = defaultBranch && branchName !== defaultBranch ? "lane" : "explicit_root";
|
|
26800
26813
|
if (job.payload.forceNew && defaultBranch && canonicalLane) {
|
|
26801
26814
|
const canonicalBinding = branchBindingFromLane(canonicalLane, "explicit_root", {
|
|
26802
26815
|
projectId: canonicalLane.projectId ?? boundProjectId,
|
|
@@ -26835,7 +26848,12 @@ async function processInitJob(job, api) {
|
|
|
26835
26848
|
defaultBranch: canonicalLane.defaultBranch ?? defaultBranch,
|
|
26836
26849
|
laneId: canonicalLane.laneId ?? null,
|
|
26837
26850
|
branchName: defaultBranch,
|
|
26838
|
-
|
|
26851
|
+
// This branch is reached only when the current branch is NOT
|
|
26852
|
+
// the default branch — so the binding being written here is
|
|
26853
|
+
// for the DEFAULT branch (the canonical/main app). It must
|
|
26854
|
+
// always be `explicit_root` so the history-import auto-spawn
|
|
26855
|
+
// can fire on first-ever inits (see autoSpawnHistoryImport.ts).
|
|
26856
|
+
bindingMode: "explicit_root"
|
|
26839
26857
|
});
|
|
26840
26858
|
}
|
|
26841
26859
|
await writeCollabBinding(repoRoot, {
|
|
@@ -59736,7 +59754,7 @@ async function listPendingTurnStateSummaries() {
|
|
|
59736
59754
|
// package.json
|
|
59737
59755
|
var package_default = {
|
|
59738
59756
|
name: "@remixhq/claude-plugin",
|
|
59739
|
-
version: "0.1.
|
|
59757
|
+
version: "0.1.22",
|
|
59740
59758
|
description: "Claude Code plugin for Remix collaboration workflows",
|
|
59741
59759
|
homepage: "https://github.com/RemixDotOne/remix-claude-plugin",
|
|
59742
59760
|
license: "MIT",
|
|
@@ -59770,12 +59788,12 @@ var package_default = {
|
|
|
59770
59788
|
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);"`,
|
|
59771
59789
|
dev: "tsx src/mcp-server.ts",
|
|
59772
59790
|
typecheck: "tsc -p tsconfig.json --noEmit",
|
|
59773
|
-
test: "node --import tsx --test src/**/*.test.ts",
|
|
59791
|
+
test: "node --import tsx --test 'src/**/*.test.ts'",
|
|
59774
59792
|
prepack: "npm run build"
|
|
59775
59793
|
},
|
|
59776
59794
|
dependencies: {
|
|
59777
|
-
"@remixhq/core": "^0.1.
|
|
59778
|
-
"@remixhq/mcp": "^0.1.
|
|
59795
|
+
"@remixhq/core": "^0.1.17",
|
|
59796
|
+
"@remixhq/mcp": "^0.1.17"
|
|
59779
59797
|
},
|
|
59780
59798
|
devDependencies: {
|
|
59781
59799
|
"@types/node": "^25.4.0",
|