shipwright-cli 1.10.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 +221 -55
- package/completions/_shipwright +264 -32
- package/completions/shipwright.bash +118 -26
- package/completions/shipwright.fish +80 -2
- package/dashboard/server.ts +208 -0
- package/docs/strategy/01-market-research.md +619 -0
- package/docs/strategy/02-mission-and-brand.md +587 -0
- package/docs/strategy/03-gtm-and-roadmap.md +759 -0
- package/docs/strategy/QUICK-START.txt +289 -0
- package/docs/strategy/README.md +172 -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 +4 -2
- package/scripts/lib/helpers.sh +7 -0
- package/scripts/sw +323 -2
- package/scripts/sw-activity.sh +500 -0
- package/scripts/sw-adaptive.sh +925 -0
- package/scripts/sw-adversarial.sh +1 -1
- package/scripts/sw-architecture-enforcer.sh +1 -1
- package/scripts/sw-auth.sh +613 -0
- package/scripts/sw-autonomous.sh +754 -0
- package/scripts/sw-changelog.sh +704 -0
- package/scripts/sw-checkpoint.sh +1 -1
- package/scripts/sw-ci.sh +602 -0
- package/scripts/sw-cleanup.sh +1 -1
- package/scripts/sw-code-review.sh +698 -0
- package/scripts/sw-connect.sh +1 -1
- package/scripts/sw-context.sh +605 -0
- package/scripts/sw-cost.sh +44 -3
- package/scripts/sw-daemon.sh +568 -138
- package/scripts/sw-dashboard.sh +1 -1
- package/scripts/sw-db.sh +1380 -0
- package/scripts/sw-decompose.sh +539 -0
- package/scripts/sw-deps.sh +551 -0
- package/scripts/sw-developer-simulation.sh +1 -1
- package/scripts/sw-discovery.sh +412 -0
- package/scripts/sw-docs-agent.sh +539 -0
- package/scripts/sw-docs.sh +1 -1
- package/scripts/sw-doctor.sh +107 -1
- package/scripts/sw-dora.sh +615 -0
- package/scripts/sw-durable.sh +710 -0
- package/scripts/sw-e2e-orchestrator.sh +535 -0
- package/scripts/sw-eventbus.sh +393 -0
- package/scripts/sw-feedback.sh +479 -0
- package/scripts/sw-fix.sh +1 -1
- package/scripts/sw-fleet-discover.sh +567 -0
- package/scripts/sw-fleet-viz.sh +404 -0
- package/scripts/sw-fleet.sh +8 -1
- package/scripts/sw-github-app.sh +596 -0
- 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 +569 -0
- package/scripts/sw-heartbeat.sh +1 -1
- package/scripts/sw-hygiene.sh +559 -0
- package/scripts/sw-incident.sh +656 -0
- package/scripts/sw-init.sh +237 -24
- package/scripts/sw-instrument.sh +699 -0
- package/scripts/sw-intelligence.sh +1 -1
- package/scripts/sw-jira.sh +1 -1
- package/scripts/sw-launchd.sh +363 -28
- package/scripts/sw-linear.sh +1 -1
- package/scripts/sw-logs.sh +1 -1
- package/scripts/sw-loop.sh +267 -21
- package/scripts/sw-memory.sh +18 -1
- package/scripts/sw-mission-control.sh +487 -0
- package/scripts/sw-model-router.sh +545 -0
- package/scripts/sw-otel.sh +596 -0
- package/scripts/sw-oversight.sh +764 -0
- package/scripts/sw-pipeline-composer.sh +1 -1
- package/scripts/sw-pipeline-vitals.sh +1 -1
- package/scripts/sw-pipeline.sh +947 -35
- package/scripts/sw-pm.sh +758 -0
- package/scripts/sw-pr-lifecycle.sh +522 -0
- 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 +798 -0
- package/scripts/sw-quality.sh +595 -0
- package/scripts/sw-reaper.sh +1 -1
- package/scripts/sw-recruit.sh +2248 -0
- package/scripts/sw-regression.sh +642 -0
- package/scripts/sw-release-manager.sh +736 -0
- package/scripts/sw-release.sh +706 -0
- package/scripts/sw-remote.sh +1 -1
- package/scripts/sw-replay.sh +520 -0
- package/scripts/sw-retro.sh +691 -0
- package/scripts/sw-scale.sh +444 -0
- package/scripts/sw-security-audit.sh +505 -0
- 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 +712 -0
- package/scripts/sw-status.sh +44 -2
- package/scripts/sw-strategic.sh +806 -0
- package/scripts/sw-stream.sh +450 -0
- package/scripts/sw-swarm.sh +620 -0
- package/scripts/sw-team-stages.sh +511 -0
- package/scripts/sw-templates.sh +4 -4
- package/scripts/sw-testgen.sh +566 -0
- package/scripts/sw-tmux-pipeline.sh +554 -0
- 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 +485 -0
- package/scripts/sw-tracker-github.sh +188 -0
- package/scripts/sw-tracker-jira.sh +172 -0
- package/scripts/sw-tracker-linear.sh +251 -0
- package/scripts/sw-tracker.sh +117 -2
- package/scripts/sw-triage.sh +627 -0
- package/scripts/sw-upgrade.sh +1 -1
- package/scripts/sw-ux.sh +677 -0
- package/scripts/sw-webhook.sh +627 -0
- package/scripts/sw-widgets.sh +530 -0
- 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/scripts/sw-status.sh
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
# ║ ║
|
|
5
5
|
# ║ Shows running teams, agent windows, and task progress. ║
|
|
6
6
|
# ╚═══════════════════════════════════════════════════════════════════════════╝
|
|
7
|
-
VERSION="1.
|
|
7
|
+
VERSION="2.1.0"
|
|
8
8
|
set -euo pipefail
|
|
9
9
|
trap 'echo "ERROR: $BASH_SOURCE:$LINENO exited with status $?" >&2' ERR
|
|
10
10
|
|
|
@@ -188,6 +188,26 @@ if [[ "$JSON_OUTPUT" == "true" ]]; then
|
|
|
188
188
|
fi
|
|
189
189
|
fi
|
|
190
190
|
|
|
191
|
+
# -- database --
|
|
192
|
+
DATABASE_JSON="null"
|
|
193
|
+
_db_file="${HOME}/.shipwright/shipwright.db"
|
|
194
|
+
if command -v sqlite3 &>/dev/null && [[ -f "$_db_file" ]]; then
|
|
195
|
+
_db_ver=$(sqlite3 "$_db_file" "SELECT MAX(version) FROM _schema;" 2>/dev/null || echo "0")
|
|
196
|
+
_db_wal=$(sqlite3 "$_db_file" "PRAGMA journal_mode;" 2>/dev/null || echo "unknown")
|
|
197
|
+
_db_events=$(sqlite3 "$_db_file" "SELECT COUNT(*) FROM events;" 2>/dev/null || echo "0")
|
|
198
|
+
_db_runs=$(sqlite3 "$_db_file" "SELECT COUNT(*) FROM pipeline_runs;" 2>/dev/null || echo "0")
|
|
199
|
+
_db_costs=$(sqlite3 "$_db_file" "SELECT COUNT(*) FROM cost_entries;" 2>/dev/null || echo "0")
|
|
200
|
+
_db_size=$(ls -l "$_db_file" 2>/dev/null | awk '{print $5}')
|
|
201
|
+
DATABASE_JSON=$(jq -n \
|
|
202
|
+
--argjson schema_version "${_db_ver:-0}" \
|
|
203
|
+
--arg wal_mode "$_db_wal" \
|
|
204
|
+
--argjson events "${_db_events:-0}" \
|
|
205
|
+
--argjson runs "${_db_runs:-0}" \
|
|
206
|
+
--argjson costs "${_db_costs:-0}" \
|
|
207
|
+
--argjson size_bytes "${_db_size:-0}" \
|
|
208
|
+
'{schema_version:$schema_version, wal_mode:$wal_mode, events:$events, runs:$runs, costs:$costs, size_bytes:$size_bytes}') || DATABASE_JSON="null"
|
|
209
|
+
fi
|
|
210
|
+
|
|
191
211
|
# -- assemble and output --
|
|
192
212
|
jq -n \
|
|
193
213
|
--arg version "$VERSION" \
|
|
@@ -200,6 +220,7 @@ if [[ "$JSON_OUTPUT" == "true" ]]; then
|
|
|
200
220
|
--argjson heartbeats "$HEARTBEATS_JSON" \
|
|
201
221
|
--argjson remote_machines "$MACHINES_JSON" \
|
|
202
222
|
--argjson connected_developers "$DEVELOPERS_JSON" \
|
|
223
|
+
--argjson database "$DATABASE_JSON" \
|
|
203
224
|
'{
|
|
204
225
|
version: $version,
|
|
205
226
|
timestamp: $timestamp,
|
|
@@ -210,7 +231,8 @@ if [[ "$JSON_OUTPUT" == "true" ]]; then
|
|
|
210
231
|
issue_tracker: $issue_tracker,
|
|
211
232
|
heartbeats: $heartbeats,
|
|
212
233
|
remote_machines: $remote_machines,
|
|
213
|
-
connected_developers: $connected_developers
|
|
234
|
+
connected_developers: $connected_developers,
|
|
235
|
+
database: $database
|
|
214
236
|
}'
|
|
215
237
|
exit 0
|
|
216
238
|
fi
|
|
@@ -708,6 +730,26 @@ if [[ -f "$MACHINES_FILE" ]]; then
|
|
|
708
730
|
fi
|
|
709
731
|
fi
|
|
710
732
|
|
|
733
|
+
# ─── Database ────────────────────────────────────────────────────────────
|
|
734
|
+
|
|
735
|
+
_DB_FILE="${HOME}/.shipwright/shipwright.db"
|
|
736
|
+
if command -v sqlite3 &>/dev/null && [[ -f "$_DB_FILE" ]]; then
|
|
737
|
+
echo ""
|
|
738
|
+
echo -e "${PURPLE}${BOLD} DATABASE${RESET} ${DIM}~/.shipwright/shipwright.db${RESET}"
|
|
739
|
+
echo -e "${DIM} ──────────────────────────────────────────${RESET}"
|
|
740
|
+
|
|
741
|
+
_db_wal=$(sqlite3 "$_DB_FILE" "PRAGMA journal_mode;" 2>/dev/null || echo "?")
|
|
742
|
+
_db_ver=$(sqlite3 "$_DB_FILE" "SELECT MAX(version) FROM _schema;" 2>/dev/null || echo "?")
|
|
743
|
+
_db_size_bytes=$(ls -l "$_DB_FILE" 2>/dev/null | awk '{print $5}')
|
|
744
|
+
_db_size_mb=$(awk -v s="${_db_size_bytes:-0}" 'BEGIN { printf "%.1f", s / 1048576 }')
|
|
745
|
+
_db_events=$(sqlite3 "$_DB_FILE" "SELECT COUNT(*) FROM events;" 2>/dev/null || echo "0")
|
|
746
|
+
_db_runs=$(sqlite3 "$_DB_FILE" "SELECT COUNT(*) FROM pipeline_runs;" 2>/dev/null || echo "0")
|
|
747
|
+
_db_costs=$(sqlite3 "$_DB_FILE" "SELECT COUNT(*) FROM cost_entries;" 2>/dev/null || echo "0")
|
|
748
|
+
|
|
749
|
+
echo -e " ${GREEN}●${RESET} ${BOLD}SQLite${RESET} ${DIM}v${_db_ver} WAL=${_db_wal} ${_db_size_mb}MB${RESET}"
|
|
750
|
+
echo -e " ${DIM}events:${_db_events} runs:${_db_runs} costs:${_db_costs}${RESET}"
|
|
751
|
+
fi
|
|
752
|
+
|
|
711
753
|
# ─── Connected Developers ─────────────────────────────────────────────────
|
|
712
754
|
|
|
713
755
|
# Check if curl and jq are available
|