shipwright-cli 2.1.0 → 2.1.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.
Files changed (98) hide show
  1. package/package.json +1 -1
  2. package/scripts/sw +1 -1
  3. package/scripts/sw-activity.sh +1 -1
  4. package/scripts/sw-adaptive.sh +1 -1
  5. package/scripts/sw-adversarial.sh +1 -1
  6. package/scripts/sw-architecture-enforcer.sh +1 -1
  7. package/scripts/sw-auth.sh +1 -1
  8. package/scripts/sw-autonomous.sh +1 -1
  9. package/scripts/sw-changelog.sh +1 -1
  10. package/scripts/sw-checkpoint.sh +1 -1
  11. package/scripts/sw-ci.sh +1 -1
  12. package/scripts/sw-cleanup.sh +1 -1
  13. package/scripts/sw-code-review.sh +1 -1
  14. package/scripts/sw-connect.sh +1 -1
  15. package/scripts/sw-context.sh +1 -1
  16. package/scripts/sw-cost.sh +1 -1
  17. package/scripts/sw-daemon.sh +85 -4
  18. package/scripts/sw-dashboard.sh +1 -1
  19. package/scripts/sw-db.sh +1 -1
  20. package/scripts/sw-decompose.sh +1 -1
  21. package/scripts/sw-deps.sh +1 -1
  22. package/scripts/sw-developer-simulation.sh +1 -1
  23. package/scripts/sw-discovery.sh +1 -1
  24. package/scripts/sw-docs-agent.sh +1 -1
  25. package/scripts/sw-docs.sh +1 -1
  26. package/scripts/sw-doctor.sh +1 -1
  27. package/scripts/sw-dora.sh +1 -1
  28. package/scripts/sw-durable.sh +1 -1
  29. package/scripts/sw-e2e-orchestrator.sh +1 -1
  30. package/scripts/sw-eventbus.sh +1 -1
  31. package/scripts/sw-feedback.sh +1 -1
  32. package/scripts/sw-fix.sh +1 -1
  33. package/scripts/sw-fleet-discover.sh +1 -1
  34. package/scripts/sw-fleet-viz.sh +1 -1
  35. package/scripts/sw-fleet.sh +1 -1
  36. package/scripts/sw-github-app.sh +1 -1
  37. package/scripts/sw-github-checks.sh +1 -1
  38. package/scripts/sw-github-deploy.sh +1 -1
  39. package/scripts/sw-github-graphql.sh +1 -1
  40. package/scripts/sw-guild.sh +1 -1
  41. package/scripts/sw-heartbeat.sh +1 -1
  42. package/scripts/sw-hygiene.sh +1 -1
  43. package/scripts/sw-incident.sh +1 -1
  44. package/scripts/sw-init.sh +1 -1
  45. package/scripts/sw-instrument.sh +1 -1
  46. package/scripts/sw-intelligence.sh +1 -1
  47. package/scripts/sw-jira.sh +1 -1
  48. package/scripts/sw-launchd.sh +1 -1
  49. package/scripts/sw-linear.sh +1 -1
  50. package/scripts/sw-logs.sh +1 -1
  51. package/scripts/sw-loop.sh +24 -8
  52. package/scripts/sw-memory.sh +59 -57
  53. package/scripts/sw-mission-control.sh +1 -1
  54. package/scripts/sw-model-router.sh +1 -1
  55. package/scripts/sw-otel.sh +1 -1
  56. package/scripts/sw-oversight.sh +1 -1
  57. package/scripts/sw-pipeline-composer.sh +1 -1
  58. package/scripts/sw-pipeline-vitals.sh +1 -1
  59. package/scripts/sw-pipeline.sh +82 -7
  60. package/scripts/sw-pm.sh +1 -1
  61. package/scripts/sw-pr-lifecycle.sh +1 -1
  62. package/scripts/sw-predictive.sh +1 -1
  63. package/scripts/sw-prep.sh +18 -14
  64. package/scripts/sw-ps.sh +1 -1
  65. package/scripts/sw-public-dashboard.sh +1 -1
  66. package/scripts/sw-quality.sh +1 -1
  67. package/scripts/sw-reaper.sh +1 -1
  68. package/scripts/sw-regression.sh +1 -1
  69. package/scripts/sw-release-manager.sh +1 -1
  70. package/scripts/sw-release.sh +1 -1
  71. package/scripts/sw-remote.sh +1 -1
  72. package/scripts/sw-replay.sh +1 -1
  73. package/scripts/sw-retro.sh +1 -1
  74. package/scripts/sw-scale.sh +1 -1
  75. package/scripts/sw-security-audit.sh +1 -1
  76. package/scripts/sw-self-optimize.sh +1 -1
  77. package/scripts/sw-session.sh +1 -1
  78. package/scripts/sw-setup.sh +1 -1
  79. package/scripts/sw-standup.sh +1 -1
  80. package/scripts/sw-status.sh +1 -1
  81. package/scripts/sw-strategic.sh +1 -1
  82. package/scripts/sw-stream.sh +1 -1
  83. package/scripts/sw-swarm.sh +1 -1
  84. package/scripts/sw-team-stages.sh +1 -1
  85. package/scripts/sw-templates.sh +1 -1
  86. package/scripts/sw-testgen.sh +1 -1
  87. package/scripts/sw-tmux-pipeline.sh +1 -1
  88. package/scripts/sw-tmux.sh +1 -1
  89. package/scripts/sw-trace.sh +1 -1
  90. package/scripts/sw-tracker.sh +1 -1
  91. package/scripts/sw-triage.sh +1 -1
  92. package/scripts/sw-upgrade.sh +1 -1
  93. package/scripts/sw-ux.sh +30 -2
  94. package/scripts/sw-webhook.sh +1 -1
  95. package/scripts/sw-widgets.sh +1 -1
  96. package/scripts/sw-worktree.sh +1 -1
  97. package/templates/pipelines/autonomous.json +2 -2
  98. package/tmux/tmux.conf +3 -0
