opencode-ship 1.1.2-rc.1 → 1.1.2-rc.4

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 (78) hide show
  1. package/CHANGELOG.md +132 -37
  2. package/README.md +2 -2
  3. package/THIRD_PARTY_NOTICES.md +1 -1
  4. package/assets/agents/delivery-reviewer.md +1 -0
  5. package/assets/agents/delivery-verifier.md +1 -0
  6. package/assets/agents/ship-controller.md +20 -7
  7. package/assets/agents/ship-final-spec-reviewer.md +5 -3
  8. package/assets/agents/ship-final-standards-reviewer.md +5 -3
  9. package/assets/agents/ship-planner.md +1 -0
  10. package/assets/agents/ship-task-builder.md +1 -0
  11. package/assets/agents/ship-task-reviewer.md +1 -0
  12. package/assets/commands/setup-ship-workflow.md +9 -167
  13. package/assets/skills/setup-ship-workflow/SKILL.md +78 -31
  14. package/dist/cli.js +2274 -362
  15. package/dist/core.js +794 -10
  16. package/dist/plugin.js +3487 -1795
  17. package/package.json +9 -4
  18. package/tests/plugin/expected-tools.mjs +2 -2
  19. package/tests/plugin/plugin-load.test.mjs +8 -3
  20. package/assets/skills/setup-ship-workflow/issue-tracker-gitlab.md +0 -46
  21. package/assets/skills/setup-ship-workflow/issue-tracker-local.md +0 -30
  22. package/docs/adr/0001-opencode-ship-redesign.md +0 -168
  23. package/docs/release/1.0.0-execution-plan.md +0 -1063
  24. package/docs/release/1.1.1-stabilization-plan.md +0 -655
  25. package/vendor/upstreams/mattpocock/skills/engineering/code-review/SKILL.md +0 -89
  26. package/vendor/upstreams/mattpocock/skills/engineering/codebase-design/DEEPENING.md +0 -37
  27. package/vendor/upstreams/mattpocock/skills/engineering/codebase-design/DESIGN-IT-TWICE.md +0 -44
  28. package/vendor/upstreams/mattpocock/skills/engineering/codebase-design/SKILL.md +0 -114
  29. package/vendor/upstreams/mattpocock/skills/engineering/domain-modeling/ADR-FORMAT.md +0 -47
  30. package/vendor/upstreams/mattpocock/skills/engineering/domain-modeling/CONTEXT-FORMAT.md +0 -60
  31. package/vendor/upstreams/mattpocock/skills/engineering/domain-modeling/SKILL.md +0 -74
  32. package/vendor/upstreams/mattpocock/skills/engineering/grill-with-docs/SKILL.md +0 -7
  33. package/vendor/upstreams/mattpocock/skills/engineering/prototype/LOGIC.md +0 -79
  34. package/vendor/upstreams/mattpocock/skills/engineering/prototype/SKILL.md +0 -26
  35. package/vendor/upstreams/mattpocock/skills/engineering/prototype/UI.md +0 -112
  36. package/vendor/upstreams/mattpocock/skills/engineering/research/SKILL.md +0 -12
  37. package/vendor/upstreams/mattpocock/skills/engineering/setup-matt-pocock-skills/SKILL.md +0 -116
  38. package/vendor/upstreams/mattpocock/skills/engineering/setup-matt-pocock-skills/domain.md +0 -51
  39. package/vendor/upstreams/mattpocock/skills/engineering/setup-matt-pocock-skills/issue-tracker-github.md +0 -45
  40. package/vendor/upstreams/mattpocock/skills/engineering/setup-matt-pocock-skills/issue-tracker-gitlab.md +0 -46
  41. package/vendor/upstreams/mattpocock/skills/engineering/setup-matt-pocock-skills/issue-tracker-local.md +0 -30
  42. package/vendor/upstreams/mattpocock/skills/engineering/setup-matt-pocock-skills/triage-labels.md +0 -15
  43. package/vendor/upstreams/mattpocock/skills/engineering/to-spec/SKILL.md +0 -75
  44. package/vendor/upstreams/mattpocock/skills/engineering/to-tickets/SKILL.md +0 -105
  45. package/vendor/upstreams/mattpocock/skills/engineering/triage/AGENT-BRIEF.md +0 -207
  46. package/vendor/upstreams/mattpocock/skills/engineering/triage/OUT-OF-SCOPE.md +0 -105
  47. package/vendor/upstreams/mattpocock/skills/engineering/triage/SKILL.md +0 -112
  48. package/vendor/upstreams/mattpocock/skills/engineering/wayfinder/SKILL.md +0 -128
  49. package/vendor/upstreams/mattpocock/skills/productivity/grilling/SKILL.md +0 -12
  50. package/vendor/upstreams/mattpocock/skills/productivity/handoff/SKILL.md +0 -16
  51. package/vendor/upstreams/obra/skills/brainstorming/SKILL.md +0 -151
  52. package/vendor/upstreams/obra/skills/brainstorming/spec-document-reviewer-prompt.md +0 -49
  53. package/vendor/upstreams/obra/skills/brainstorming/visual-companion.md +0 -298
  54. package/vendor/upstreams/obra/skills/dispatching-parallel-agents/SKILL.md +0 -167
  55. package/vendor/upstreams/obra/skills/executing-plans/SKILL.md +0 -64
  56. package/vendor/upstreams/obra/skills/receiving-code-review/SKILL.md +0 -205
  57. package/vendor/upstreams/obra/skills/requesting-code-review/SKILL.md +0 -95
  58. package/vendor/upstreams/obra/skills/requesting-code-review/code-reviewer.md +0 -172
  59. package/vendor/upstreams/obra/skills/subagent-driven-development/SKILL.md +0 -503
  60. package/vendor/upstreams/obra/skills/subagent-driven-development/implementer-prompt.md +0 -142
  61. package/vendor/upstreams/obra/skills/subagent-driven-development/re-review-prompt.md +0 -106
  62. package/vendor/upstreams/obra/skills/subagent-driven-development/task-reviewer-prompt.md +0 -185
  63. package/vendor/upstreams/obra/skills/systematic-debugging/CREATION-LOG.md +0 -119
  64. package/vendor/upstreams/obra/skills/systematic-debugging/SKILL.md +0 -283
  65. package/vendor/upstreams/obra/skills/systematic-debugging/condition-based-waiting-example.ts +0 -158
  66. package/vendor/upstreams/obra/skills/systematic-debugging/condition-based-waiting.md +0 -115
  67. package/vendor/upstreams/obra/skills/systematic-debugging/defense-in-depth.md +0 -122
  68. package/vendor/upstreams/obra/skills/systematic-debugging/find-polluter.sh +0 -72
  69. package/vendor/upstreams/obra/skills/systematic-debugging/root-cause-tracing.md +0 -169
  70. package/vendor/upstreams/obra/skills/systematic-debugging/test-academic.md +0 -14
  71. package/vendor/upstreams/obra/skills/systematic-debugging/test-pressure-1.md +0 -58
  72. package/vendor/upstreams/obra/skills/systematic-debugging/test-pressure-2.md +0 -68
  73. package/vendor/upstreams/obra/skills/systematic-debugging/test-pressure-3.md +0 -69
  74. package/vendor/upstreams/obra/skills/test-driven-development/SKILL.md +0 -320
  75. package/vendor/upstreams/obra/skills/test-driven-development/writing-good-tests.md +0 -198
  76. package/vendor/upstreams/obra/skills/verification-before-completion/SKILL.md +0 -120
  77. package/vendor/upstreams/obra/skills/writing-plans/SKILL.md +0 -168
  78. package/vendor/upstreams/obra/skills/writing-plans/plan-document-reviewer-prompt.md +0 -49
