@idea1/cli 1.7.1 → 1.7.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.
- package/README.md +77 -16
- package/dist/cli/parser.d.ts.map +1 -1
- package/dist/cli/parser.js +3 -2
- package/dist/cli/parser.js.map +1 -1
- package/dist/commands/approve-pr.js +1 -1
- package/dist/commands/approve-pr.js.map +1 -1
- package/dist/commands/help.d.ts.map +1 -1
- package/dist/commands/help.js +35 -4
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/index.d.ts +2 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +3 -1
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/integrate.d.ts +13 -0
- package/dist/commands/integrate.d.ts.map +1 -0
- package/dist/commands/integrate.js +128 -0
- package/dist/commands/integrate.js.map +1 -0
- package/dist/commands/ready-for-approval.js +1 -1
- package/dist/commands/ready-for-approval.js.map +1 -1
- package/dist/commands/release.d.ts +7 -0
- package/dist/commands/release.d.ts.map +1 -1
- package/dist/commands/release.js +32 -188
- package/dist/commands/release.js.map +1 -1
- package/dist/lib/claude-options.d.ts +10 -0
- package/dist/lib/claude-options.d.ts.map +1 -1
- package/dist/lib/claude-options.js +36 -1
- package/dist/lib/claude-options.js.map +1 -1
- package/dist/lib/shell.d.ts +8 -0
- package/dist/lib/shell.d.ts.map +1 -1
- package/dist/lib/shell.js +6 -3
- package/dist/lib/shell.js.map +1 -1
- package/dist/services/claude.d.ts +2 -2
- package/dist/services/claude.d.ts.map +1 -1
- package/dist/services/claude.js +2 -3
- package/dist/services/claude.js.map +1 -1
- package/dist/services/github.d.ts +69 -28
- package/dist/services/github.d.ts.map +1 -1
- package/dist/services/github.js +148 -74
- package/dist/services/github.js.map +1 -1
- package/dist/services/release-flow.d.ts +83 -0
- package/dist/services/release-flow.d.ts.map +1 -0
- package/dist/services/release-flow.js +338 -0
- package/dist/services/release-flow.js.map +1 -0
- package/dist/services/setup.js +2 -2
- package/dist/services/workflow-handlers/agent-implementation.d.ts.map +1 -1
- package/dist/services/workflow-handlers/agent-implementation.js +5 -4
- package/dist/services/workflow-handlers/agent-implementation.js.map +1 -1
- package/dist/services/workflow-handlers/approve-pr.d.ts +6 -3
- package/dist/services/workflow-handlers/approve-pr.d.ts.map +1 -1
- package/dist/services/workflow-handlers/approve-pr.js +24 -64
- package/dist/services/workflow-handlers/approve-pr.js.map +1 -1
- package/dist/services/workflow-handlers/ready-for-approval.d.ts +5 -3
- package/dist/services/workflow-handlers/ready-for-approval.d.ts.map +1 -1
- package/dist/services/workflow-handlers/ready-for-approval.js +10 -11
- package/dist/services/workflow-handlers/ready-for-approval.js.map +1 -1
- package/dist/services/worktree.d.ts +2 -0
- package/dist/services/worktree.d.ts.map +1 -1
- package/dist/services/worktree.js +4 -4
- package/dist/services/worktree.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -29,6 +29,12 @@ idea1 start-dev-implementation # or: idea1 dev
|
|
|
29
29
|
idea1 ready-for-approval # or: idea1 rfa
|
|
30
30
|
idea1 approve-pr # or: idea1 approve
|
|
31
31
|
|
|
32
|
+
# Carry an integration branch into working/release (opens the PR, assigns its approver; the assignee merges it)
|
|
33
|
+
idea1 integrate # or: idea1 int
|
|
34
|
+
|
|
35
|
+
# Release the release branch to production (opens the release PR into main, assigned to you, and merges it once the checks pass)
|
|
36
|
+
idea1 release # or: idea1 r
|
|
37
|
+
|
|
32
38
|
# Show help
|
|
33
39
|
idea1 --help
|
|
34
40
|
```
|
|
@@ -61,12 +67,24 @@ A transition is "enter state X". Entering a state runs that state's automation (
|
|
|
61
67
|
| Build Spec in Progress … Ready for Agent Implementation | none — status only |
|
|
62
68
|
| **Agent Implementation** | ensures the branch is checked out locally (worktree or main repo), then **launches Claude** to implement the item. This is the only transition that starts code-writing automation |
|
|
63
69
|
| **Dev Implementation** | commits and pushes the agent's work, creates the PR, removes the worktree if `removeWorktreeAtState` says so |
|
|
64
|
-
| **Needs Approval for Release** | requires the PR,
|
|
65
|
-
| **Approved and Merged** |
|
|
70
|
+
| **Needs Approval for Release** | requires the PR, sets its assignee (required — the approver of record) and any requested reviewers, removes the worktree if configured |
|
|
71
|
+
| **Approved and Merged** | verifies you are the assignee, removes the metadata file, waits for the CI/CD suite, merges the PR — the merge is the approval — then deletes the branch and worktree |
|
|
66
72
|
| Released | none — normally set by GitHub automation when the work merges to `main` |
|
|
67
73
|
|
|
68
74
|
`start` begins state management, `next` advances one state, and `start-agent-implementation` jumps to Agent Implementation — all three reduce to the same engine, so branches and items always end up consistent with the state they are in.
|
|
69
75
|
|
|
76
|
+
### Who approves what
|
|
77
|
+
|
|
78
|
+
A change reaches production through two merges, and **each merge is its approval**.
|
|
79
|
+
|
|
80
|
+
**Into `working/release`** — the PR's **assignee** (required) is its approver. They review the code and approve it by running `idea1 approve-pr`, which waits for the full CI/CD suite and then **merges** the PR. That is not the GitHub "Approve" button, which only leaves a review behind and merges nothing. A red or unfinished suite stops the merge, and there is no override at this stage. `approve-pr` checks that the person merging is the assignee; anyone else has to confirm explicitly, and the evidence report lists that merge as an exception. Requested reviewers are optional and record nothing. GitHub records the approval as `merged_by`, with its timestamp and merge commit.
|
|
81
|
+
|
|
82
|
+
**Integration branches into `working/release`** — work items for an integration PR into `working/integration/<name>-main` and are approved there exactly as above. The integration branch itself enters `working/release` through `idea1 integrate`: it opens the PR with the approval chain of the work items it carries and assigns its approver; the assignee merges it (`idea1 integrate --pr-mode merge`) once the suite passes — the same sequence as a release, including the recorded admin override.
|
|
83
|
+
|
|
84
|
+
**Into `main`** — `idea1 release` opens the release PR **assigned to whoever ran it**: the releaser is the approver, and their merge is the recorded approval. No review is required — every change in the release was already approved above, and the release PR body lists each contained PR with who approved it. What this stage gates is the build: the required CI/CD checks must pass first. In the default `create` mode the releaser merges the PR in GitHub once the checks are green; in `merge` mode the CLI waits for every check with `gh` and merges here. An emergency admin override past a red check needs an explicit confirmation and a stated reason, and is recorded as a comment on the PR before the merge.
|
|
85
|
+
|
|
86
|
+
This is the change-management control DataFabrIQ is audited on; see `infrastructure/soc2/policies/change-management-policy.md` clause 2.
|
|
87
|
+
|
|
70
88
|
### start
|
|
71
89
|
|
|
72
90
|
Put a project item under workflow management. An item that has never been started enters **Build Spec in Progress**; an item that already has a state keeps it. The branch is created on origin from the base branch with the metadata file as its first commit — nothing is checked out, no code is written and Claude is not launched. Idempotent: running it again for a managed item just reports the branch and state.
|
|
@@ -114,12 +132,13 @@ The automation is idempotent, so re-running a transition after the item was move
|
|
|
114
132
|
|
|
115
133
|
### start-agent-implementation
|
|
116
134
|
|
|
117
|
-
Start implementing a project item: put it under workflow management if needed, move it to **Agent Implementation** (through any intermediate states, which have no automation), set up the working environment and launch Claude Code with the implementation prompt. This is the command behind "Send for Implementation" in the web client; `start-project-item` remains an alias so existing team command templates keep working.
|
|
135
|
+
Start implementing a project item: put it under workflow management if needed, move it to **Agent Implementation** (through any intermediate states, which have no automation), set up the working environment and launch Claude Code with the implementation prompt (or a prompt you supply — see `--entry-point-prompt`). This is the command behind "Send for Implementation" in the web client; `start-project-item` remains an alias so existing team command templates keep working.
|
|
118
136
|
|
|
119
137
|
```bash
|
|
120
138
|
idea1 start-agent-implementation --url <url> [options]
|
|
121
139
|
idea1 implement --url <url>
|
|
122
140
|
idea1 start-project-item --url <url> # alias
|
|
141
|
+
idea1 implement --url <url> --entry-point-prompt "Read the spec in docs/spec.md and implement step 3"
|
|
123
142
|
```
|
|
124
143
|
|
|
125
144
|
**Options:** all `start` options, plus the Agent Implementation options:
|
|
@@ -128,6 +147,8 @@ idea1 start-project-item --url <url> # alias
|
|
|
128
147
|
- `-m, --model <model>` - Claude model for the implementation session (default: `opus`). Valid values: `fable`, `opus`, `sonnet`, `haiku`
|
|
129
148
|
- `-e, --effort <level>` - Claude effort level (default: `high`). Valid values: `low`, `medium`, `high`, `xhigh`, `max`
|
|
130
149
|
- `-im, --claude-entry-point <mode>` - How Claude is invoked once the environment is ready (default: `launch`). Valid values: `launch` (start a new Claude session), `inline` (output a structured prompt for an already-running Claude session), `none` (do not invoke Claude)
|
|
150
|
+
- `-udp, --use-default-prompt <yes|no>` - Whether to launch Claude with the default implementation prompt (default: `yes`). Answering `no` asks for the prompt to use instead.
|
|
151
|
+
- `-epp, --entry-point-prompt <prompt>` - The prompt to launch Claude with, replacing the default implementation prompt. Supplying it skips the "Use default prompt?" question.
|
|
131
152
|
|
|
132
153
|
An item already in Agent Implementation is not transitioned again: the working environment is set up (or reused) and Claude is launched.
|
|
133
154
|
|
|
@@ -211,43 +232,83 @@ idea1 dev [options]
|
|
|
211
232
|
|
|
212
233
|
### ready-for-approval
|
|
213
234
|
|
|
214
|
-
Enter **Needs Approval for Release** from Dev Implementation — the same step `next` takes from that state.
|
|
235
|
+
Enter **Needs Approval for Release** from Dev Implementation — the same step `next` takes from that state. Its job is to name the **assignee**, who will approve the change by merging it.
|
|
215
236
|
|
|
216
237
|
```bash
|
|
217
238
|
idea1 ready-for-approval [options]
|
|
218
|
-
idea1 rfa --assignee octocat
|
|
239
|
+
idea1 rfa --assignee octocat
|
|
219
240
|
```
|
|
220
241
|
|
|
221
242
|
**Options:**
|
|
222
|
-
- `-a, --assignee <username>` - Who
|
|
223
|
-
- `-r, --reviewers <user1,user2>` - Who to request a review from (multi-select when omitted)
|
|
243
|
+
- `-a, --assignee <username>` - **Required.** Who approves the PR by merging it (prompted from the repository's assignable users when omitted)
|
|
244
|
+
- `-r, --reviewers <user1,user2>` - Who to request a review from (multi-select when omitted). Optional, and separate from approval — the assignee is the approver
|
|
224
245
|
|
|
225
246
|
**What it does:**
|
|
226
247
|
1. Validates the current state is "Dev Implementation" (after syncing from origin)
|
|
227
248
|
2. Ensures no uncommitted or unpushed changes in the local checkout
|
|
228
|
-
3. Requires the PR to exist, then
|
|
249
|
+
3. Requires the PR to exist, then sets the assignee (the transition refuses to proceed without one) and requests any reviewers
|
|
229
250
|
4. Records "Needs Approval for Release" in the branch metadata, git config and on Idea1.ai
|
|
230
251
|
5. If in a worktree and `removeWorktreeAtState` is `Needs Approval for Release` (the default) or earlier, removes the worktree
|
|
231
252
|
|
|
232
253
|
### approve-pr
|
|
233
254
|
|
|
234
|
-
Enter **Approved and Merged** from Needs Approval for Release — the same step `next` takes from that state.
|
|
255
|
+
Enter **Approved and Merged** from Needs Approval for Release — the same step `next` takes from that state. Run by the PR's **assignee**: it waits for the CI/CD suite and merges the PR, and that merge is the approval of record.
|
|
235
256
|
|
|
236
257
|
```bash
|
|
237
|
-
idea1 approve-pr
|
|
238
|
-
idea1 approve
|
|
258
|
+
idea1 approve-pr
|
|
259
|
+
idea1 approve
|
|
239
260
|
```
|
|
240
261
|
|
|
241
|
-
**Options:**
|
|
242
|
-
- `-c, --comment <message>` - Custom approval comment (default: "Approved via idea1 CLI workflow")
|
|
243
|
-
|
|
244
262
|
**What it does:**
|
|
245
263
|
1. Validates the current state is "Needs Approval for Release" (after syncing from origin)
|
|
246
|
-
2.
|
|
247
|
-
3. Removes the branch's `.idea1/<branch>.json` so it does not leak into the target branch,
|
|
264
|
+
2. Verifies the approver: refuses when the PR has no assignee, and when you are not the assignee warns that the merge record will name you instead and requires an explicit confirmation (the evidence report lists such a merge as an exception)
|
|
265
|
+
3. Removes the branch's `.idea1/<branch>.json` so it does not leak into the target branch, waits for the required CI/CD checks on the PR (that push re-runs the suite), then merges the PR. A red or unfinished suite stops the merge — there is no admin override at this stage
|
|
248
266
|
4. Records "Approved and Merged" in git config and on Idea1.ai
|
|
249
267
|
5. Switches to the base branch and deletes the feature branch. If still running inside a worktree, removes the worktree instead of switching branches — this always happens, since the base branch can't be checked out in place there
|
|
250
268
|
|
|
269
|
+
### integrate
|
|
270
|
+
|
|
271
|
+
Carry an integration branch (`working/integration/<name>-main`) into the release branch. This is stage 1 for integration work: the work items were each approved on their own PR into the integration branch; `integrate` opens the integration branch's PR into `working/release`, assigns its approver, and — run by that assignee — merges it once the required CI/CD checks pass. It is not part of the project-item state machine.
|
|
272
|
+
|
|
273
|
+
```bash
|
|
274
|
+
idea1 integrate --assignee octocat # on the integration branch: open the PR and assign its approver
|
|
275
|
+
idea1 integrate --pr-mode merge # run by the assignee: wait for the checks, then merge
|
|
276
|
+
idea1 int
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
**Options:**
|
|
280
|
+
- `-b, --branch <branch>` - Integration branch to integrate (default: the current branch when it is one, otherwise a pick from the integration branches on origin)
|
|
281
|
+
- `-t, --target <branch>` - Branch to integrate into (default: `baseBranch`, then `working/release`)
|
|
282
|
+
- `-a, --assignee <username>` - Who approves the integration by merging its PR (prompted when the PR is created and none is given)
|
|
283
|
+
- `-pr, --pr-mode <mode>` - `create` (default) opens the PR in the browser to merge there once the checks pass; `merge` waits for every check with `gh` and merges here
|
|
284
|
+
- `--title <title>` - PR title (default: `Integration <name> <YYYY-MM-DD>`)
|
|
285
|
+
|
|
286
|
+
**What it does:**
|
|
287
|
+
1. Reuses the open PR from the integration branch into the target if one exists; otherwise requires you to be on the integration branch with nothing uncommitted, unpushed or behind origin, and creates the PR assigned to the approver, with the approval chain of the work-item PRs it carries as its body
|
|
288
|
+
2. In `merge` mode, checks that you are the assignee (anyone else must confirm explicitly), waits for the required CI/CD checks and merges. Checks that fail, never start or never finish stop the merge; the admin override takes an explicit confirmation and a required reason, and the exception is recorded as a comment on the PR before anything is merged
|
|
289
|
+
|
|
290
|
+
### release
|
|
291
|
+
|
|
292
|
+
Release everything on the release branch to production. Opens the release PR from `working/release` into `main`, **assigned to you**, and merges it — the person who runs the command is the releaser and the approver, and no review is required, because every change in the release was already approved on its own PR.
|
|
293
|
+
|
|
294
|
+
```bash
|
|
295
|
+
idea1 release # prompts for the PR mode and title
|
|
296
|
+
idea1 release --pr-mode merge # wait for the required checks, then merge here
|
|
297
|
+
idea1 r
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
**Options:**
|
|
301
|
+
- `-b, --branch <branch>` - Source branch to release from (default: `releaseBranch`, then `baseBranch`, then `working/release`)
|
|
302
|
+
- `-t, --target <branch>` - Target branch to release into (default: `releaseTargetBranch`, then `main`)
|
|
303
|
+
- `-pr, --pr-mode <mode>` - `create` (default) creates the PR and opens it in the browser so you merge it there once the required checks pass; `merge` waits for every check with `gh` and merges here. The merge is the recorded approval in both
|
|
304
|
+
- `--title <title>` - PR title (default: `Release <YYYY-MM-DD>`)
|
|
305
|
+
|
|
306
|
+
**What it does:**
|
|
307
|
+
1. Requires you to be on the release branch with nothing uncommitted, unpushed or behind origin, then runs the `pre-release` hook (the version bumps). The hook runs before the PR is opened, so its commit is the PR's head and the suite runs once, on the release as it will merge
|
|
308
|
+
2. Creates the release PR assigned to you, whose body is the release's approval chain: every contained PR — attributed by GitHub's commit association, so squash and rebase merges are covered — with its author and the assignee who approved it by merging; any commit that reached the branch without a PR is listed separately (the version bump is the one expected entry). A release that carries no approved PR is refused
|
|
309
|
+
3. In `merge` mode, waits for the required CI/CD checks and merges normally. Checks that fail, never start or never finish stop the release; an admin override is available but takes an explicit confirmation and a required reason, and the exception is recorded as a comment on the PR before anything is merged
|
|
310
|
+
4. Opens GitHub Actions, where the merge to `main` has triggered the production deploy
|
|
311
|
+
|
|
251
312
|
## Configuration
|
|
252
313
|
|
|
253
314
|
### Configuration Hierarchy
|
package/dist/cli/parser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/cli/parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGhE;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAGxE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkCzF;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAsBjC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/cli/parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGhE;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAGxE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkCzF;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAsBjC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0CxD"}
|
package/dist/cli/parser.js
CHANGED
|
@@ -88,8 +88,9 @@ export function printCommandUsage(command) {
|
|
|
88
88
|
defaultText = resolved ? ` (default: ${resolved})` : '';
|
|
89
89
|
}
|
|
90
90
|
else if (option.validate) {
|
|
91
|
-
// Only mark as required when a validator exists to enforce it
|
|
92
|
-
|
|
91
|
+
// Only mark as required when a validator exists to enforce it; an
|
|
92
|
+
// option with a dependency is only asked for when it applies.
|
|
93
|
+
defaultText = option.dependsOn ? ' (required when prompted)' : ' (required)';
|
|
93
94
|
}
|
|
94
95
|
}
|
|
95
96
|
const padding = Math.max(0, 30 - forms.length);
|
package/dist/cli/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/cli/parser.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/cli/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { approvePrHandler } from '../services/workflow-handlers/approve-pr.js';
|
|
|
4
4
|
export const approvePrCommand = {
|
|
5
5
|
name: 'approve-pr',
|
|
6
6
|
aliases: ['approve'],
|
|
7
|
-
description: 'Approve
|
|
7
|
+
description: 'Approve the PR by merging it (the assignee runs this), completing the workflow',
|
|
8
8
|
options: approvePrHandler.options,
|
|
9
9
|
async execute(resolved) {
|
|
10
10
|
const context = await resolveContext({ options: resolved });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approve-pr.js","sourceRoot":"","sources":["../../src/commands/approve-pr.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAE/E,MAAM,CAAC,MAAM,gBAAgB,GAAY;IACvC,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,CAAC,SAAS,CAAC;IACpB,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"approve-pr.js","sourceRoot":"","sources":["../../src/commands/approve-pr.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAE/E,MAAM,CAAC,MAAM,gBAAgB,GAAY;IACvC,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,CAAC,SAAS,CAAC;IACpB,WAAW,EAAE,gFAAgF;IAC7F,OAAO,EAAE,gBAAgB,CAAC,OAAO;IAEjC,KAAK,CAAC,OAAO,CAAC,QAAgC;QAC5C,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC5D,mBAAmB,CAAC,OAAO,EAAE,cAAc,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC;QACnF,MAAM,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAC7D,CAAC;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAMjD,eAAO,MAAM,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAMjD,eAAO,MAAM,WAAW,EAAE,OA0KzB,CAAC"}
|
package/dist/commands/help.js
CHANGED
|
@@ -25,10 +25,38 @@ export const helpCommand = {
|
|
|
25
25
|
console.log(` ${chalk.bold('next-workflow-step')} Advance to the next state and run its automation`);
|
|
26
26
|
console.log(` ${chalk.bold('start-agent-implementation')} Jump to Agent Implementation: worktree + Claude (alias: start-project-item)`);
|
|
27
27
|
console.log(` ${chalk.bold('start-dev-implementation')} Commit agent work, create PR, close worktree`);
|
|
28
|
-
console.log(` ${chalk.bold('ready-for-approval')} Mark PR ready
|
|
29
|
-
console.log(` ${chalk.bold('approve-pr')}
|
|
28
|
+
console.log(` ${chalk.bold('ready-for-approval')} Mark PR ready and set its assignee (the approver)`);
|
|
29
|
+
console.log(` ${chalk.bold('approve-pr')} Assignee approves by merging the PR, then cleans up`);
|
|
30
30
|
console.log(` ${chalk.bold('join-project-item')} Set up a working environment on an item\'s existing branch`);
|
|
31
31
|
console.log(` ${chalk.bold('update-branch')} Merge latest from source branch into current branch`);
|
|
32
|
+
console.log(` ${chalk.bold('release')} Open the release PR into main, assigned to you, and merge it once the checks pass`);
|
|
33
|
+
console.log(` ${chalk.bold('integrate')} Open the PR from an integration branch into working/release; its assignee merges it`);
|
|
34
|
+
console.log();
|
|
35
|
+
// Print the approval model - the assignee approves by merging, at both gates
|
|
36
|
+
console.log(chalk.bold('APPROVAL MODEL:'));
|
|
37
|
+
console.log();
|
|
38
|
+
console.log(' A change reaches production through two merges, and each merge is its approval.');
|
|
39
|
+
console.log();
|
|
40
|
+
console.log(` ${chalk.bold('Into working/release')} The PR's ${chalk.bold('assignee')} (required) is its approver. They review the code`);
|
|
41
|
+
console.log(' and approve it by running approve-pr, which waits for the');
|
|
42
|
+
console.log(' full CI/CD suite and then MERGES the PR - it is not the GitHub');
|
|
43
|
+
console.log(' "Approve" button, which only leaves a review and merges');
|
|
44
|
+
console.log(' nothing. A red or unfinished suite stops the merge; there is');
|
|
45
|
+
console.log(' no override at this stage. Requested reviewers are optional');
|
|
46
|
+
console.log(' and record nothing.');
|
|
47
|
+
console.log();
|
|
48
|
+
console.log(` ${chalk.bold('Integration branches')} ${chalk.bold('integrate')} opens the PR from working/integration/<name>-main into`);
|
|
49
|
+
console.log(' working/release and assigns its approver. The assignee merges');
|
|
50
|
+
console.log(' it (integrate --pr-mode merge) once the suite passes - same');
|
|
51
|
+
console.log(' sequence as a release, including the recorded admin override.');
|
|
52
|
+
console.log();
|
|
53
|
+
console.log(` ${chalk.bold('Into main')} ${chalk.bold('release')} opens the release PR assigned to whoever ran it - the`);
|
|
54
|
+
console.log(' releaser is the approver and merges it. No review is required:');
|
|
55
|
+
console.log(' every change in the release was already approved above. The');
|
|
56
|
+
console.log(' gate is the required CI/CD suite. Default mode creates the PR');
|
|
57
|
+
console.log(' to merge in GitHub once green; --pr-mode merge waits for the');
|
|
58
|
+
console.log(' checks with gh and merges here. An emergency admin override');
|
|
59
|
+
console.log(' needs a confirmation, a reason, and is recorded on the PR.');
|
|
32
60
|
console.log();
|
|
33
61
|
// Print branching workflows
|
|
34
62
|
console.log(chalk.bold('BRANCHING WORKFLOWS:'));
|
|
@@ -42,7 +70,7 @@ export const helpCommand = {
|
|
|
42
70
|
console.log();
|
|
43
71
|
console.log(chalk.bold(' 2. Work for Integration'));
|
|
44
72
|
console.log(' An integration branch groups related work items.');
|
|
45
|
-
console.log(' The integration branch PRs into baseBranch
|
|
73
|
+
console.log(' The integration branch PRs into baseBranch via `integrate`.');
|
|
46
74
|
console.log(' Work item branches PR into the integration branch.');
|
|
47
75
|
console.log(` Integration branch: ${chalk.dim('<integrationBranchPrefix>/<integrationName>-main')}`);
|
|
48
76
|
console.log(` Work branch: ${chalk.dim('<integrationBranchPrefix>/<integrationName>/agent/<name>')}`);
|
|
@@ -120,8 +148,11 @@ export const helpCommand = {
|
|
|
120
148
|
console.log(' idea1 start-agent-implementation --url https://app.idea1.ai/project/items/590 -w integration');
|
|
121
149
|
console.log(' idea1 update-branch');
|
|
122
150
|
console.log(' idea1 next');
|
|
123
|
-
console.log(' idea1 ready-for-approval --assignee octocat
|
|
151
|
+
console.log(' idea1 ready-for-approval --assignee octocat');
|
|
124
152
|
console.log(' idea1 approve-pr');
|
|
153
|
+
console.log(' idea1 release --pr-mode merge');
|
|
154
|
+
console.log(' idea1 integrate --assignee octocat');
|
|
155
|
+
console.log(' idea1 integrate --pr-mode merge # run by the assignee');
|
|
125
156
|
logger.newline();
|
|
126
157
|
console.log(chalk.bold('INTERACTIVE MODE:'));
|
|
127
158
|
console.log(' Run "idea1" without arguments to allow the user to enter interactive mode.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,WAAW,GAAY;IAClC,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACnB,WAAW,EAAE,uBAAuB;IAEpC,KAAK,CAAC,OAAO,CAAC,SAAiC;QAC7C,qBAAqB;QACrB,UAAU,EAAE,CAAC;QAEb,0BAA0B;QAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,EAAE,CAAC,CAAC;QAC7M,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,KAAK,CAAC,OAAO,CAAC,4BAA4B,CAAC,QAAQ,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,QAAQ,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAClO,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,yFAAyF,CAAC,CAAC;QACvG,OAAO,CAAC,GAAG,CAAC,6FAA6F,CAAC,CAAC;QAC3G,OAAO,CAAC,GAAG,CAAC,wFAAwF,CAAC,CAAC;QACtG,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,2FAA2F,CAAC,CAAC;QACnI,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,4DAA4D,CAAC,CAAC;QACjH,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,+EAA+E,CAAC,CAAC;QAC5I,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,kDAAkD,CAAC,CAAC;QAC7G,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { createWorktreeCommand } from './create-worktree.js';
|
|
|
8
8
|
import { pushCommand } from './push.js';
|
|
9
9
|
import { helpCommand } from './help.js';
|
|
10
10
|
import { releaseCommand } from './release.js';
|
|
11
|
+
import { integrateCommand } from './integrate.js';
|
|
11
12
|
import { startDevImplementationCommand } from './start-dev-implementation.js';
|
|
12
13
|
import { readyForApprovalCommand } from './ready-for-approval.js';
|
|
13
14
|
import { approvePrCommand } from './approve-pr.js';
|
|
@@ -26,5 +27,5 @@ export declare function getAllCommands(): Command[];
|
|
|
26
27
|
* Get all command names and aliases for autocomplete
|
|
27
28
|
*/
|
|
28
29
|
export declare function getAllCommandNamesAndAliases(): string[];
|
|
29
|
-
export { startCommand, startAgentImplementationCommand, joinProjectItemCommand, attachProjectItemCommand, closeWorktreeCommand, createWorktreeCommand, pushCommand, helpCommand, releaseCommand, startDevImplementationCommand, readyForApprovalCommand, approvePrCommand, nextWorkflowStepCommand, updateBranchCommand, getProjectItemUrlCommand };
|
|
30
|
+
export { startCommand, startAgentImplementationCommand, joinProjectItemCommand, attachProjectItemCommand, closeWorktreeCommand, createWorktreeCommand, pushCommand, helpCommand, releaseCommand, integrateCommand, startDevImplementationCommand, readyForApprovalCommand, approvePrCommand, nextWorkflowStepCommand, updateBranchCommand, getProjectItemUrlCommand };
|
|
30
31
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,+BAA+B,EAAE,MAAM,iCAAiC,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,+BAA+B,EAAE,MAAM,iCAAiC,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AA0CrE;;GAEG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAEnE;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,OAAO,EAAE,CAM1C;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,EAAE,CAEvD;AAED,OAAO,EACL,YAAY,EACZ,+BAA+B,EAC/B,sBAAsB,EACtB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,WAAW,EACX,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,6BAA6B,EAC7B,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACzB,CAAC"}
|
package/dist/commands/index.js
CHANGED
|
@@ -7,6 +7,7 @@ import { createWorktreeCommand } from './create-worktree.js';
|
|
|
7
7
|
import { pushCommand } from './push.js';
|
|
8
8
|
import { helpCommand } from './help.js';
|
|
9
9
|
import { releaseCommand } from './release.js';
|
|
10
|
+
import { integrateCommand } from './integrate.js';
|
|
10
11
|
import { startDevImplementationCommand } from './start-dev-implementation.js';
|
|
11
12
|
import { readyForApprovalCommand } from './ready-for-approval.js';
|
|
12
13
|
import { approvePrCommand } from './approve-pr.js';
|
|
@@ -38,6 +39,7 @@ registerCommand(startDevImplementationCommand);
|
|
|
38
39
|
registerCommand(readyForApprovalCommand);
|
|
39
40
|
registerCommand(approvePrCommand);
|
|
40
41
|
registerCommand(releaseCommand);
|
|
42
|
+
registerCommand(integrateCommand);
|
|
41
43
|
registerCommand(nextWorkflowStepCommand);
|
|
42
44
|
registerCommand(updateBranchCommand);
|
|
43
45
|
registerCommand(getProjectItemUrlCommand);
|
|
@@ -68,5 +70,5 @@ export function getAllCommands() {
|
|
|
68
70
|
export function getAllCommandNamesAndAliases() {
|
|
69
71
|
return Array.from(commandRegistry.keys());
|
|
70
72
|
}
|
|
71
|
-
export { startCommand, startAgentImplementationCommand, joinProjectItemCommand, attachProjectItemCommand, closeWorktreeCommand, createWorktreeCommand, pushCommand, helpCommand, releaseCommand, startDevImplementationCommand, readyForApprovalCommand, approvePrCommand, nextWorkflowStepCommand, updateBranchCommand, getProjectItemUrlCommand };
|
|
73
|
+
export { startCommand, startAgentImplementationCommand, joinProjectItemCommand, attachProjectItemCommand, closeWorktreeCommand, createWorktreeCommand, pushCommand, helpCommand, releaseCommand, integrateCommand, startDevImplementationCommand, readyForApprovalCommand, approvePrCommand, nextWorkflowStepCommand, updateBranchCommand, getProjectItemUrlCommand };
|
|
72
74
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Command } from '../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Stage 1 of change management for an integration branch (change-management-policy.md clause 2):
|
|
4
|
+
* the work items merged into `working/integration/<name>-main` were each approved there by their
|
|
5
|
+
* assignee; this command carries the integration branch into the release branch through its own
|
|
6
|
+
* PR, assigned to its approver. The assignee approves by merging it - after the required CI/CD
|
|
7
|
+
* checks pass - with the same sequence and the same recorded admin override as `idea1 release`.
|
|
8
|
+
*
|
|
9
|
+
* Creating the PR and merging it are usually done by different people at different times, so
|
|
10
|
+
* the command reuses an open PR when one exists and the assignee runs it in `merge` mode.
|
|
11
|
+
*/
|
|
12
|
+
export declare const integrateCommand: Command;
|
|
13
|
+
//# sourceMappingURL=integrate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integrate.d.ts","sourceRoot":"","sources":["../../src/commands/integrate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AA6DjD;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,EAAE,OAuF9B,CAAC"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { logger } from '../lib/logger.js';
|
|
2
|
+
import { promptInput, promptSelect } from '../lib/prompt.js';
|
|
3
|
+
import { resolveNamedList } from '../cli/named-lists.js';
|
|
4
|
+
import * as git from '../services/git.js';
|
|
5
|
+
import * as github from '../services/github.js';
|
|
6
|
+
import * as worktree from '../services/worktree.js';
|
|
7
|
+
import { INTEGRATION_KIND, PR_MODE_OPTION, createGatedPr, runPrMode, validateSourceBranch } from '../services/release-flow.js';
|
|
8
|
+
/**
|
|
9
|
+
* The integration branch to integrate: the one given, else the current branch when it is one,
|
|
10
|
+
* else a pick from the integration branches on origin.
|
|
11
|
+
*/
|
|
12
|
+
async function resolveIntegrationBranch(cliBranch) {
|
|
13
|
+
const integrationBranches = await worktree.listExistingIntegrationBranches();
|
|
14
|
+
if (cliBranch) {
|
|
15
|
+
if (!integrationBranches.includes(cliBranch)) {
|
|
16
|
+
throw new Error(`'${cliBranch}' is not an integration branch on origin.` +
|
|
17
|
+
(integrationBranches.length > 0 ? `\nIntegration branches: ${integrationBranches.join(', ')}` : ''));
|
|
18
|
+
}
|
|
19
|
+
return cliBranch;
|
|
20
|
+
}
|
|
21
|
+
const currentBranch = await git.getCurrentBranch();
|
|
22
|
+
if (integrationBranches.includes(currentBranch)) {
|
|
23
|
+
return currentBranch;
|
|
24
|
+
}
|
|
25
|
+
if (integrationBranches.length === 0) {
|
|
26
|
+
throw new Error('No integration branches exist on origin.');
|
|
27
|
+
}
|
|
28
|
+
return promptSelect('Which integration branch?', integrationBranches.map(branch => ({ label: branch, value: branch })));
|
|
29
|
+
}
|
|
30
|
+
async function promptAssignee() {
|
|
31
|
+
return promptSelect('Who approves this integration by merging its PR? (the approver of record)', await resolveNamedList('github-members'));
|
|
32
|
+
}
|
|
33
|
+
async function promptPrTitle(integrationBranch) {
|
|
34
|
+
const integrationName = await worktree.extractIntegrationName(integrationBranch);
|
|
35
|
+
const defaultTitle = `Integration ${integrationName} ${new Date().toISOString().split('T')[0]}`;
|
|
36
|
+
return promptInput('Enter PR title:', { default: defaultTitle });
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Stage 1 of change management for an integration branch (change-management-policy.md clause 2):
|
|
40
|
+
* the work items merged into `working/integration/<name>-main` were each approved there by their
|
|
41
|
+
* assignee; this command carries the integration branch into the release branch through its own
|
|
42
|
+
* PR, assigned to its approver. The assignee approves by merging it - after the required CI/CD
|
|
43
|
+
* checks pass - with the same sequence and the same recorded admin override as `idea1 release`.
|
|
44
|
+
*
|
|
45
|
+
* Creating the PR and merging it are usually done by different people at different times, so
|
|
46
|
+
* the command reuses an open PR when one exists and the assignee runs it in `merge` mode.
|
|
47
|
+
*/
|
|
48
|
+
export const integrateCommand = {
|
|
49
|
+
name: 'integrate',
|
|
50
|
+
aliases: ['int'],
|
|
51
|
+
description: 'Open the PR from an integration branch into the release branch, assigned to its approver, and (as the assignee) merge it once the checks pass',
|
|
52
|
+
options: [
|
|
53
|
+
{
|
|
54
|
+
longName: 'branch',
|
|
55
|
+
shortName: 'b',
|
|
56
|
+
description: 'Integration branch to integrate (default: the current branch, or a pick from origin)',
|
|
57
|
+
defaultValue: '',
|
|
58
|
+
promptWhenDefaultExists: false
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
longName: 'target',
|
|
62
|
+
shortName: 't',
|
|
63
|
+
description: 'Branch to integrate into (default: baseBranch)',
|
|
64
|
+
defaultValue: '',
|
|
65
|
+
promptWhenDefaultExists: false
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
longName: 'assignee',
|
|
69
|
+
shortName: 'a',
|
|
70
|
+
description: 'Who approves the integration by merging its PR - the approver of record (prompted when the PR is created)',
|
|
71
|
+
defaultValue: '',
|
|
72
|
+
promptWhenDefaultExists: false
|
|
73
|
+
},
|
|
74
|
+
PR_MODE_OPTION,
|
|
75
|
+
{
|
|
76
|
+
longName: 'title',
|
|
77
|
+
description: 'PR title',
|
|
78
|
+
defaultValue: '',
|
|
79
|
+
promptWhenDefaultExists: false
|
|
80
|
+
}
|
|
81
|
+
],
|
|
82
|
+
async execute(resolved) {
|
|
83
|
+
const branchArg = resolved['branch'] || undefined;
|
|
84
|
+
const targetArg = resolved['target'] || undefined;
|
|
85
|
+
const assigneeArg = resolved['assignee'] || undefined;
|
|
86
|
+
const prMode = resolved['pr-mode'];
|
|
87
|
+
const titleArg = resolved['title'] || undefined;
|
|
88
|
+
await github.ensureGitHubCli();
|
|
89
|
+
const integrationBranch = await resolveIntegrationBranch(branchArg);
|
|
90
|
+
const targetBranch = targetArg ?? await worktree.resolveBaseBranch();
|
|
91
|
+
logger.header(`Integration: ${integrationBranch} -> ${targetBranch}`);
|
|
92
|
+
logger.newline();
|
|
93
|
+
logger.info(`PR mode: ${prMode}`);
|
|
94
|
+
logger.newline();
|
|
95
|
+
const existingPr = await github.checkPrExists(integrationBranch, targetBranch);
|
|
96
|
+
let prUrl;
|
|
97
|
+
if (existingPr) {
|
|
98
|
+
logger.info(`Using the open PR #${existingPr.number}`);
|
|
99
|
+
prUrl = existingPr.url;
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
await validateSourceBranch(integrationBranch);
|
|
103
|
+
const assignee = assigneeArg ?? await promptAssignee();
|
|
104
|
+
const prTitle = titleArg ?? await promptPrTitle(integrationBranch);
|
|
105
|
+
logger.info(`Using title: ${prTitle}`);
|
|
106
|
+
logger.newline();
|
|
107
|
+
prUrl = await createGatedPr({
|
|
108
|
+
sourceBranch: integrationBranch,
|
|
109
|
+
targetBranch,
|
|
110
|
+
title: prTitle,
|
|
111
|
+
assignee,
|
|
112
|
+
kind: INTEGRATION_KIND
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
logger.newline();
|
|
116
|
+
await runPrMode({
|
|
117
|
+
mode: prMode,
|
|
118
|
+
sourceBranch: integrationBranch,
|
|
119
|
+
targetBranch,
|
|
120
|
+
prUrl,
|
|
121
|
+
kind: INTEGRATION_KIND,
|
|
122
|
+
openActionsAfterMerge: false
|
|
123
|
+
});
|
|
124
|
+
logger.newline();
|
|
125
|
+
logger.hint(`PR: ${prUrl}`);
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
//# sourceMappingURL=integrate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integrate.js","sourceRoot":"","sources":["../../src/commands/integrate.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { readyForApprovalHandler } from '../services/workflow-handlers/ready-for
|
|
|
4
4
|
export const readyForApprovalCommand = {
|
|
5
5
|
name: 'ready-for-approval',
|
|
6
6
|
aliases: ['rfa'],
|
|
7
|
-
description: 'Mark PR
|
|
7
|
+
description: 'Mark PR ready for approval and set its assignee (the approver)',
|
|
8
8
|
options: readyForApprovalHandler.options,
|
|
9
9
|
async execute(resolved) {
|
|
10
10
|
const context = await resolveContext({ options: resolved });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ready-for-approval.js","sourceRoot":"","sources":["../../src/commands/ready-for-approval.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChG,OAAO,EAAE,uBAAuB,EAAE,MAAM,qDAAqD,CAAC;AAE9F,MAAM,CAAC,MAAM,uBAAuB,GAAY;IAC9C,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,CAAC,KAAK,CAAC;IAChB,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"ready-for-approval.js","sourceRoot":"","sources":["../../src/commands/ready-for-approval.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChG,OAAO,EAAE,uBAAuB,EAAE,MAAM,qDAAqD,CAAC;AAE9F,MAAM,CAAC,MAAM,uBAAuB,GAAY;IAC9C,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,CAAC,KAAK,CAAC;IAChB,WAAW,EAAE,gEAAgE;IAC7E,OAAO,EAAE,uBAAuB,CAAC,OAAO;IAExC,KAAK,CAAC,OAAO,CAAC,QAAgC;QAC5C,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC5D,mBAAmB,CAAC,OAAO,EAAE,cAAc,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;QACrF,MAAM,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC,uBAAuB,CAAC,CAAC;IACnE,CAAC;CACF,CAAC"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
1
|
import type { Command } from '../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Stage 2 of change management (change-management-policy.md clause 2): the release PR from the
|
|
4
|
+
* release branch into main. It is assigned to the person who runs the command - they are the
|
|
5
|
+
* releaser and the approver, and their merge is the recorded approval. No review is required:
|
|
6
|
+
* every change in the release was already approved on its own PR, and the body lists them. What
|
|
7
|
+
* this stage gates is the build - the required CI/CD checks must pass before the merge.
|
|
8
|
+
*/
|
|
2
9
|
export declare const releaseCommand: Command;
|
|
3
10
|
//# sourceMappingURL=release.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../src/commands/release.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../src/commands/release.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AA2EjD;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,EAAE,OAuE5B,CAAC"}
|