@@ -6,7 +6,7 @@
6
6
  set -euo pipefail
7
7
  trap 'echo "ERROR: $BASH_SOURCE:$LINENO exited with status $?" >&2' ERR
8
8
 
9
- VERSION="2.1.0"
9
+ VERSION="2.1.2"
10
10
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
11
11
  REPO_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
12
12
 
@@ -6,7 +6,7 @@
6
6
  set -euo pipefail
7
7
  trap 'echo "ERROR: $BASH_SOURCE:$LINENO exited with status $?" >&2' ERR
8
8
 
9
- VERSION="2.1.0"
9
+ VERSION="2.1.2"
10
10
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
11
11
  REPO_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
12
12
 
@@ -8,7 +8,7 @@
8
8
  # ║ Supports --template to scaffold from a team template and --terminal ║
9
9
  # ║ to select a terminal adapter (tmux, iterm2, wezterm). ║
10
10
  # ╚═══════════════════════════════════════════════════════════════════════════╝
11
- VERSION="2.1.0"
11
+ VERSION="2.1.2"
12
12
  set -euo pipefail
13
13
  trap 'echo "ERROR: $BASH_SOURCE:$LINENO exited with status $?" >&2' ERR
14
14
 
@@ -10,7 +10,7 @@
10
10
  set -euo pipefail
11
11
  trap 'echo "ERROR: $BASH_SOURCE:$LINENO exited with status $?" >&2' ERR
12
12
 
13
- VERSION="2.1.0"
13
+ VERSION="2.1.2"
14
14
 
15
15
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
16
16
  REPO_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
@@ -6,7 +6,7 @@
6
6
  set -euo pipefail
7
7
  trap 'echo "ERROR: $BASH_SOURCE:$LINENO exited with status $?" >&2' ERR
8
8
 
9
- VERSION="2.1.0"
9
+ VERSION="2.1.2"
10
10
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
11
11
  REPO_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
12
12
 
@@ -4,7 +4,7 @@
4
4
  # ║ ║
5
5
  # ║ Shows running teams, agent windows, and task progress. ║
6
6
  # ╚═══════════════════════════════════════════════════════════════════════════╝
7
- VERSION="2.1.0"
7
+ VERSION="2.1.2"
8
8
  set -euo pipefail
9
9
  trap 'echo "ERROR: $BASH_SOURCE:$LINENO exited with status $?" >&2' ERR
10
10
 
@@ -7,7 +7,7 @@
7
7
  # When sourced, do NOT add set -euo pipefail — the parent handles that.
8
8
  # When run directly, main() sets up the error handling.
9
9
 
10
- VERSION="2.1.0"
10
+ VERSION="2.1.2"
11
11
 
12
12
  # ─── Colors (matches Seth's tmux theme) ─────────────────────────────────────
13
13
  CYAN='\033[38;2;0;212;255m'
@@ -5,7 +5,7 @@
5
5
  # ║ Streams tmux pane output in real-time to the dashboard or CLI. ║
6
6
  # ║ Captures output periodically, tags by agent/team, supports replay. ║
7
7
  # ╚═══════════════════════════════════════════════════════════════════════════╝
8
- VERSION="2.1.0"
8
+ VERSION="2.1.2"
9
9
  set -euo pipefail
10
10
  trap 'echo "ERROR: $BASH_SOURCE:$LINENO exited with status $?" >&2' ERR
11
11
 
@@ -6,7 +6,7 @@
6
6
  set -euo pipefail
7
7
  trap 'echo "ERROR: $BASH_SOURCE:$LINENO exited with status $?" >&2' ERR