@@ -1,52 +1,78 @@
1
1
  ---
2
2
  name: setup-ship-workflow
3
- description: First-run setup of opencode-ship. Walks the user through issue tracker, triage labels, domain docs, and AI model roles. Run once after `init` with /setup-ship-workflow.
3
+ description: First-run setup of opencode-ship. Walks the user through GitHub configuration, triage labels, domain docs, and AI model roles. Run once after `init` with /setup-ship-workflow.
4
4
  disable-model-invocation: true
5
5
  ---
6
6
 
7
7
  # Setup Ship Workflow
8
8
 
9
- First-run setup for `opencode-ship@1.1`. Run this exactly once after `init` and before any `ship-deliver`. It is prompt-driven, idempotent, and refuses to return until every step is committed or explicitly skipped.
9
+ First-run setup for `opencode-ship@1.1.2`. Run this exactly once after `init`
10
+ and before any `ship-deliver`. It is prompt-driven, idempotent, and refuses
11
+ to return until every step is committed or explicitly skipped.
12
+
13
+ The setup contract is GitHub-only. The skill refuses to drive GitLab,
14
+ Jira, Linear, or local markdown because the controller's own delivery
15
+ tool belt is GitHub-bound. A team that needs a different tracker should
16
+ hold off on `opencode-ship@1.1.2` until 1.2 ships the next tracker.
10
17
 
11
18
  ## When you trigger
12
19
 
13
- - The user runs `/setup-ship-workflow` or types "set up ship" / "continue ship setup".
14
- - The installer creates `.opencode/ship.setup-pending.json` after `init`; the controller also routes `ship-deliver` here until this skill has cleared the marker.
20
+ - The user runs `/setup-ship-workflow` or types "set up ship" / "continue setup".
21
+ - The installer creates `.opencode/ship.setup-pending.json` after `init`.
22
+ - The controller also routes `ship-deliver` to this skill until the marker is cleared.
15
23
 
