@remixhq/claude-plugin 0.1.22 → 0.1.23
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/agents/remix-collab.md +1 -1
- package/dist/hook-post-collab.cjs +5 -5
- package/dist/hook-post-collab.cjs.map +1 -1
- package/dist/hook-pre-git.cjs +2 -2
- package/dist/hook-pre-git.cjs.map +1 -1
- package/dist/hook-stop-collab.cjs +449 -65
- package/dist/hook-stop-collab.cjs.map +1 -1
- package/dist/hook-user-prompt.cjs +925 -487
- package/dist/hook-user-prompt.cjs.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/mcp-server.cjs +361 -486
- package/dist/mcp-server.cjs.map +1 -1
- package/package.json +3 -3
- package/skills/safe-collab-workflow/SKILL.md +3 -3
- package/skills/submit-change-step/SKILL.md +6 -5
- package/skills/sync-and-reconcile/SKILL.md +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remixhq/claude-plugin",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.23",
|
|
4
4
|
"description": "Claude Code plugin for Remix collaboration workflows",
|
|
5
5
|
"homepage": "https://github.com/RemixDotOne/remix-claude-plugin",
|
|
6
6
|
"license": "MIT",
|
|
@@ -38,8 +38,8 @@
|
|
|
38
38
|
"prepack": "npm run build"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@remixhq/core": "^0.1.
|
|
42
|
-
"@remixhq/mcp": "^0.1.
|
|
41
|
+
"@remixhq/core": "^0.1.18",
|
|
42
|
+
"@remixhq/mcp": "^0.1.18"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@types/node": "^25.4.0",
|
|
@@ -14,7 +14,7 @@ In a Remix-bound repo, the Remix plugin hooks own all "plumbing" for recording:
|
|
|
14
14
|
Concretely:
|
|
15
15
|
|
|
16
16
|
- Do **not** call `remix_collab_init` to "fix" an unbound branch. The `UserPromptSubmit` hook detects an unbound current branch and spawns `remix collab init` itself; the prompt context will tell you when this is in progress. Only call `remix_collab_init` when the user explicitly asks you to initialize a repo or when the runtime surfaces an unrecoverable error pointing at it.
|
|
17
|
-
- Do **not** call any MCP tool to
|
|
17
|
+
- Do **not** call any MCP tool to repair a missing or stale local revision baseline. The `Stop` hook auto-dispatches the appropriate baseline recovery when finalize reports that one is required; the next prompt will surface progress or failure.
|
|
18
18
|
- Do **not** call `remix_collab_sync_apply` purely as a precondition for recording. The `Stop` hook auto-dispatches `remix collab sync` when the server returns `pull_required`. Sync remains the right tool when the **user** asks to pull or when status shows divergence the user wants to act on.
|
|
19
19
|
- Do **not** call a finalize MCP tool for the current turn. The MCP surface does not expose one; the `Stop` hook is recording it.
|
|
20
20
|
- Do **not** call `remix_collab_drain_finalize_queue` as a precondition for anything. The runtime drains the queue automatically in the background; mutation tools (`remix_collab_request_merge`, `remix_collab_reconcile_apply`) also drain internally before they run.
|
|
@@ -30,7 +30,7 @@ Canonical rules:
|
|
|
30
30
|
- Never switch git branches on your own. Branch switches are user-initiated only. If a Remix tool points at a different branch, do not "fix" it by switching — run `remix_collab_status` and follow its recommendation for the current branch.
|
|
31
31
|
- An unbound current branch is handled automatically by the `UserPromptSubmit` hook. Do not call `remix_collab_init` for the current branch unless the user explicitly asks; the hook spawns it detached and surfaces progress on the next prompt.
|
|
32
32
|
- Historical intent questions go to Remix memory before raw git history.
|
|
33
|
-
- Remix is source-blind: any local content change since the last recorded turn — whether you typed it, the user typed it, a merge produced it, `git pull` brought it in, or an IDE saved it — is captured by exactly one completed-turn hook recording. Do not pick a different command based on what produced the change.
|
|
33
|
+
- Remix is source-blind: any local content change since the last recorded turn — whether you typed it, the user typed it, a merge produced it, `git pull` brought it in, or an IDE saved it — is captured by exactly one completed-turn hook recording. Do not pick a different command based on what produced the change. Missing local revision baselines route through init/sync, not routine recording recovery.
|
|
34
34
|
- Raw git mutation is allowed in a bound repo, but it never substitutes for automatic hook recording. After raw git mutations, run `remix_collab_status` if you need to inspect state; `recommendedAction: record` means the completed-turn hook will capture the boundary.
|
|
35
35
|
- The runtime records the exact user prompt and final assistant response automatically at turn completion.
|
|
36
36
|
- Hook recording is queued. A remote change step does not exist yet until the finalize queue drains.
|
|
@@ -84,7 +84,7 @@ Branch state can change between turns by means you did not initiate — external
|
|
|
84
84
|
Important rules:
|
|
85
85
|
|
|
86
86
|
- If the repo has no Remix binding at all (no `.remix/config.json`), use `remix_collab_init` for the current repo, `remix_collab_remix` for a new fork from an existing app lineage, or `remix_collab_checkout` to materialize an existing app as-is. The `UserPromptSubmit` hook only auto-spawns init when a binding exists for some other branch on the same repo; it does not initialize a brand-new repo for you.
|
|
87
|
-
- In a bound repo, raw git mutations (`commit`, `pull`, `merge`, `rebase`, `reset`) are allowed but never replace automatic hook recording. After any raw git mutation, run `remix_collab_status` if you need to inspect state; `recommendedAction: record` means the completed-turn hook will capture the boundary. Do not call
|
|
87
|
+
- In a bound repo, raw git mutations (`commit`, `pull`, `merge`, `rebase`, `reset`) are allowed but never replace automatic hook recording. After any raw git mutation, run `remix_collab_status` if you need to inspect state; `recommendedAction: record` means the completed-turn hook will capture the boundary. Do not call baseline repair, init, or sync tools purely to "satisfy" recording — the `Stop` hook auto-dispatches the matching recovery when finalize reports the matching preflight code.
|
|
88
88
|
- In a bound repo, do not start why/history/failed-attempt questions with raw git `log`, `show`, `blame`, or `diff`; start with Remix memory reads instead.
|
|
89
89
|
- In a bound repo, rely on automatic hook recording for the completed turn.
|
|
90
90
|
- Do not treat queued hook recording as proof that the turn is already available for merge-request or remote-history workflows. Drain and re-check when status reports `await_finalize`.
|
|
@@ -13,15 +13,16 @@ This skill is specifically about the automatic hook recording model. The MCP sur
|
|
|
13
13
|
|
|
14
14
|
Remix records turns source-blind. Any local content change since the last recorded turn — whether you typed it, the user typed it, a `git pull` brought it in, a `git merge` or `git rebase` produced it, or an IDE saved it — is captured by exactly one completed-turn hook recording. The recording automatically attaches `preTurnEvents` metadata describing any commits, merges, or uncommitted state captured at the boundary; you do not need to summarize that yourself.
|
|
15
15
|
|
|
16
|
-
Do **not** call
|
|
16
|
+
Do **not** call baseline repair, init, sync, or reconcile tools purely as preconditions for recording. The runtime's hooks route the safe next step:
|
|
17
17
|
|
|
18
|
-
- `
|
|
19
|
-
- `
|
|
20
|
-
- `pull_required` →
|
|
18
|
+
- `record` (or `repoState: local_only_changed`) → no manual MCP action. The completed-turn hook will capture the boundary.
|
|
19
|
+
- `branch_binding_missing` / `baseline_missing` → hooks seed or repair the local revision baseline.
|
|
20
|
+
- `pull_required` / `pull` → hooks or explicit sync bring down server-only changes.
|
|
21
|
+
- `reconcile_required` / `reconcile` → use reconcile only when both sides changed since the agreed baseline.
|
|
21
22
|
|
|
22
23
|
Each fix runs detached, logs to `.remix/<command>.log`, and writes a marker the next prompt surfaces. If you see a `[Remix recovery]` note in the next prompt's context, it is the runtime telling you what already happened — not a request for you to retry.
|
|
23
24
|
|
|
24
|
-
The recommended-action codes from `remix_collab_status`
|
|
25
|
+
The recommended-action codes from `remix_collab_status` remain meaningful when the **user** is reasoning about state or explicitly asks for a sync or reconcile. Don't pre-emptively invoke them just to "satisfy" recording.
|
|
25
26
|
|
|
26
27
|
## Runtime recording
|
|
27
28
|
|
|
@@ -15,7 +15,7 @@ Mental model:
|
|
|
15
15
|
- `remix_collab_reconcile_*` is for the rare case where both the local workspace and the server lane changed since the last agreed baseline (i.e. `recommendedAction: reconcile`, `repoState: both_changed`).
|
|
16
16
|
- `remix_collab_sync_upstream` is for bringing new upstream app changes into a remix.
|
|
17
17
|
- Automatic hook recording is not a sync tool. It records the completed turn, but it does not replace sync, reconcile, or upstream-sync workflows.
|
|
18
|
-
-
|
|
18
|
+
- Missing local revision baselines route through init/sync; if status reports `local_only_changed` (or `recommendedAction: record`), routine completed-turn hook recording is the answer, never reconcile.
|
|
19
19
|
|
|
20
20
|
Workflow:
|
|
21
21
|
|