8
8
 
9
- VERSION="2.1.0"
9
+ VERSION="2.1.2"
10
10
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
11
11
  REPO_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
12
12
 
@@ -6,7 +6,7 @@
6
6
  set -euo pipefail
7
7
  trap 'echo "ERROR: $BASH_SOURCE:$LINENO exited with status $?" >&2' ERR
8
8
 
9
- VERSION="2.1.0"
9
+ VERSION="2.1.2"
10
10
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
11
11
  REPO_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
12
12
 
@@ -5,7 +5,7 @@
5
5
  # ║ Templates define reusable agent team configurations (roles, layout, ║
6
6
  # ║ focus areas) that shipwright session --template can use to scaffold teams. ║
7
7
  # ╚═══════════════════════════════════════════════════════════════════════════╝
8
- VERSION="2.1.0"
8
+ VERSION="2.1.2"
9
9
  set -euo pipefail
10
10
  trap 'echo "ERROR: $BASH_SOURCE:$LINENO exited with status $?" >&2' ERR
11
11
 
@@ -6,7 +6,7 @@
6
6
  set -euo pipefail
7
7
  trap 'echo "ERROR: $BASH_SOURCE:$LINENO exited with status $?" >&2' ERR
8
8
 
9
- VERSION="2.1.0"
9
+ VERSION="2.1.2"
10
10
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
11
11
 
12
12
  # ─── Handle subcommands ───────────────────────────────────────────────────────
@@ -6,7 +6,7 @@
6
6
  set -euo pipefail
7
7
  trap 'echo "ERROR: $BASH_SOURCE:$LINENO exited with status $?" >&2' ERR
8
8
 
9
- VERSION="2.1.0"
9
+ VERSION="2.1.2"
10
10
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
11
11
  REPO_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
12
12
 
@@ -11,7 +11,7 @@
11
11
  # ║ shipwright tmux fix — Auto-fix common issues ║
12
12
  # ║ shipwright tmux reload — Reload tmux config ║
13
13
  # ╚═══════════════════════════════════════════════════════════════════════════╝
14
- VERSION="2.1.0"
14
+ VERSION="2.1.2"
15
15
  set -euo pipefail
16
16
  trap 'echo "ERROR: $BASH_SOURCE:$LINENO exited with status $?" >&2' ERR
17
17
 
@@ -6,7 +6,7 @@
6
6
  set -euo pipefail
7
7
  trap 'echo "ERROR: $BASH_SOURCE:$LINENO exited with status $?" >&2' ERR
8
8
 
9
- VERSION="2.1.0"
9
+ VERSION="2.1.2"
10
10
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
11
11
  REPO_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
12
12
 
@@ -6,7 +6,7 @@
6
6
  set -euo pipefail
7
7
  trap 'echo "ERROR: $BASH_SOURCE:$LINENO exited with status $?" >&2' ERR
8
8
 
9
- VERSION="2.1.0"
9
+ VERSION="2.1.2"
10
10
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
11
11
  REPO_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
12
12
 
@@ -6,7 +6,7 @@
6
6
  set -euo pipefail
7
7
  trap 'echo "ERROR: $BASH_SOURCE:$LINENO exited with status $?" >&2' ERR
8
8
 
9
- VERSION="2.1.0"
9
+ VERSION="2.1.2"
10
10
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
11
11
  REPO_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
12
12
 
@@ -2,7 +2,7 @@
2
2
  # ╔═══════════════════════════════════════════════════════════════════════════╗
3
3
  # ║ sw upgrade — Detect and apply updates from the repo ║
4
4
  # ╚═══════════════════════════════════════════════════════════════════════════╝
5
- VERSION="2.1.0"
5
+ VERSION="2.1.2"
6
6
  set -euo pipefail
7
7
  trap 'echo "ERROR: $BASH_SOURCE:$LINENO exited with status $?" >&2' ERR
8
8
 
package/scripts/sw-ux.sh CHANGED
@@ -6,7 +6,7 @@
6
6
  set -euo pipefail
7
7
  trap 'echo "ERROR: $BASH_SOURCE:$LINENO exited with status $?" >&2' ERR
8
8
 
9
- VERSION="2.1.0"
9
+ VERSION="2.1.2"
10
10
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
11
11
 
12
12
  # ─── Colors (matches Seth's tmux theme) ─────────────────────────────────────
@@ -58,7 +58,7 @@ UX_CONFIG_REPO="./.claude/ux-config.json"
58
58
 
59
59
  # Detect accessibility modes
