shipwright-cli 2.0.0 → 2.1.0
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 +160 -72
- package/completions/_shipwright +59 -7
- package/completions/shipwright.bash +24 -4
- package/completions/shipwright.fish +80 -2
- package/dashboard/server.ts +208 -0
- package/docs/tmux-research/TMUX-ARCHITECTURE.md +567 -0
- package/docs/tmux-research/TMUX-AUDIT.md +925 -0
- package/docs/tmux-research/TMUX-BEST-PRACTICES-2025-2026.md +829 -0
- package/docs/tmux-research/TMUX-QUICK-REFERENCE.md +543 -0
- package/docs/tmux-research/TMUX-RESEARCH-INDEX.md +438 -0
- package/package.json +2 -2
- package/scripts/lib/helpers.sh +7 -0
- package/scripts/sw +116 -2
- package/scripts/sw-activity.sh +1 -1
- package/scripts/sw-adaptive.sh +1 -1
- package/scripts/sw-adversarial.sh +1 -1
- package/scripts/sw-architecture-enforcer.sh +1 -1
- package/scripts/sw-auth.sh +1 -1
- package/scripts/sw-autonomous.sh +128 -38
- package/scripts/sw-changelog.sh +1 -1
- package/scripts/sw-checkpoint.sh +1 -1
- package/scripts/sw-ci.sh +1 -1
- package/scripts/sw-cleanup.sh +1 -1
- package/scripts/sw-code-review.sh +62 -1
- package/scripts/sw-connect.sh +1 -1
- package/scripts/sw-context.sh +1 -1
- package/scripts/sw-cost.sh +44 -3
- package/scripts/sw-daemon.sh +155 -27
- package/scripts/sw-dashboard.sh +1 -1
- package/scripts/sw-db.sh +958 -118
- package/scripts/sw-decompose.sh +1 -1
- package/scripts/sw-deps.sh +1 -1
- package/scripts/sw-developer-simulation.sh +1 -1
- package/scripts/sw-discovery.sh +1 -1
- package/scripts/sw-docs-agent.sh +1 -1
- package/scripts/sw-docs.sh +1 -1
- package/scripts/sw-doctor.sh +49 -1
- package/scripts/sw-dora.sh +1 -1
- package/scripts/sw-durable.sh +1 -1
- package/scripts/sw-e2e-orchestrator.sh +1 -1
- package/scripts/sw-eventbus.sh +1 -1
- package/scripts/sw-feedback.sh +23 -15
- package/scripts/sw-fix.sh +1 -1
- package/scripts/sw-fleet-discover.sh +1 -1
- package/scripts/sw-fleet-viz.sh +1 -1
- package/scripts/sw-fleet.sh +1 -1
- package/scripts/sw-github-app.sh +1 -1
- package/scripts/sw-github-checks.sh +4 -4
- package/scripts/sw-github-deploy.sh +1 -1
- package/scripts/sw-github-graphql.sh +1 -1
- package/scripts/sw-guild.sh +1 -1
- package/scripts/sw-heartbeat.sh +1 -1
- package/scripts/sw-hygiene.sh +1 -1
- package/scripts/sw-incident.sh +45 -6
- package/scripts/sw-init.sh +150 -24
- package/scripts/sw-instrument.sh +1 -1
- package/scripts/sw-intelligence.sh +1 -1
- package/scripts/sw-jira.sh +1 -1
- package/scripts/sw-launchd.sh +1 -1
- package/scripts/sw-linear.sh +1 -1
- package/scripts/sw-logs.sh +1 -1
- package/scripts/sw-loop.sh +204 -19
- package/scripts/sw-memory.sh +18 -1
- package/scripts/sw-mission-control.sh +1 -1
- package/scripts/sw-model-router.sh +1 -1
- package/scripts/sw-otel.sh +1 -1
- package/scripts/sw-oversight.sh +76 -1
- package/scripts/sw-pipeline-composer.sh +1 -1
- package/scripts/sw-pipeline-vitals.sh +1 -1
- package/scripts/sw-pipeline.sh +261 -12
- package/scripts/sw-pm.sh +70 -5
- package/scripts/sw-pr-lifecycle.sh +1 -1
- package/scripts/sw-predictive.sh +8 -1
- package/scripts/sw-prep.sh +1 -1
- package/scripts/sw-ps.sh +1 -1
- package/scripts/sw-public-dashboard.sh +1 -1
- package/scripts/sw-quality.sh +1 -1
- package/scripts/sw-reaper.sh +1 -1
- package/scripts/sw-recruit.sh +1853 -178
- package/scripts/sw-regression.sh +1 -1
- package/scripts/sw-release-manager.sh +1 -1
- package/scripts/sw-release.sh +1 -1
- package/scripts/sw-remote.sh +1 -1
- package/scripts/sw-replay.sh +1 -1
- package/scripts/sw-retro.sh +1 -1
- package/scripts/sw-scale.sh +1 -1
- package/scripts/sw-security-audit.sh +1 -1
- package/scripts/sw-self-optimize.sh +1 -1
- package/scripts/sw-session.sh +1 -1
- package/scripts/sw-setup.sh +263 -127
- package/scripts/sw-standup.sh +1 -1
- package/scripts/sw-status.sh +44 -2
- package/scripts/sw-strategic.sh +189 -41
- package/scripts/sw-stream.sh +1 -1
- package/scripts/sw-swarm.sh +42 -5
- package/scripts/sw-team-stages.sh +1 -1
- package/scripts/sw-templates.sh +4 -4
- package/scripts/sw-testgen.sh +66 -15
- package/scripts/sw-tmux-pipeline.sh +1 -1
- package/scripts/sw-tmux-role-color.sh +58 -0
- package/scripts/sw-tmux-status.sh +128 -0
- package/scripts/sw-tmux.sh +1 -1
- package/scripts/sw-trace.sh +1 -1
- package/scripts/sw-tracker.sh +1 -1
- package/scripts/sw-triage.sh +61 -37
- package/scripts/sw-upgrade.sh +1 -1
- package/scripts/sw-ux.sh +1 -1
- package/scripts/sw-webhook.sh +1 -1
- package/scripts/sw-widgets.sh +1 -1
- package/scripts/sw-worktree.sh +1 -1
- package/templates/pipelines/autonomous.json +2 -2
- package/tmux/shipwright-overlay.conf +35 -17
- package/tmux/tmux.conf +23 -21
package/tmux/tmux.conf
CHANGED
|
@@ -36,6 +36,10 @@ set -g allow-passthrough on
|
|
|
36
36
|
set -g extended-keys on
|
|
37
37
|
set -as terminal-features 'xterm*:extkeys'
|
|
38
38
|
|
|
39
|
+
# Signal true color support to apps inside tmux.
|
|
40
|
+
# Without this, Claude Code falls back to 256-color ANSI palette (washed-out).
|
|
41
|
+
set-environment -g COLORTERM truecolor
|
|
42
|
+
|
|
39
43
|
# ─── Mouse ──────────────────────────────────────────────────────────────
|
|
40
44
|
set -g mouse on
|
|
41
45
|
# Fix: tmux 3.4+ defaults MouseDown1Status to switch-client (sessions),
|
|
@@ -46,7 +50,8 @@ bind -T root DoubleClick1Status command-prompt -I "#W" "rename-window -- '%%'"
|
|
|
46
50
|
|
|
47
51
|
# ─── Core Behavior ─────────────────────────────────────────────────────
|
|
48
52
|
set -g base-index 1
|
|
49
|
-
|
|
53
|
+
# Claude Code expects 0-based pane indexing for agent team pane routing
|
|
54
|
+
setw -g pane-base-index 0
|
|
50
55
|
set -g renumber-windows on
|
|
51
56
|
set -sg escape-time 0
|
|
52
57
|
set -g focus-events on
|
|
@@ -71,9 +76,9 @@ set -g history-limit 250000
|
|
|
71
76
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
72
77
|
|
|
73
78
|
set -g status-position bottom
|
|
74
|
-
set -g status-interval
|
|
79
|
+
set -g status-interval 3
|
|
75
80
|
set -g status-justify left
|
|
76
|
-
set -g status-style "bg=#1a1a2e,fg=#
|
|
81
|
+
set -g status-style "bg=#1a1a2e,fg=#a1a1aa"
|
|
77
82
|
set -g status-left-length 100
|
|
78
83
|
set -g status-right-length 150
|
|
79
84
|
|
|
@@ -86,15 +91,18 @@ setw -g window-status-format "#{?#{m:claude-*,#W},#[fg=#7c3aed]#[bg=#252538] λ
|
|
|
86
91
|
# Active window; team windows get λ icon in cyan
|
|
87
92
|
setw -g window-status-current-format "#{?#{m:claude-*,#W},#[fg=#1e1e32]#[bg=#00d4ff]#[bold] λ #I:#W ,#[fg=#1e1e32]#[bg=#00d4ff]#[bold] #I:#W }#[fg=#00d4ff]#[bg=#1a1a2e]"
|
|
88
93
|
|
|
89
|
-
# Right side: key hints when prefix is active, otherwise
|
|
90
|
-
|
|
94
|
+
# Right side: key hints when prefix is active, otherwise pipeline + agents + clock
|
|
95
|
+
# Pipeline widget: shows current stage (BUILD, TEST, etc.) with stage-colored badge
|
|
96
|
+
# Agent widget: shows active agent count as λN in purple
|
|
97
|
+
# Rule: dark text (#1e1e32) on bright backgrounds, muted text on dark backgrounds
|
|
98
|
+
set -g status-right-length 200
|
|
99
|
+
set -g status-right "#{?client_prefix,#[fg=#1e1e32]#[bg=#0066ff]#[bold] T team | split - split hjkl nav G zoom S sync x kill F fzf #[fg=#1e1e32]#[bg=#00d4ff]#[bold] ^a ,#(~/.shipwright/scripts/sw-tmux-status.sh agents 2>/dev/null)#(~/.shipwright/scripts/sw-tmux-status.sh pipeline 2>/dev/null)#[fg=#71717a]#[bg=#252538] #(whoami)@#h #[fg=#1e1e32]#[bg=#7c3aed]#[bold] %H:%M #[fg=#1e1e32]#[bg=#0066ff]#[bold] %b %d #[fg=#1e1e32]#[bg=#00d4ff]#[bold] %a }"
|
|
91
100
|
|
|
92
101
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
93
102
|
# PANE STYLING
|
|
94
103
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
95
104
|
|
|
96
|
-
|
|
97
|
-
set -g window-active-style 'bg=#1a1a2e,fg=#e4e4e7'
|
|
105
|
+
# window-style/window-active-style defined in shipwright-overlay.conf (with hooks)
|
|
98
106
|
set -g pane-border-style "fg=#333355,bg=#1a1a2e"
|
|
99
107
|
set -g pane-active-border-style "fg=#00d4ff,bg=#1a1a2e"
|
|
100
108
|
# Heavy pane border lines for better visibility (tmux 3.2+)
|
|
@@ -112,13 +120,13 @@ set -gq popup-border-lines rounded
|
|
|
112
120
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
113
121
|
|
|
114
122
|
set -g message-style "bg=#00d4ff,fg=#1e1e32,bold"
|
|
115
|
-
set -g message-command-style "bg=#7c3aed,fg=#
|
|
123
|
+
set -g message-command-style "bg=#7c3aed,fg=#1e1e32,bold"
|
|
116
124
|
|
|
117
125
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
118
126
|
# MODE STYLING (copy mode, etc.)
|
|
119
127
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
120
128
|
|
|
121
|
-
setw -g mode-style "bg=#0066ff,fg=#
|
|
129
|
+
setw -g mode-style "bg=#0066ff,fg=#1e1e32,bold"
|
|
122
130
|
setw -g clock-mode-colour "#00d4ff"
|
|
123
131
|
setw -g clock-mode-style 24
|
|
124
132
|
|
|
@@ -130,7 +138,7 @@ unbind C-b
|
|
|
130
138
|
set -g prefix C-a
|
|
131
139
|
bind C-a send-prefix
|
|
132
140
|
|
|
133
|
-
bind r source-file ~/.tmux.conf \; display-message "Config reloaded!"
|
|
141
|
+
bind r source-file ~/.tmux.conf \; source-file -q ~/.tmux/shipwright-overlay.conf \; display-message "Config reloaded!"
|
|
134
142
|
|
|
135
143
|
bind | split-window -h -c "#{pane_current_path}"
|
|
136
144
|
bind - split-window -v -c "#{pane_current_path}"
|
|
@@ -152,23 +160,17 @@ bind -r C-l select-window -t :+
|
|
|
152
160
|
|
|
153
161
|
bind c new-window -c "#{pane_current_path}"
|
|
154
162
|
|
|
155
|
-
|
|
156
|
-
bind
|
|
163
|
+
# x/X bindings defined in shipwright-overlay.conf with confirm-before safety
|
|
164
|
+
# bind x → confirm-before kill-pane
|
|
165
|
+
# bind X → confirm-before kill-window
|
|
157
166
|
|
|
158
167
|
setw -g mode-keys vi
|
|
159
168
|
bind -T copy-mode-vi v send-keys -X begin-selection
|
|
160
169
|
bind -T copy-mode-vi r send-keys -X rectangle-toggle
|
|
161
170
|
bind p paste-buffer
|
|
162
171
|
|
|
163
|
-
#
|
|
164
|
-
|
|
165
|
-
"bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'pbcopy'" \
|
|
166
|
-
"bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -selection clipboard 2>/dev/null || xsel --clipboard 2>/dev/null'"
|
|
167
|
-
|
|
168
|
-
# Mouse drag also copies to system clipboard
|
|
169
|
-
if-shell "command -v pbcopy" \
|
|
170
|
-
"bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel 'pbcopy'" \
|
|
171
|
-
"bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel 'xclip -selection clipboard 2>/dev/null || xsel --clipboard 2>/dev/null'"
|
|
172
|
+
# Clipboard handled by tmux-yank plugin (loaded via TPM below)
|
|
173
|
+
# tmux-yank uses OSC 52 + pbcopy/xclip automatically
|
|
172
174
|
|
|
173
175
|
bind S setw synchronize-panes \; display-message "Sync #{?synchronize-panes,ON,OFF}"
|
|
174
176
|
|