shipwright-cli 2.4.0 → 3.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 +16 -11
- package/completions/_shipwright +248 -94
- package/completions/shipwright.bash +68 -19
- package/completions/shipwright.fish +310 -42
- package/config/decision-tiers.json +55 -0
- package/config/defaults.json +111 -0
- package/config/event-schema.json +218 -0
- package/config/policy.json +21 -18
- package/dashboard/coverage/coverage-summary.json +14 -0
- package/dashboard/public/index.html +1 -1
- package/dashboard/server.ts +306 -17
- package/dashboard/src/components/charts/bar.test.ts +79 -0
- package/dashboard/src/components/charts/donut.test.ts +68 -0
- package/dashboard/src/components/charts/pipeline-rail.test.ts +117 -0
- package/dashboard/src/components/charts/sparkline.test.ts +125 -0
- package/dashboard/src/core/api.test.ts +309 -0
- package/dashboard/src/core/helpers.test.ts +301 -0
- package/dashboard/src/core/router.test.ts +307 -0
- package/dashboard/src/core/router.ts +7 -0
- package/dashboard/src/core/sse.test.ts +144 -0
- package/dashboard/src/views/metrics.test.ts +186 -0
- package/dashboard/src/views/overview.test.ts +173 -0
- package/dashboard/src/views/pipelines.test.ts +183 -0
- package/dashboard/src/views/team.test.ts +253 -0
- package/dashboard/vitest.config.ts +14 -5
- package/docs/TIPS.md +1 -1
- package/docs/patterns/README.md +1 -1
- package/package.json +7 -9
- package/scripts/adapters/docker-deploy.sh +1 -1
- package/scripts/adapters/tmux-adapter.sh +11 -1
- package/scripts/adapters/wezterm-adapter.sh +1 -1
- package/scripts/check-version-consistency.sh +1 -1
- package/scripts/lib/architecture.sh +127 -0
- package/scripts/lib/bootstrap.sh +75 -0
- package/scripts/lib/compat.sh +89 -6
- package/scripts/lib/config.sh +91 -0
- package/scripts/lib/daemon-adaptive.sh +3 -3
- package/scripts/lib/daemon-dispatch.sh +63 -17
- package/scripts/lib/daemon-failure.sh +0 -0
- package/scripts/lib/daemon-health.sh +1 -1
- package/scripts/lib/daemon-patrol.sh +64 -17
- package/scripts/lib/daemon-poll.sh +54 -25
- package/scripts/lib/daemon-state.sh +125 -23
- package/scripts/lib/daemon-triage.sh +31 -9
- package/scripts/lib/decide-autonomy.sh +295 -0
- package/scripts/lib/decide-scoring.sh +228 -0
- package/scripts/lib/decide-signals.sh +462 -0
- package/scripts/lib/fleet-failover.sh +63 -0
- package/scripts/lib/helpers.sh +29 -6
- package/scripts/lib/pipeline-detection.sh +2 -2
- package/scripts/lib/pipeline-github.sh +9 -9
- package/scripts/lib/pipeline-intelligence.sh +105 -38
- package/scripts/lib/pipeline-quality-checks.sh +17 -16
- package/scripts/lib/pipeline-quality.sh +1 -1
- package/scripts/lib/pipeline-stages.sh +440 -59
- package/scripts/lib/pipeline-state.sh +54 -4
- package/scripts/lib/policy.sh +0 -0
- package/scripts/lib/test-helpers.sh +247 -0
- package/scripts/postinstall.mjs +78 -12
- package/scripts/signals/example-collector.sh +36 -0
- package/scripts/sw +17 -7
- package/scripts/sw-activity.sh +1 -11
- package/scripts/sw-adaptive.sh +109 -85
- package/scripts/sw-adversarial.sh +4 -14
- package/scripts/sw-architecture-enforcer.sh +1 -11
- package/scripts/sw-auth.sh +8 -17
- package/scripts/sw-autonomous.sh +111 -49
- package/scripts/sw-changelog.sh +1 -11
- package/scripts/sw-checkpoint.sh +144 -20
- package/scripts/sw-ci.sh +2 -12
- package/scripts/sw-cleanup.sh +13 -17
- package/scripts/sw-code-review.sh +16 -36
- package/scripts/sw-connect.sh +5 -12
- package/scripts/sw-context.sh +9 -26
- package/scripts/sw-cost.sh +17 -18
- package/scripts/sw-daemon.sh +76 -71
- package/scripts/sw-dashboard.sh +57 -17
- package/scripts/sw-db.sh +524 -26
- package/scripts/sw-decide.sh +685 -0
- package/scripts/sw-decompose.sh +1 -11
- package/scripts/sw-deps.sh +15 -25
- package/scripts/sw-developer-simulation.sh +1 -11
- package/scripts/sw-discovery.sh +138 -30
- package/scripts/sw-doc-fleet.sh +7 -17
- package/scripts/sw-docs-agent.sh +6 -16
- package/scripts/sw-docs.sh +4 -12
- package/scripts/sw-doctor.sh +134 -43
- package/scripts/sw-dora.sh +11 -19
- package/scripts/sw-durable.sh +35 -52
- package/scripts/sw-e2e-orchestrator.sh +11 -27
- package/scripts/sw-eventbus.sh +115 -115
- package/scripts/sw-evidence.sh +114 -30
- package/scripts/sw-feedback.sh +3 -13
- package/scripts/sw-fix.sh +2 -20
- package/scripts/sw-fleet-discover.sh +1 -11
- package/scripts/sw-fleet-viz.sh +10 -18
- package/scripts/sw-fleet.sh +13 -17
- package/scripts/sw-github-app.sh +6 -16
- package/scripts/sw-github-checks.sh +1 -11
- package/scripts/sw-github-deploy.sh +1 -11
- package/scripts/sw-github-graphql.sh +2 -12
- package/scripts/sw-guild.sh +1 -11
- package/scripts/sw-heartbeat.sh +49 -12
- package/scripts/sw-hygiene.sh +45 -43
- package/scripts/sw-incident.sh +48 -74
- package/scripts/sw-init.sh +35 -37
- package/scripts/sw-instrument.sh +1 -11
- package/scripts/sw-intelligence.sh +368 -53
- package/scripts/sw-jira.sh +5 -14
- package/scripts/sw-launchd.sh +2 -12
- package/scripts/sw-linear.sh +8 -17
- package/scripts/sw-logs.sh +4 -12
- package/scripts/sw-loop.sh +905 -104
- package/scripts/sw-memory.sh +263 -20
- package/scripts/sw-mission-control.sh +2 -12
- package/scripts/sw-model-router.sh +73 -34
- package/scripts/sw-otel.sh +15 -23
- package/scripts/sw-oversight.sh +1 -11
- package/scripts/sw-patrol-meta.sh +5 -11
- package/scripts/sw-pipeline-composer.sh +7 -17
- package/scripts/sw-pipeline-vitals.sh +1 -11
- package/scripts/sw-pipeline.sh +550 -122
- package/scripts/sw-pm.sh +2 -12
- package/scripts/sw-pr-lifecycle.sh +33 -28
- package/scripts/sw-predictive.sh +16 -22
- package/scripts/sw-prep.sh +6 -16
- package/scripts/sw-ps.sh +1 -11
- package/scripts/sw-public-dashboard.sh +2 -12
- package/scripts/sw-quality.sh +85 -14
- package/scripts/sw-reaper.sh +1 -11
- package/scripts/sw-recruit.sh +15 -25
- package/scripts/sw-regression.sh +11 -21
- package/scripts/sw-release-manager.sh +19 -28
- package/scripts/sw-release.sh +8 -16
- package/scripts/sw-remote.sh +1 -11
- package/scripts/sw-replay.sh +48 -44
- package/scripts/sw-retro.sh +70 -92
- package/scripts/sw-review-rerun.sh +1 -1
- package/scripts/sw-scale.sh +174 -41
- package/scripts/sw-security-audit.sh +12 -22
- package/scripts/sw-self-optimize.sh +239 -23
- package/scripts/sw-session.sh +5 -15
- package/scripts/sw-setup.sh +8 -18
- package/scripts/sw-standup.sh +5 -15
- package/scripts/sw-status.sh +32 -23
- package/scripts/sw-strategic.sh +129 -13
- package/scripts/sw-stream.sh +1 -11
- package/scripts/sw-swarm.sh +76 -36
- package/scripts/sw-team-stages.sh +10 -20
- package/scripts/sw-templates.sh +4 -14
- package/scripts/sw-testgen.sh +3 -13
- package/scripts/sw-tmux-pipeline.sh +1 -19
- package/scripts/sw-tmux-role-color.sh +0 -10
- package/scripts/sw-tmux-status.sh +3 -11
- package/scripts/sw-tmux.sh +2 -20
- package/scripts/sw-trace.sh +1 -19
- package/scripts/sw-tracker-github.sh +0 -10
- package/scripts/sw-tracker-jira.sh +1 -11
- package/scripts/sw-tracker-linear.sh +1 -11
- package/scripts/sw-tracker.sh +7 -24
- package/scripts/sw-triage.sh +29 -39
- package/scripts/sw-upgrade.sh +5 -23
- package/scripts/sw-ux.sh +1 -19
- package/scripts/sw-webhook.sh +18 -32
- package/scripts/sw-widgets.sh +3 -21
- package/scripts/sw-worktree.sh +11 -27
- package/scripts/update-homebrew-sha.sh +73 -0
- package/templates/pipelines/tdd.json +72 -0
- package/scripts/sw-pipeline.sh.mock +0 -7
package/README.md
CHANGED
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
<p align="center">
|
|
13
13
|
<a href="https://github.com/sethdford/shipwright/actions/workflows/test.yml"><img src="https://github.com/sethdford/shipwright/actions/workflows/test.yml/badge.svg" alt="Tests"></a>
|
|
14
14
|
<a href="https://github.com/sethdford/shipwright/actions/workflows/shipwright-pipeline.yml"><img src="https://github.com/sethdford/shipwright/actions/workflows/shipwright-pipeline.yml/badge.svg" alt="Pipeline"></a>
|
|
15
|
-
<img src="https://img.shields.io/badge/tests-
|
|
16
|
-
<img src="https://img.shields.io/badge/version-
|
|
15
|
+
<img src="https://img.shields.io/badge/tests-141_suites_passing-4ade80?style=flat-square" alt="141 suites">
|
|
16
|
+
<img src="https://img.shields.io/badge/version-3.1.0-00d4ff?style=flat-square" alt="v3.1.0">
|
|
17
17
|
<img src="https://img.shields.io/badge/license-MIT-green?style=flat-square" alt="MIT License">
|
|
18
18
|
<img src="https://img.shields.io/badge/bash-3.2%2B-7c3aed?style=flat-square" alt="Bash 3.2+">
|
|
19
19
|
</p>
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
|
|
25
25
|
- [Shipwright Builds Itself](#shipwright-builds-itself)
|
|
26
26
|
- [Code Factory Pattern](#code-factory-pattern)
|
|
27
|
-
- [What's New in
|
|
27
|
+
- [What's New in v3.1.0](#whats-new-in-v310)
|
|
28
28
|
- [How It Works](#how-it-works)
|
|
29
29
|
- [Install](#install)
|
|
30
30
|
- [Quick Start](#quick-start)
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
|
|
44
44
|
This repo uses Shipwright to process its own issues. Label a GitHub issue with `shipwright` and the autonomous pipeline takes over: semantic triage, plan, design, build, test, review, quality gates, PR. No human in the loop.
|
|
45
45
|
|
|
46
|
-
**[See it live](https://github.com/sethdford/shipwright/actions/workflows/shipwright-pipeline.yml)** | **[Create an issue](https://github.com/sethdford/shipwright/issues/new?template=shipwright.yml)** and watch it build.
|
|
46
|
+
**[See it live](https://github.com/sethdford/shipwright/actions/workflows/shipwright-pipeline.yml)** | **[Create an issue](https://github.com/sethdford/shipwright/issues/new?template=shipwright-build.yml)** and watch it build.
|
|
47
47
|
|
|
48
48
|
---
|
|
49
49
|
|
|
@@ -77,7 +77,12 @@ Shipwright extends the Code Factory pattern with capabilities most implementatio
|
|
|
77
77
|
- **12-stage pipeline** with self-healing builds, adversarial review, and compound quality gates
|
|
78
78
|
- **Predictive risk scoring** using GitHub signals (security alerts, contributor expertise, file churn)
|
|
79
79
|
- **Persistent memory** — failure patterns, fix effectiveness, and prediction accuracy compound over time
|
|
80
|
+
- **Auto-learning** — self-optimize runs automatically after every pipeline completion
|
|
81
|
+
- **Unified model routing** — single source of truth for model selection across all components
|
|
82
|
+
- **Evidence-gated merges** — SHA discipline ensures all evidence validated against current PR head
|
|
83
|
+
- **Semantic quality audits** — Claude-powered audits with grep fallback when Claude unavailable
|
|
80
84
|
- **18 autonomous agents** with specialized roles (PM, reviewer, security auditor, test generator, etc.)
|
|
85
|
+
- **Cross-platform compatibility** — portable date helpers, file_mtime, and compat layer for macOS/Linux
|
|
81
86
|
- **Fleet operations** — the Code Factory pattern applied across every repo in your org
|
|
82
87
|
- **Cost intelligence** — per-pipeline cost tracking, budget enforcement, adaptive model routing
|
|
83
88
|
- **Self-optimization** — DORA metrics analysis auto-tunes daemon config and template weights
|
|
@@ -103,7 +108,7 @@ shipwright incident gap sla
|
|
|
103
108
|
|
|
104
109
|
---
|
|
105
110
|
|
|
106
|
-
## What's New in
|
|
111
|
+
## What's New in v3.1.0
|
|
107
112
|
|
|
108
113
|
**Code Factory pattern** — deterministic, risk-aware agent delivery with machine-verifiable evidence:
|
|
109
114
|
|
|
@@ -223,7 +228,7 @@ shipwright fleet start
|
|
|
223
228
|
shipwright fix "upgrade deps" --repos ~/a,~/b,~/c
|
|
224
229
|
|
|
225
230
|
# Release automation
|
|
226
|
-
shipwright version bump 2.
|
|
231
|
+
shipwright version bump 2.4.0
|
|
227
232
|
shipwright changelog generate
|
|
228
233
|
```
|
|
229
234
|
|
|
@@ -277,7 +282,7 @@ Each stage is configurable with quality gates that auto-proceed or pause for app
|
|
|
277
282
|
|
|
278
283
|
### Intelligence Layer
|
|
279
284
|
|
|
280
|
-
7 modules that make the pipeline smarter over time. All
|
|
285
|
+
7 modules that make the pipeline smarter over time. **Auto mode**: intelligence is enabled when Claude CLI is available; set `intelligence.enabled=false` to disable. All modules degrade gracefully.
|
|
281
286
|
|
|
282
287
|
| Module | What It Does |
|
|
283
288
|
| ---------------------------- | --------------------------------------------------------------------------------------------------------------------- |
|
|
@@ -442,7 +447,7 @@ shipwright fix "feat: add auth" --repos ~/a,~/b,~/c
|
|
|
442
447
|
shipwright fleet-viz
|
|
443
448
|
|
|
444
449
|
# Release automation
|
|
445
|
-
shipwright version bump 2.
|
|
450
|
+
shipwright version bump 2.4.0
|
|
446
451
|
shipwright changelog generate
|
|
447
452
|
shipwright deploys list
|
|
448
453
|
|
|
@@ -494,7 +499,7 @@ shipwright templates list
|
|
|
494
499
|
|
|
495
500
|
## Architecture
|
|
496
501
|
|
|
497
|
-
100+ bash scripts (~100K lines),
|
|
502
|
+
100+ bash scripts (~100K lines), 125 shell test suites + 16 dashboard test files (141 total), plus E2E system test proving full daemon→pipeline→loop→PR flow. Dashboard at 98% coverage. Bash 3.2 compatible — runs on macOS and Linux out of the box.
|
|
498
503
|
|
|
499
504
|
**Core Layers:**
|
|
500
505
|
|
|
@@ -560,12 +565,12 @@ Tools & UX
|
|
|
560
565
|
|
|
561
566
|
## Contributing
|
|
562
567
|
|
|
563
|
-
**Let Shipwright build it:** Create an issue using the [Shipwright template](https://github.com/sethdford/shipwright/issues/new?template=shipwright.yml) and label it `shipwright`. The autonomous pipeline will triage, plan, build, test, review, and create a PR.
|
|
568
|
+
**Let Shipwright build it:** Create an issue using the [Shipwright template](https://github.com/sethdford/shipwright/issues/new?template=shipwright-build.yml) and label it `shipwright`. The autonomous pipeline will triage, plan, build, test, review, and create a PR.
|
|
564
569
|
|
|
565
570
|
**Manual development:** Fork, branch, then:
|
|
566
571
|
|
|
567
572
|
```bash
|
|
568
|
-
npm test #
|
|
573
|
+
npm test # 125 shell suites + 16 dashboard test files (141 total), E2E system test
|
|
569
574
|
```
|
|
570
575
|
|
|
571
576
|
## License
|
package/completions/_shipwright
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#compdef shipwright sw
|
|
1
|
+
#compdef shipwright sw
|
|
2
2
|
# ╔═══════════════════════════════════════════════════════════════════════════╗
|
|
3
3
|
# ║ Shipwright — Zsh tab completions ║
|
|
4
4
|
# ║ Auto-install to ~/.zsh/completions/ during shipwright init ║
|
|
@@ -7,11 +7,13 @@
|
|
|
7
7
|
_shipwright() {
|
|
8
8
|
local -a commands
|
|
9
9
|
commands=(
|
|
10
|
+
# Command groups
|
|
10
11
|
'agent:Agent management (recruit, swarm, standup, guild, oversight)'
|
|
11
|
-
'quality:Quality & review (code-review, security-audit, testgen, hygiene)'
|
|
12
|
+
'quality:Quality & review (code-review, security-audit, testgen, hygiene, validate)'
|
|
12
13
|
'observe:Observability (vitals, dora, retro, stream, activity, replay)'
|
|
13
|
-
'release:Release & deploy (release, release-manager, changelog, deploy)'
|
|
14
|
+
'release:Release & deploy (release, release-manager, changelog, deploy, build)'
|
|
14
15
|
'intel:Intelligence (predict, intelligence, strategic, optimize)'
|
|
16
|
+
# Core workflow
|
|
15
17
|
'init:Quick tmux setup — one command, no prompts'
|
|
16
18
|
'setup:Guided setup — prerequisites, init, doctor'
|
|
17
19
|
'session:Create a new tmux window for a Claude team'
|
|
@@ -34,33 +36,103 @@ _shipwright() {
|
|
|
34
36
|
'db:SQLite persistence — events, runs, developers'
|
|
35
37
|
'fix:Bulk fix — apply a fix across multiple repos'
|
|
36
38
|
'dashboard:Fleet Command — real-time dashboard'
|
|
37
|
-
|
|
38
|
-
'
|
|
39
|
+
# Agent management (also accessible via agent group)
|
|
40
|
+
'swarm:Dynamic agent swarm management'
|
|
41
|
+
'recruit:Agent recruitment & talent management'
|
|
42
|
+
'standup:Automated daily standups for AI teams'
|
|
43
|
+
'guild:Knowledge guilds & cross-team learning'
|
|
44
|
+
'oversight:Quality oversight board'
|
|
45
|
+
'pm:Autonomous PM agent for team orchestration'
|
|
46
|
+
'team-stages:Multi-agent execution with roles'
|
|
47
|
+
'scale:Dynamic agent team scaling'
|
|
48
|
+
# Quality (also accessible via quality group)
|
|
49
|
+
'code-review:Clean code & architecture analysis'
|
|
50
|
+
'security-audit:Comprehensive security auditing'
|
|
51
|
+
'testgen:Autonomous test generation & coverage'
|
|
52
|
+
'hygiene:Repository organization & cleanup'
|
|
53
|
+
'adversarial:Red-team code review & edge case finding'
|
|
54
|
+
'simulation:Multi-persona developer simulation'
|
|
55
|
+
'architecture:Living architecture model & enforcement'
|
|
56
|
+
# Observability (also accessible via observe group)
|
|
57
|
+
'vitals:Pipeline vitals — real-time health scoring'
|
|
58
|
+
'dora:DORA metrics dashboard with intelligence'
|
|
59
|
+
'retro:Sprint retrospective engine'
|
|
60
|
+
'stream:Live terminal output streaming from panes'
|
|
61
|
+
'activity:Live agent activity stream'
|
|
62
|
+
'replay:Pipeline run replay & timeline viewing'
|
|
63
|
+
# Release (also accessible via release group)
|
|
64
|
+
'changelog:Automated release notes & migration guides'
|
|
65
|
+
'release-manager:Autonomous release pipeline'
|
|
66
|
+
'review-rerun:SHA-deduped rerun comment writer'
|
|
67
|
+
# Intelligence (also accessible via intel group)
|
|
68
|
+
'intelligence:Run intelligence engine analysis'
|
|
69
|
+
'predict:Predictive risk assessment & anomaly detection'
|
|
70
|
+
'strategic:Strategic intelligence agent'
|
|
71
|
+
'optimize:Self-optimization based on DORA metrics'
|
|
72
|
+
'adaptive:Data-driven pipeline tuning'
|
|
73
|
+
'regression:Regression detection pipeline'
|
|
74
|
+
'model:Intelligent model routing & cost optimization'
|
|
75
|
+
'pipeline-composer:Dynamic pipeline composition'
|
|
76
|
+
# Integrations
|
|
77
|
+
'jira:Jira ↔ GitHub bidirectional sync'
|
|
78
|
+
'linear:Linear ↔ GitHub bidirectional sync'
|
|
39
79
|
'tracker:Issue tracker — configure Linear/Jira'
|
|
40
|
-
'
|
|
41
|
-
'
|
|
80
|
+
'github:GitHub context — repo metadata'
|
|
81
|
+
'github-app:GitHub App management & webhook receiver'
|
|
82
|
+
'checks:GitHub checks — CI check runs'
|
|
83
|
+
'ci:CI/CD workflow generation'
|
|
84
|
+
'deploys:Deployments — deployment history'
|
|
42
85
|
'webhook:GitHub webhooks — instant processing'
|
|
43
|
-
'
|
|
86
|
+
'auth:GitHub OAuth authentication'
|
|
87
|
+
# Operations
|
|
88
|
+
'fleet-viz:Multi-repo fleet visualization'
|
|
89
|
+
'public-dashboard:Public real-time pipeline progress'
|
|
90
|
+
'mission-control:Terminal-based pipeline mission control'
|
|
44
91
|
'connect:Team connect — sync local state'
|
|
45
92
|
'remote:Remote machines — manage distributed workers'
|
|
46
93
|
'launchd:Process supervision — auto-start on boot'
|
|
47
|
-
'
|
|
48
|
-
'
|
|
49
|
-
'
|
|
50
|
-
'
|
|
51
|
-
|
|
94
|
+
'heartbeat:Agent heartbeat — write/check/list'
|
|
95
|
+
'checkpoint:Checkpoints — save/restore agent state'
|
|
96
|
+
'autonomous:AI-building-AI master controller'
|
|
97
|
+
'tmux-pipeline:Spawn and manage pipelines in tmux'
|
|
98
|
+
# Issue management
|
|
99
|
+
'triage:Intelligent issue labeling & prioritization'
|
|
100
|
+
'decompose:Issue decomposer — analyze complexity'
|
|
52
101
|
'pr:PR lifecycle — auto-review, merge'
|
|
102
|
+
# Data & learning
|
|
103
|
+
'instrument:Pipeline instrumentation & feedback loops'
|
|
104
|
+
'discovery:Cross-pipeline real-time learning'
|
|
105
|
+
'feedback:Production feedback loop'
|
|
106
|
+
'eventbus:Durable event bus for components'
|
|
107
|
+
'evidence:Machine-verifiable proof for deliveries'
|
|
108
|
+
'otel:OpenTelemetry observability'
|
|
53
109
|
'context:Context engine — gather context'
|
|
110
|
+
'trace:E2E traceability (Issue → Commit → PR → Deploy)'
|
|
111
|
+
# Documentation
|
|
112
|
+
'docs:Documentation keeper — auto-sync docs'
|
|
113
|
+
'docs-agent:Auto-sync README, wiki, API docs'
|
|
114
|
+
'doc-fleet:Documentation fleet orchestrator'
|
|
115
|
+
# Setup & maintenance
|
|
116
|
+
'incident:Autonomous incident detection & response'
|
|
117
|
+
'deps:Automated dependency update management'
|
|
118
|
+
'durable:Durable workflow engine for long-running ops'
|
|
119
|
+
'tmux:tmux health — doctor, install, fix'
|
|
120
|
+
'ux:Premium UX enhancement layer'
|
|
121
|
+
'widgets:Embeddable status widgets'
|
|
122
|
+
'e2e:Test suite registry & execution'
|
|
123
|
+
# Meta
|
|
54
124
|
'help:Show help message'
|
|
55
|
-
'version:Show version'
|
|
125
|
+
'version:Show/bump/check version'
|
|
56
126
|
)
|
|
57
127
|
|
|
128
|
+
local -a agent_cmds quality_cmds observe_cmds release_cmds intel_cmds
|
|
58
129
|
local -a pipeline_cmds daemon_cmds fleet_cmds memory_cmds cost_cmds
|
|
59
130
|
local -a templates_cmds worktree_cmds tracker_cmds heartbeat_cmds
|
|
60
131
|
local -a checkpoint_cmds connect_cmds remote_cmds launchd_cmds
|
|
61
132
|
local -a dashboard_cmds github_cmds checks_cmds deploys_cmds docs_cmds
|
|
62
|
-
local -a tmux_cmds decompose_cmds pr_cmds
|
|
63
|
-
local -a
|
|
133
|
+
local -a tmux_cmds decompose_cmds pr_cmds db_cmds ci_cmds auth_cmds
|
|
134
|
+
local -a autonomous_cmds version_cmds jira_cmds linear_cmds
|
|
135
|
+
local -a eventbus_cmds evidence_cmds webhook_cmds
|
|
64
136
|
|
|
65
137
|
agent_cmds=(
|
|
66
138
|
'recruit:Agent recruitment & talent management'
|
|
@@ -74,6 +146,8 @@ _shipwright() {
|
|
|
74
146
|
'security-audit:Comprehensive security auditing'
|
|
75
147
|
'testgen:Autonomous test generation'
|
|
76
148
|
'hygiene:Repository organization & cleanup'
|
|
149
|
+
'validate:Intelligent completion audits'
|
|
150
|
+
'gate:Quality gate enforcement'
|
|
77
151
|
)
|
|
78
152
|
observe_cmds=(
|
|
79
153
|
'vitals:Pipeline vitals — real-time scoring'
|
|
@@ -89,6 +163,7 @@ _shipwright() {
|
|
|
89
163
|
'release-manager:Autonomous release pipeline'
|
|
90
164
|
'changelog:Automated release notes'
|
|
91
165
|
'deploy:Deployments — deployment history'
|
|
166
|
+
'build:Build release tarballs'
|
|
92
167
|
)
|
|
93
168
|
intel_cmds=(
|
|
94
169
|
'predict:Predictive risk assessment'
|
|
@@ -100,6 +175,9 @@ _shipwright() {
|
|
|
100
175
|
'start:Start a new pipeline run'
|
|
101
176
|
'resume:Resume from last stage'
|
|
102
177
|
'status:Show pipeline progress dashboard'
|
|
178
|
+
'abort:Cancel the running pipeline'
|
|
179
|
+
'list:Browse pipeline templates'
|
|
180
|
+
'show:Show pipeline template details'
|
|
103
181
|
'test:Run pipeline test suite'
|
|
104
182
|
)
|
|
105
183
|
daemon_cmds=(
|
|
@@ -107,23 +185,36 @@ _shipwright() {
|
|
|
107
185
|
'stop:Graceful shutdown'
|
|
108
186
|
'status:Show active pipelines and queue'
|
|
109
187
|
'metrics:DORA/DX metrics dashboard'
|
|
188
|
+
'triage:Show issue triage scores'
|
|
189
|
+
'patrol:Run proactive codebase patrol'
|
|
110
190
|
'test:Run daemon test suite'
|
|
191
|
+
'logs:View daemon logs'
|
|
192
|
+
'init:Initialize daemon config'
|
|
111
193
|
)
|
|
112
194
|
fleet_cmds=(
|
|
113
195
|
'start:Start daemons for all repos'
|
|
114
196
|
'stop:Stop all daemons'
|
|
115
197
|
'status:Show fleet-wide status'
|
|
116
198
|
'metrics:Cross-repo DORA metrics'
|
|
199
|
+
'discover:Auto-discover repos in GitHub org'
|
|
117
200
|
'test:Run fleet test suite'
|
|
118
201
|
)
|
|
119
202
|
memory_cmds=(
|
|
120
203
|
'show:Show learned patterns for this repo'
|
|
121
204
|
'search:Search across all memories'
|
|
205
|
+
'forget:Remove a memory entry'
|
|
206
|
+
'export:Export memories to file'
|
|
207
|
+
'import:Import memories from file'
|
|
122
208
|
'stats:Memory usage and coverage'
|
|
209
|
+
'test:Run memory test suite'
|
|
123
210
|
)
|
|
124
211
|
cost_cmds=(
|
|
125
212
|
'show:Show cost summary'
|
|
126
213
|
'budget:Manage daily budget'
|
|
214
|
+
'record:Record token usage'
|
|
215
|
+
'calculate:Calculate cost estimate'
|
|
216
|
+
'check-budget:Check budget before starting'
|
|
217
|
+
'remaining-budget:Check remaining daily budget'
|
|
127
218
|
)
|
|
128
219
|
templates_cmds=(
|
|
129
220
|
'list:Browse team templates'
|
|
@@ -215,6 +306,62 @@ _shipwright() {
|
|
|
215
306
|
'cleanup:Cleanup merged branches'
|
|
216
307
|
'feedback:Get PR feedback'
|
|
217
308
|
)
|
|
309
|
+
db_cmds=(
|
|
310
|
+
'init:Initialize database'
|
|
311
|
+
'health:Check database health'
|
|
312
|
+
'migrate:Run migrations'
|
|
313
|
+
'stats:Show database statistics'
|
|
314
|
+
'query:Run a query'
|
|
315
|
+
'export:Export data'
|
|
316
|
+
)
|
|
317
|
+
ci_cmds=(
|
|
318
|
+
'generate:Generate CI workflows'
|
|
319
|
+
'status:Show CI status'
|
|
320
|
+
'test:Run CI test suite'
|
|
321
|
+
)
|
|
322
|
+
auth_cmds=(
|
|
323
|
+
'login:Authenticate with GitHub'
|
|
324
|
+
'logout:Revoke authentication'
|
|
325
|
+
'status:Show auth status'
|
|
326
|
+
'test:Run auth test suite'
|
|
327
|
+
)
|
|
328
|
+
autonomous_cmds=(
|
|
329
|
+
'start:Start autonomous loop'
|
|
330
|
+
'status:Show autonomous status'
|
|
331
|
+
'test:Run autonomous test suite'
|
|
332
|
+
)
|
|
333
|
+
version_cmds=(
|
|
334
|
+
'show:Show current version'
|
|
335
|
+
'bump:Bump version everywhere'
|
|
336
|
+
'check:Verify version consistency'
|
|
337
|
+
)
|
|
338
|
+
jira_cmds=(
|
|
339
|
+
'sync:Sync Jira issues'
|
|
340
|
+
'status:Show Jira sync status'
|
|
341
|
+
'test:Run Jira test suite'
|
|
342
|
+
)
|
|
343
|
+
linear_cmds=(
|
|
344
|
+
'sync:Sync Linear issues'
|
|
345
|
+
'status:Show Linear sync status'
|
|
346
|
+
'test:Run Linear test suite'
|
|
347
|
+
)
|
|
348
|
+
eventbus_cmds=(
|
|
349
|
+
'emit:Emit an event'
|
|
350
|
+
'listen:Listen for events'
|
|
351
|
+
'status:Show bus status'
|
|
352
|
+
'test:Run eventbus test suite'
|
|
353
|
+
)
|
|
354
|
+
evidence_cmds=(
|
|
355
|
+
'capture:Capture evidence artifacts'
|
|
356
|
+
'verify:Verify evidence freshness'
|
|
357
|
+
'pre-pr:Run pre-PR evidence checks'
|
|
358
|
+
)
|
|
359
|
+
webhook_cmds=(
|
|
360
|
+
'start:Start webhook receiver'
|
|
361
|
+
'stop:Stop webhook receiver'
|
|
362
|
+
'status:Show webhook status'
|
|
363
|
+
'test:Run webhook test suite'
|
|
364
|
+
)
|
|
218
365
|
|
|
219
366
|
_arguments -C \
|
|
220
367
|
'1:command:->command' \
|
|
@@ -226,52 +373,24 @@ _shipwright() {
|
|
|
226
373
|
;;
|
|
227
374
|
args)
|
|
228
375
|
case "${words[1]}" in
|
|
229
|
-
agent)
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
;;
|
|
235
|
-
observe)
|
|
236
|
-
_describe -t observe-cmds 'observe command' observe_cmds
|
|
237
|
-
;;
|
|
238
|
-
release)
|
|
239
|
-
_describe -t release-cmds 'release command' release_cmds
|
|
240
|
-
;;
|
|
241
|
-
intel)
|
|
242
|
-
_describe -t intel-cmds 'intel command' intel_cmds
|
|
243
|
-
;;
|
|
376
|
+
agent) _describe -t agent-cmds 'agent command' agent_cmds ;;
|
|
377
|
+
quality) _describe -t quality-cmds 'quality command' quality_cmds ;;
|
|
378
|
+
observe) _describe -t observe-cmds 'observe command' observe_cmds ;;
|
|
379
|
+
release) _describe -t release-cmds 'release command' release_cmds ;;
|
|
380
|
+
intel) _describe -t intel-cmds 'intel command' intel_cmds ;;
|
|
244
381
|
pipeline)
|
|
245
382
|
_describe -t pipeline-cmds 'pipeline command' pipeline_cmds
|
|
246
383
|
_arguments '*:options:_pipeline_options'
|
|
247
384
|
;;
|
|
248
|
-
daemon)
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
cost)
|
|
258
|
-
_describe -t cost-cmds 'cost command' cost_cmds
|
|
259
|
-
;;
|
|
260
|
-
templates)
|
|
261
|
-
_describe -t templates-cmds 'templates command' templates_cmds
|
|
262
|
-
;;
|
|
263
|
-
worktree)
|
|
264
|
-
_describe -t worktree-cmds 'worktree command' worktree_cmds
|
|
265
|
-
;;
|
|
266
|
-
tracker)
|
|
267
|
-
_describe -t tracker-cmds 'tracker command' tracker_cmds
|
|
268
|
-
;;
|
|
269
|
-
heartbeat)
|
|
270
|
-
_describe -t heartbeat-cmds 'heartbeat command' heartbeat_cmds
|
|
271
|
-
;;
|
|
272
|
-
checkpoint)
|
|
273
|
-
_describe -t checkpoint-cmds 'checkpoint command' checkpoint_cmds
|
|
274
|
-
;;
|
|
385
|
+
daemon) _describe -t daemon-cmds 'daemon command' daemon_cmds ;;
|
|
386
|
+
fleet) _describe -t fleet-cmds 'fleet command' fleet_cmds ;;
|
|
387
|
+
memory) _describe -t memory-cmds 'memory command' memory_cmds ;;
|
|
388
|
+
cost) _describe -t cost-cmds 'cost command' cost_cmds ;;
|
|
389
|
+
templates) _describe -t templates-cmds 'templates command' templates_cmds ;;
|
|
390
|
+
worktree) _describe -t worktree-cmds 'worktree command' worktree_cmds ;;
|
|
391
|
+
tracker) _describe -t tracker-cmds 'tracker command' tracker_cmds ;;
|
|
392
|
+
heartbeat) _describe -t heartbeat-cmds 'heartbeat command' heartbeat_cmds ;;
|
|
393
|
+
checkpoint) _describe -t checkpoint-cmds 'checkpoint command' checkpoint_cmds ;;
|
|
275
394
|
connect)
|
|
276
395
|
_describe -t connect-cmds 'connect command' connect_cmds
|
|
277
396
|
_arguments '--token[Invite token]:token'
|
|
@@ -280,33 +399,25 @@ _shipwright() {
|
|
|
280
399
|
_describe -t remote-cmds 'remote command' remote_cmds
|
|
281
400
|
_arguments '--host[Hostname]:host' '--port[SSH port]:port' '--key[SSH key]:file' '--user[SSH user]:user'
|
|
282
401
|
;;
|
|
283
|
-
launchd)
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
_describe -t tmux-cmds 'tmux command' tmux_cmds
|
|
303
|
-
;;
|
|
304
|
-
decompose)
|
|
305
|
-
_describe -t decompose-cmds 'decompose command' decompose_cmds
|
|
306
|
-
;;
|
|
307
|
-
pr)
|
|
308
|
-
_describe -t pr-cmds 'pr command' pr_cmds
|
|
309
|
-
;;
|
|
402
|
+
launchd) _describe -t launchd-cmds 'launchd command' launchd_cmds ;;
|
|
403
|
+
dashboard) _describe -t dashboard-cmds 'dashboard command' dashboard_cmds ;;
|
|
404
|
+
github) _describe -t github-cmds 'github command' github_cmds ;;
|
|
405
|
+
checks) _describe -t checks-cmds 'checks command' checks_cmds ;;
|
|
406
|
+
deploys) _describe -t deploys-cmds 'deploys command' deploys_cmds ;;
|
|
407
|
+
docs) _describe -t docs-cmds 'docs command' docs_cmds ;;
|
|
408
|
+
tmux) _describe -t tmux-cmds 'tmux command' tmux_cmds ;;
|
|
409
|
+
decompose) _describe -t decompose-cmds 'decompose command' decompose_cmds ;;
|
|
410
|
+
pr) _describe -t pr-cmds 'pr command' pr_cmds ;;
|
|
411
|
+
db) _describe -t db-cmds 'db command' db_cmds ;;
|
|
412
|
+
ci) _describe -t ci-cmds 'ci command' ci_cmds ;;
|
|
413
|
+
auth) _describe -t auth-cmds 'auth command' auth_cmds ;;
|
|
414
|
+
autonomous) _describe -t autonomous-cmds 'autonomous command' autonomous_cmds ;;
|
|
415
|
+
version) _describe -t version-cmds 'version command' version_cmds ;;
|
|
416
|
+
jira) _describe -t jira-cmds 'jira command' jira_cmds ;;
|
|
417
|
+
linear) _describe -t linear-cmds 'linear command' linear_cmds ;;
|
|
418
|
+
eventbus) _describe -t eventbus-cmds 'eventbus command' eventbus_cmds ;;
|
|
419
|
+
evidence) _describe -t evidence-cmds 'evidence command' evidence_cmds ;;
|
|
420
|
+
webhook) _describe -t webhook-cmds 'webhook command' webhook_cmds ;;
|
|
310
421
|
prep)
|
|
311
422
|
_arguments \
|
|
312
423
|
'--check[Audit existing prep quality]' \
|
|
@@ -319,20 +430,32 @@ _shipwright() {
|
|
|
319
430
|
'--repo[Directory path]:directory:_directories' \
|
|
320
431
|
'--local[Local-only mode (no GitHub)]' \
|
|
321
432
|
'--test-cmd[Test command]:command:' \
|
|
433
|
+
'--fast-test-cmd[Fast subset test]:command:' \
|
|
434
|
+
'--fast-test-interval[Full test every N iterations]:count:' \
|
|
322
435
|
'--max-iterations[Max iterations]:count:' \
|
|
323
436
|
'--model[Model to use]:model:(opus sonnet haiku)' \
|
|
324
437
|
'--agents[Number of agents]:count:' \
|
|
438
|
+
'--roles[Role per agent]:roles:' \
|
|
439
|
+
'--worktree[Use git worktrees for isolation]' \
|
|
325
440
|
'--audit[Self-reflection each iteration]' \
|
|
326
441
|
'--audit-agent[Separate auditor]' \
|
|
327
442
|
'--quality-gates[Quality checks]' \
|
|
328
443
|
'--definition-of-done[Checklist]:file:_files' \
|
|
329
444
|
'--resume[Resume interrupted loop]' \
|
|
330
|
-
'--
|
|
445
|
+
'--max-restarts[Max session restarts]:count:' \
|
|
446
|
+
'--max-turns[Max API turns per session]:count:' \
|
|
447
|
+
'--skip-permissions[Skip prompts]' \
|
|
448
|
+
'--verbose[Show full Claude output]' \
|
|
449
|
+
'--no-auto-extend[Disable auto-extension]' \
|
|
450
|
+
'--extension-size[Additional iterations per extension]:count:' \
|
|
451
|
+
'--max-extensions[Max auto-extensions]:count:'
|
|
331
452
|
;;
|
|
332
453
|
fix)
|
|
333
454
|
_arguments \
|
|
334
455
|
'1:goal:' \
|
|
335
|
-
'--repos[Repository paths]:repos:'
|
|
456
|
+
'--repos[Repository paths]:repos:' \
|
|
457
|
+
'--worktree[Use git worktrees]' \
|
|
458
|
+
'--test-cmd[Test command]:command:'
|
|
336
459
|
;;
|
|
337
460
|
logs)
|
|
338
461
|
_arguments \
|
|
@@ -342,16 +465,30 @@ _shipwright() {
|
|
|
342
465
|
'--grep[Search pattern]:pattern:'
|
|
343
466
|
;;
|
|
344
467
|
cleanup)
|
|
345
|
-
_arguments
|
|
346
|
-
'--force[Kill orphaned sessions]'
|
|
468
|
+
_arguments '--force[Kill orphaned sessions]'
|
|
347
469
|
;;
|
|
348
470
|
upgrade)
|
|
349
|
-
_arguments
|
|
350
|
-
'--apply[Apply updates]'
|
|
471
|
+
_arguments '--apply[Apply updates]'
|
|
351
472
|
;;
|
|
352
473
|
reaper)
|
|
474
|
+
_arguments '--watch[Continuous watch mode]'
|
|
475
|
+
;;
|
|
476
|
+
status)
|
|
477
|
+
_arguments '--json[JSON output]'
|
|
478
|
+
;;
|
|
479
|
+
doctor)
|
|
480
|
+
_arguments '--json[JSON output]'
|
|
481
|
+
;;
|
|
482
|
+
session)
|
|
353
483
|
_arguments \
|
|
354
|
-
'
|
|
484
|
+
'1:team name:' \
|
|
485
|
+
'--template[Team template]:template:' \
|
|
486
|
+
'-t[Team template]:template:' \
|
|
487
|
+
'--agents[Number of agents]:count:' \
|
|
488
|
+
'--roles[Agent roles]:roles:'
|
|
489
|
+
;;
|
|
490
|
+
help)
|
|
491
|
+
_arguments '--all[Show all commands]' '-a[Show all commands]'
|
|
355
492
|
;;
|
|
356
493
|
esac
|
|
357
494
|
;;
|
|
@@ -365,8 +502,25 @@ _pipeline_options() {
|
|
|
365
502
|
'--repo[Directory path]:directory:_directories' \
|
|
366
503
|
'--local[Local-only mode (no GitHub)]' \
|
|
367
504
|
'--worktree[Use isolated worktree]' \
|
|
368
|
-
'--template[Pipeline template]:
|
|
369
|
-
'--skip-gates[Auto-proceed all gates]'
|
|
505
|
+
'--template[Pipeline template]:template:(fast standard full hotfix autonomous enterprise cost-aware deployed)' \
|
|
506
|
+
'--skip-gates[Auto-proceed all gates]' \
|
|
507
|
+
'--test-cmd[Test command]:command:' \
|
|
508
|
+
'--fast-test-cmd[Fast test command]:command:' \
|
|
509
|
+
'--model[Model to use]:model:(opus sonnet haiku)' \
|
|
510
|
+
'--agents[Number of agents]:count:' \
|
|
511
|
+
'--base[Base branch for PR]:branch:' \
|
|
512
|
+
'--reviewers[PR reviewers]:reviewers:' \
|
|
513
|
+
'--labels[PR labels]:labels:' \
|
|
514
|
+
'--no-github[Disable GitHub integration]' \
|
|
515
|
+
'--no-github-label[Do not modify issue labels]' \
|
|
516
|
+
'--ci[CI mode (non-interactive)]' \
|
|
517
|
+
'--ignore-budget[Skip budget enforcement]' \
|
|
518
|
+
'--dry-run[Show what would happen]' \
|
|
519
|
+
'--slack-webhook[Slack webhook URL]:url:' \
|
|
520
|
+
'--self-heal[Build retry cycles]:count:' \
|
|
521
|
+
'--max-iterations[Max build loop iterations]:count:' \
|
|
522
|
+
'--max-restarts[Max session restarts]:count:' \
|
|
523
|
+
'--completed-stages[Skip these stages]:stages:'
|
|
370
524
|
}
|
|
371
525
|
|
|
372
526
|
_shipwright "$@"
|