16
24
  Do **not** trigger on a normal planning or delivery request.
17
25
 
18
26
  ## Process
19
27
 
20
- Take the sections in order. Lead every question with a recommended default so the user can accept in one word. Skip a section only when exploration already settled it.
28
+ Take the sections in order. Lead every question with a recommended default so
29
+ the user can accept in one word. Skip a section only when exploration already
30
+ settled it.
21
31
 
22
32
  ### 1. Explore
23
33
 
24
34
  ```bash
25
35
  git remote -v
36
+ gh auth status
26
37
  git status --short
27
38
  ls -la AGENTS.md CLAUDE.md docs/ .opencode/ 2>/dev/null || true
28
39
  cat .opencode/opencode.json 2>/dev/null || true
29
40
  cat .opencode/ship.config.json 2>/dev/null || true
30
41
  cat .opencode/ship.lock.json 2>/dev/null || true
31
- opencode providers list 2>/dev/null || true
42
+ opencode models 2>/dev/null || true
32
43
  ```
33
44
 
34
45
  Also check:
35
46
 
36
47
  - is `.opencode/ship.setup-pending.json` present? (it makes this run mandatory)
37
48
  - is the `triage` skill installed? (decides whether Section B runs)
38
- - monorepo signals (`pnpm-workspace.yaml`, `packages/*`)
49
+ - is the issue tracker a GitHub repo? If not, refuse with the
50
+ GitHub-only contract and stop.
51
+
52
+ ### 2. Section A — GitHub repository
53
+
54
+ The default is the GitHub repository that owns `git remote`. Confirm the
55
+ detected `owner/repo` slug against the user's answer. If the user has
56
+ multiple remotes, ask which one is the ship target.
39
57
 
40
- ### 2. Section A Issue tracker
58
+ Write `docs/agents/issue-tracker.md` with the resolved `owner/repo`,
59
+ `default branch`, and the canonical `gh` commands:
60
+
61
+ ```bash
62
+ gh issue list --label needs-triage
63
+ gh issue view <number>
64
+ gh pr create --base <default-branch> --draft --title <title> --body <body>
65
+ gh pr view <number>
66
+ gh pr merge <number> --squash --delete-branch
67
+ ```
41
68
 
42
- Default: GitHub (the most common case). If `git remote` points at GitLab, propose GitLab. Otherwise offer:
69
+ If the consumer is not on GitHub, refuse with:
43
70
 
44
- - GitHub (uses `gh`)
45
- - GitLab (uses `glab`)
46
- - Local markdown (writes under `.scratch/<feature>/`)
47
- - Other (Jira, Linear, etc.) — describe in one paragraph
71
+ > opencode-ship@1.1.2 is GitHub-only. Re-run on a GitHub repo, or wait
72
+ > for 1.2.
48
73
 
49
- Write the choice to `docs/agents/issue-tracker.md`. Use the seed template in `assets/skills/setup-engineering-workflow/issue-tracker-<choice>.md` as the starting point.
74
+ Stop the skill. Do not write a `docs/agents/issue-tracker.md` for a
75
+ non-GitHub consumer.
50
76
 
51
77
  ### 3. Section B — Triage labels
52
78
 
@@ -55,19 +81,23 @@ Only if the `triage` skill is installed. Ask one question:
55
81
  > Keep the default triage labels? (recommended: yes)
56
82
  > Defaults: `needs-triage`, `needs-info`, `ready-for-agent`, `ready-for-human`, `wontfix`.
57
83
 
58
- On **no**, capture the user's overrides so `triage` reuses existing labels instead of creating duplicates.
84
+ On **no**, capture the user's overrides so `triage` reuses existing labels
85
+ instead of creating duplicates.
59
86
 
60
87
  Write `docs/agents/triage-labels.md`.
61
88
 
62
89
  ### 4. Section C — Domain docs
63
90
 
64
- Default: **single-context** — one `CONTEXT.md` + `docs/adr/` at the repo root. Skip the question unless monorepo signals were found.
91
+ Default: **single-context** — one `CONTEXT.md` + `docs/adr/` at the repo root.
92
+ Skip the question unless monorepo signals were found.
65
93
 
66
94
  Write `docs/agents/domain.md`.
67
95
 
68
96
  ### 5. Section D — AI model roles
69
97
 
70
- Three questions, one at a time. Default to `openai/gpt-5.6-sol` and `minimax/MiniMax-M3`; offer alternative families below.
98
+ Three questions, one at a time. Default to `openai/gpt-5.6-sol` and
99
+ `minimax/MiniMax-M3`; offer alternative families only when the user
100
+ explicitly states they have no credentials for the defaults.
71
101
 
72
102
  | Role | Default | Suggestion |