60
60
  should_disable_colors() {
61
- [[ -n "${NO_COLOR:-}" ]] || [[ -n "${CLICOLOR_FORCE:-}" && "$CLICOLOR_FORCE" == "0" ]]
61
+ [[ -n "${NO_COLOR:-}" ]] || [[ "${FORCE_COLOR:-}" == "0" ]] || [[ -n "${CLICOLOR_FORCE:-}" && "$CLICOLOR_FORCE" == "0" ]]
62
62
  }
63
63
 
64
64
  has_reduced_motion() {
@@ -408,11 +408,36 @@ set_reduced_motion() {
408
408
  enable_screen_reader_mode() {
409
409
  # Disable colors and animations for screen reader compatibility
410
410
  export NO_COLOR=1
411
+ export FORCE_COLOR=0
411
412
  export PREFERS_REDUCED_MOTION=1
413
+
414
+ # Propagate to tmux global environment so new panes inherit
415
+ if [[ -n "${TMUX:-}" ]]; then
416
+ tmux set-environment -g NO_COLOR 1
417
+ tmux set-environment -g FORCE_COLOR 0
418
+ tmux set-environment -g PREFERS_REDUCED_MOTION 1
419
+ fi
420
+
412
421
  success "Screen reader mode enabled (colors and animations disabled)"
413
422
  emit_event "ux_accessibility" "feature=screen_reader"
414
423
  }
415
424
 
425
+ disable_screen_reader_mode() {
426
+ unset NO_COLOR
427
+ unset FORCE_COLOR
428
+ unset PREFERS_REDUCED_MOTION
429
+
430
+ # Remove from tmux global environment
431
+ if [[ -n "${TMUX:-}" ]]; then
432
+ tmux set-environment -g -u NO_COLOR 2>/dev/null || true
433
+ tmux set-environment -g -u FORCE_COLOR 2>/dev/null || true
434
+ tmux set-environment -g -u PREFERS_REDUCED_MOTION 2>/dev/null || true
435
+ fi
436
+
437
+ success "Screen reader mode disabled (colors and animations restored)"
438
+ emit_event "ux_accessibility" "feature=screen_reader_disabled"
439
+ }
440
+
416
441
  # ─── Formatting Helpers ───────────────────────────────────────────────────
417
442
  format_diff_line() {
418
443
  local line="$1"
@@ -648,6 +673,9 @@ main() {
648
673
  --screen-reader)
649
674
  enable_screen_reader_mode
650
675
  ;;
676
+ --no-screen-reader)
677
+ disable_screen_reader_mode
678
+ ;;
651
679
  *)
652
680
  error "Unknown accessibility option: $1"
653
681
  exit 1
@@ -6,7 +6,7 @@
6
6
  set -euo pipefail
7
7
  trap 'echo "ERROR: $BASH_SOURCE:$LINENO exited with status $?" >&2' ERR
8
8
 
9
- VERSION="2.1.0"
9
+ VERSION="2.1.2"
10
10
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
11
11
 
12
12
  # ─── Colors (matches Seth's tmux theme) ─────────────────────────────────────
@@ -8,7 +8,7 @@
8
8
  set -euo pipefail
9
9
  trap 'echo "ERROR: $BASH_SOURCE:$LINENO exited with status $?" >&2' ERR
10
10
 
11
- VERSION="2.1.0"
11
+ VERSION="2.1.2"
12
12
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
13
13
  REPO_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
14
14
 
@@ -5,7 +5,7 @@
5
5
  # ║ Each agent gets its own worktree so parallel agents don't clobber ║
6
6
  # ║ each other's files. Worktrees live in .worktrees/ relative to root. ║
7
7
  # ╚═══════════════════════════════════════════════════════════════════════════╝
8
- VERSION="2.1.0"
8
+ VERSION="2.1.2"
9
9
  set -euo pipefail
10
10
  trap 'echo "ERROR: $BASH_SOURCE:$LINENO exited with status $?" >&2' ERR
11
11
 
@@ -66,8 +66,8 @@
66
66
  "merge_method": "squash",
67
67
  "wait_ci_timeout_s": 600,
68
68
  "auto_delete_branch": true,
69
- "auto_merge": false,
70
- "auto_approve": false
69
+ "auto_merge": true,
70
+ "auto_approve": true
71
71
  }
72
72
  },
73
73
  {
package/tmux/tmux.conf CHANGED
@@ -39,6 +39,9 @@ set -as terminal-features 'xterm*:extkeys'
39
39
  # Signal true color support to apps inside tmux.
40
40
  # Without this, Claude Code falls back to 256-color ANSI palette (washed-out).
41
41
  set-environment -g COLORTERM truecolor
42
+ # Ensure TERM is correct in the global environment.
43
+ # Prevents inherited TERM=dumb (from launchers/IDEs) from disabling colors.
44
+ set-environment -g TERM tmux-256color
42
45
 
43
46
  # ─── Mouse ──────────────────────────────────────────────────────────────
44
47
  set -g mouse on