vibe-coding-master 0.8.1 → 0.8.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.
package/README.md CHANGED
@@ -244,6 +244,10 @@ such as a Dev Container or VM.
244
244
 
245
245
  Model and effort can be selected before start/resume/restart. Changes affect the
246
246
  next launched process, not a currently running Claude Code process.
247
+ The native model list includes explicit `Fable 5.1` (`claude-fable-5-1`) and a
248
+ separate `Fable Alias` whose resolved version is selected by Claude Code and the
249
+ active account provider. `Opus` and `Sonnet` continue to track their Claude Code
250
+ aliases, while `Opus 4.8` remains available as a pinned model.
247
251
 
248
252
  ## Usage Analytics
249
253
 
@@ -349,7 +353,7 @@ Progress submission.
349
353
  If the flow stops, VCM always shows a blocking pause alert. `Pause alert sound`
350
354
  only controls the looping sound. Enabling Gateway turns that preference off once;
351
355
  it can be turned back on afterward. A new Gateway command closes an open pause
352
- alert after its instruction is successfully submitted to PM.
356
+ alert after its instruction is successfully submitted to the selected role.
353
357
 
354
358
  ## Gate Review Gates
355
359
 
@@ -435,12 +439,13 @@ Gateway can:
435
439
  - select a project or task
436
440
  - create a task
437
441
  - close a task with confirmation
438
- - send plain text to Project Manager
439
- - push the PM Round-final reply and Round status back to the active chat
442
+ - select Project Manager, Architect, Coder, Tester, or Reviewer
443
+ - send plain text to the selected role
444
+ - push the selected role's Round Final Reply and Round status back to the active chat
440
445
  - translate mobile messages when Gateway translation is enabled
441
446
 
442
- Gateway does not expose the embedded terminal and does not send directly to
443
- Architect, Coder, Tester, or Reviewer.
447
+ Gateway does not expose the embedded terminal. Translator and Harness Engineer
448
+ remain tool roles and cannot be selected as Gateway message targets.
444
449
 
445
450
  Common commands:
446
451
 
@@ -448,6 +453,8 @@ Common commands:
448
453
  /help
449
454
  /start
450
455
  /status
456
+ /role
457
+ /role <pm|architect|coder|tester|reviewer>
451
458
  /projects
452
459
  /use-project <index-or-path>
453
460
  /pull-current
@@ -466,9 +473,11 @@ repositories.
466
473
 
467
474
  When Gateway starts, VCM enables conversation translation, auto-send, and the
468
475
  `Round final reply` scope. On a normal Round end, Gateway sends the PM original
469
- reply first, then reuses the matching translation already produced for the
470
- translation panel. `/retry` explicitly creates a new translation only when the
471
- previous Gateway translation failed or was unavailable.
476
+ reply first by default. After `/role` selects another VCM role, the same rule
477
+ applies to that role's Round Final Reply. Gateway then reuses the matching
478
+ translation already produced for the translation panel. `/retry` explicitly
479
+ creates a new translation only when the previous Gateway translation failed or
480
+ was unavailable.
472
481
 
473
482
  ## Harness Studio
474
483
 
@@ -43,10 +43,27 @@ export function parseGatewayCommand(input) {
43
43
  return { kind: "translate", enabled: false };
44
44
  }
45
45
  return { kind: "unknown", name };
46
+ case "/role": {
47
+ if (!rest[0]) {
48
+ return { kind: "role" };
49
+ }
50
+ const role = parseGatewayRole(rest[0]);
51
+ return role ? { kind: "role", role } : { kind: "unknown", name: `${name} ${rest[0]}` };
52
+ }
46
53
  default:
47
54
  return { kind: "unknown", name };
48
55
  }
49
56
  }
57
+ function parseGatewayRole(input) {
58
+ const value = input.trim().toLowerCase();
59
+ if (value === "pm" || value === "project-manager") {
60
+ return "project-manager";
61
+ }
62
+ if (value === "architect" || value === "coder" || value === "tester" || value === "reviewer") {
63
+ return value;
64
+ }
65
+ return undefined;
66
+ }
50
67
  function splitArgs(input) {
51
68
  const out = [];
52
69
  let current = "";