73
103
  |---|---|---|
@@ -81,7 +111,7 @@ Alternatives to mention if the user has no OpenAI/MiniMax:
81
111
  - Google: `google/gemini-2.5-pro`, `google/gemini-2.5-flash`
82
112
  - Or any `<provider>/<model>` string the user has credentials for
83
113
 
84
- After the user answers, **update `.opencode/ship.config.json`** so workflow looks like:
114
+ After the user answers, update `.opencode/ship.config.json`:
85
115
 
86
116
  ```json
87
117
  {
@@ -100,26 +130,32 @@ After the user answers, **update `.opencode/ship.config.json`** so workflow look
100
130
  }
101
131
  ```
102
132
 
103
- Then run `opencode-ship update` to write the change with full transactional coverage.
133
+ Then run `opencode-ship update --planner-model <a> --builder-model <b>
134
+ --final-reviewer-model <c> --force-config` to write the change with full
135
+ transactional coverage.
104
136
 
105
137
  ### 6. Section E — Provider auth probe
106
138
 
107
139
  ```bash
108
- opencode providers list
140
+ opencode auth list
141
+ opencode models openai
142
+ opencode models minimax
109
143
  ```
110
144
 
111
- If the planner/builder/finalReviewer names are missing credentials, surface a warning and tell the user how to log in:
145
+ If the planner/builder/finalReviewer names are missing credentials, surface
146
+ a warning and tell the user how to log in:
112
147
 
113
148
  ```bash
114
- opencode providers login openai
115
- opencode providers login minimax
149
+ opencode auth login openai
150
+ opencode auth login minimax
116
151
  ```
117
152
 
118
153
  Do not invent credentials. Do not retry.
119
154
 
120
155
  ### 7. Section F — Permissions sanity
121
156
 
122
- Run `opencode-ship doctor`. If any pointer is missing, prompt the user to run:
157
+ Run `opencode-ship doctor`. If any pointer is missing, prompt the user to
158
+ run:
123
159
 
124
160
  ```bash
125
161
  opencode-ship update --force-root-config
@@ -140,18 +176,26 @@ If an `## Ship workflow` block exists, update in place. Otherwise append:
140
176
  ```markdown
141
177
  ## Ship workflow
142
178
 
143
- This repo uses opencode-ship. Read `.opencode/ship.config.json` for the active model roles and approval policy. Issues live in [tracker]. See `docs/agents/issue-tracker.md`. Triage labels are documented in `docs/agents/triage-labels.md`.
179
+ This repo uses opencode-ship. Read `.opencode/ship.config.json` for the
180
+ active model roles and approval policy. Issues live in GitHub.
181
+ See `docs/agents/issue-tracker.md`. Triage labels are documented in
182
+ `docs/agents/triage-labels.md`.
144
183
 
145
- For a single-issue delivery, the user invokes `/setup-ship-workflow` once, then `ship-deliver <issue-number>` (or types "Ship issue N"). The controller dispatches the planner, builder, and reviewers; no further user action is required until Ready.
184
+ For a single-issue delivery, the user invokes `/setup-ship-workflow`
185
+ once, then `ship-deliver <issue-number>` (or types "Ship issue N"). The
186
+ controller dispatches the planner, builder, and reviewers; no further
187
+ user action is required until Ready.
146
188
  ```
147
189
 
148
- Include the `### Triage labels` sub-block only when the `triage` skill is installed.
190
+ Include the `### Triage labels` sub-block only when the `triage` skill is
191
+ installed.
149
192
 
150
193
  ### 9. Done
151
194
 
152
- - Delete `.opencode/ship.setup-pending.json`.
195
+ - Run `opencode-ship setup-complete` to commit the lock and clear the
196
+ marker in one transaction.
197
+ - Tell the user that everything is ready.
153
198
  - Print the next-step block below.
154
- - Tell the user they can edit `docs/agents/*.md` directly; re-running this skill is only necessary to switch trackers or re-configure models.
155
199
 
156
200
  ## Next steps (always print)
157
201
 
@@ -169,6 +213,9 @@ Next:
169
213
  - One question per turn. Never batch.
170
214
  - Re-run safe: skip sections already settled by existing config or docs.
171
215
  - Never edit the same `docs/agents/*.md` twice in one run.
172
- - Never silently overwrite a user-owned value in `ship.config.json`; always show the diff first.
173
- - Never tell the user to "merge it" automatically. The merge step is the only autonomy break.
216
+ - Never silently overwrite a user-owned value in `ship.config.json`; always
217
+ show the diff first.
218
+ - Never tell the user to "merge it" automatically. The merge step is the
219
+ only autonomy break.
174
220
  - Never hide step failures. If a write fails, surface the error and stop.
221
+ - Do not write any non-GitHub tracker docs. The contract is GitHub-only.