lite-kits 0.1.1__py3-none-any.whl → 0.3.1__py3-none-any.whl
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.
- lite_kits/__init__.py +56 -4
- lite_kits/cli.py +696 -185
- lite_kits/core/__init__.py +6 -0
- lite_kits/core/banner.py +1 -1
- lite_kits/core/conflict_checker.py +115 -0
- lite_kits/core/detector.py +140 -0
- lite_kits/core/installer.py +236 -351
- lite_kits/core/manifest.py +146 -146
- lite_kits/core/validator.py +146 -0
- lite_kits/kits/README.md +6 -6
- lite_kits/kits/dev/README.md +241 -241
- lite_kits/kits/dev/{claude/commands → commands/.claude}/audit.md +143 -143
- lite_kits/kits/dev/{claude/commands → commands/.claude}/cleanup.md +2 -2
- lite_kits/kits/{git/claude/commands → dev/commands/.claude}/commit.md +2 -2
- lite_kits/kits/{project/claude/commands → dev/commands/.claude}/orient.md +3 -4
- lite_kits/kits/{git/claude/commands → dev/commands/.claude}/pr.md +1 -1
- lite_kits/kits/{git/claude/commands → dev/commands/.claude}/review.md +202 -202
- lite_kits/kits/{project/claude/commands → dev/commands/.claude}/stats.md +162 -162
- lite_kits/kits/{project/github/prompts → dev/commands/.github}/audit.prompt.md +143 -143
- lite_kits/kits/{git/github/prompts → dev/commands/.github}/cleanup.prompt.md +2 -2
- lite_kits/kits/{git/github/prompts → dev/commands/.github}/commit.prompt.md +2 -2
- lite_kits/kits/dev/{github/prompts → commands/.github}/orient.prompt.md +3 -4
- lite_kits/kits/{git/github/prompts → dev/commands/.github}/pr.prompt.md +1 -1
- lite_kits/kits/{git/github/prompts → dev/commands/.github}/review.prompt.md +202 -202
- lite_kits/kits/dev/{github/prompts → commands/.github}/stats.prompt.md +163 -163
- lite_kits/kits/kits.yaml +497 -180
- lite_kits/kits/multiagent/README.md +6 -6
- lite_kits/kits/multiagent/{claude/commands → commands/.claude}/sync.md +331 -331
- lite_kits/kits/multiagent/{github/prompts → commands/.github}/sync.prompt.md +73 -69
- lite_kits/kits/multiagent/memory/git-worktrees-protocol.md +370 -370
- lite_kits/kits/multiagent/memory/parallel-work-protocol.md +536 -536
- lite_kits/kits/multiagent/memory/pr-workflow-guide.md +275 -275
- lite_kits/kits/multiagent/templates/collaboration-structure/README.md +166 -166
- lite_kits/kits/multiagent/templates/decision.md +79 -79
- lite_kits/kits/multiagent/templates/handoff.md +95 -95
- lite_kits/kits/multiagent/templates/session-log.md +68 -68
- lite_kits-0.3.1.dist-info/METADATA +259 -0
- lite_kits-0.3.1.dist-info/RECORD +41 -0
- {lite_kits-0.1.1.dist-info → lite_kits-0.3.1.dist-info}/licenses/LICENSE +21 -21
- lite_kits/kits/dev/claude/commands/commit.md +0 -612
- lite_kits/kits/dev/claude/commands/orient.md +0 -146
- lite_kits/kits/dev/claude/commands/pr.md +0 -593
- lite_kits/kits/dev/claude/commands/review.md +0 -202
- lite_kits/kits/dev/claude/commands/stats.md +0 -162
- lite_kits/kits/dev/github/prompts/audit.prompt.md +0 -143
- lite_kits/kits/dev/github/prompts/cleanup.prompt.md +0 -382
- lite_kits/kits/dev/github/prompts/commit.prompt.md +0 -591
- lite_kits/kits/dev/github/prompts/pr.prompt.md +0 -603
- lite_kits/kits/dev/github/prompts/review.prompt.md +0 -202
- lite_kits/kits/git/README.md +0 -365
- lite_kits/kits/git/claude/commands/cleanup.md +0 -361
- lite_kits/kits/git/scripts/bash/get-git-context.sh +0 -208
- lite_kits/kits/git/scripts/powershell/Get-GitContext.ps1 +0 -242
- lite_kits/kits/project/README.md +0 -228
- lite_kits/kits/project/claude/commands/audit.md +0 -143
- lite_kits/kits/project/claude/commands/review.md +0 -112
- lite_kits/kits/project/github/prompts/orient.prompt.md +0 -150
- lite_kits/kits/project/github/prompts/review.prompt.md +0 -112
- lite_kits/kits/project/github/prompts/stats.prompt.md +0 -163
- lite_kits-0.1.1.dist-info/METADATA +0 -447
- lite_kits-0.1.1.dist-info/RECORD +0 -58
- {lite_kits-0.1.1.dist-info → lite_kits-0.3.1.dist-info}/WHEEL +0 -0
- {lite_kits-0.1.1.dist-info → lite_kits-0.3.1.dist-info}/entry_points.txt +0 -0
@@ -1,603 +0,0 @@
|
|
1
|
-
---
|
2
|
-
description: Create pull request with smart description generation
|
3
|
-
---
|
4
|
-
|
5
|
-
# Create Pull Request
|
6
|
-
|
7
|
-
**Purpose**: Generate PR description from commits and create pull request using GitHub CLI.
|
8
|
-
|
9
|
-
## Prerequisites
|
10
|
-
|
11
|
-
- `gh` CLI installed and authenticated
|
12
|
-
- Current branch pushed to remote
|
13
|
-
- Git commits on current branch
|
14
|
-
|
15
|
-
## Execution Steps
|
16
|
-
|
17
|
-
### 1. Verify Prerequisites and Push Branch
|
18
|
-
|
19
|
-
```powershell
|
20
|
-
# Check if gh CLI is available
|
21
|
-
gh --version
|
22
|
-
|
23
|
-
# Check if authenticated
|
24
|
-
gh auth status
|
25
|
-
|
26
|
-
# Check current branch
|
27
|
-
$CurrentBranch = git branch --show-current
|
28
|
-
```
|
29
|
-
|
30
|
-
**If not authenticated**:
|
31
|
-
```
|
32
|
-
GitHub CLI not authenticated.
|
33
|
-
|
34
|
-
Run: gh auth login
|
35
|
-
Follow the prompts to authenticate.
|
36
|
-
```
|
37
|
-
|
38
|
-
**Check if branch needs pushing**:
|
39
|
-
```powershell
|
40
|
-
# Check if branch has remote tracking
|
41
|
-
$HasUpstream = git rev-parse --abbrev-ref --symbolic-full-name '@{u}' 2>$null
|
42
|
-
$NeedsPush = $false
|
43
|
-
$PushType = $null
|
44
|
-
|
45
|
-
if ($LASTEXITCODE -ne 0) {
|
46
|
-
# No upstream - need initial push
|
47
|
-
$NeedsPush = $true
|
48
|
-
$PushType = "initial"
|
49
|
-
} else {
|
50
|
-
# Check if local is ahead of remote
|
51
|
-
$Local = git rev-parse HEAD
|
52
|
-
$Remote = git rev-parse '@{u}'
|
53
|
-
|
54
|
-
if ($Local -ne $Remote) {
|
55
|
-
$NeedsPush = $true
|
56
|
-
$PushType = "update"
|
57
|
-
}
|
58
|
-
}
|
59
|
-
```
|
60
|
-
|
61
|
-
**If branch needs pushing, push automatically**:
|
62
|
-
```powershell
|
63
|
-
if ($NeedsPush) {
|
64
|
-
if ($PushType -eq "initial") {
|
65
|
-
Write-Host "📤 Pushing branch to remote for the first time..."
|
66
|
-
git push -u origin $CurrentBranch
|
67
|
-
} else {
|
68
|
-
Write-Host "📤 Pushing new commits to remote..."
|
69
|
-
git push
|
70
|
-
}
|
71
|
-
|
72
|
-
# Verify push succeeded
|
73
|
-
if ($LASTEXITCODE -eq 0) {
|
74
|
-
Write-Host "✓ Branch pushed successfully" -ForegroundColor Green
|
75
|
-
} else {
|
76
|
-
Write-Host "❌ Push failed. Please resolve and try again." -ForegroundColor Red
|
77
|
-
exit 1
|
78
|
-
}
|
79
|
-
}
|
80
|
-
```
|
81
|
-
|
82
|
-
### 1a. Check Existing PR Status
|
83
|
-
|
84
|
-
**CRITICAL**: Always check if a PR already exists for this branch before creating a new one!
|
85
|
-
|
86
|
-
```powershell
|
87
|
-
# Check for existing PR (open or closed)
|
88
|
-
$ExistingPR = gh pr list --head $CurrentBranch --json number,state,url | ConvertFrom-Json
|
89
|
-
|
90
|
-
if ($ExistingPR) {
|
91
|
-
$PRNumber = $ExistingPR[0].number
|
92
|
-
$PRState = $ExistingPR[0].state
|
93
|
-
$PRUrl = $ExistingPR[0].url
|
94
|
-
}
|
95
|
-
```
|
96
|
-
|
97
|
-
**If PR exists and is OPEN**:
|
98
|
-
```
|
99
|
-
✓ Pull Request #5 already exists for this branch.
|
100
|
-
|
101
|
-
State: OPEN
|
102
|
-
URL: https://github.com/owner/repo/pull/5
|
103
|
-
|
104
|
-
New commits will automatically appear in the PR.
|
105
|
-
|
106
|
-
Options:
|
107
|
-
- Push new commits: git push
|
108
|
-
- Update PR description: gh pr edit 5 --body "new description"
|
109
|
-
- View PR: gh pr view --web
|
110
|
-
|
111
|
-
Continue anyway to update PR description? (y/n): _____
|
112
|
-
```
|
113
|
-
|
114
|
-
**If PR exists and is MERGED**:
|
115
|
-
```
|
116
|
-
✓ Pull Request #5 for this branch was already MERGED.
|
117
|
-
|
118
|
-
URL: https://github.com/owner/repo/pull/5
|
119
|
-
|
120
|
-
You have new commits since the merge.
|
121
|
-
|
122
|
-
Options:
|
123
|
-
1. Create NEW PR for additional changes
|
124
|
-
2. Switch to develop and create new feature branch
|
125
|
-
3. Cancel
|
126
|
-
|
127
|
-
Choice (1-3): _____
|
128
|
-
```
|
129
|
-
|
130
|
-
**If PR exists and is CLOSED (not merged)**:
|
131
|
-
```
|
132
|
-
⚠️ Pull Request #5 for this branch exists but was CLOSED (not merged).
|
133
|
-
|
134
|
-
URL: https://github.com/owner/repo/pull/5
|
135
|
-
|
136
|
-
Options:
|
137
|
-
1. Reopen existing PR: gh pr reopen 5
|
138
|
-
2. Create new PR (not recommended - will conflict)
|
139
|
-
3. Cancel
|
140
|
-
|
141
|
-
Choice (1-3): _____
|
142
|
-
```
|
143
|
-
|
144
|
-
### 2. Determine Base Branch
|
145
|
-
|
146
|
-
**Enhanced base branch detection with remote-first priority**:
|
147
|
-
|
148
|
-
```powershell
|
149
|
-
# Step 1: Find base branch that exists on REMOTE (preferred)
|
150
|
-
$BASE_BRANCH_REMOTE = $null
|
151
|
-
foreach ($base in @('develop', 'main', 'master')) {
|
152
|
-
$remote = git ls-remote --heads origin $base 2>$null | Select-String $base
|
153
|
-
if ($remote) {
|
154
|
-
$BASE_BRANCH_REMOTE = $base
|
155
|
-
break
|
156
|
-
}
|
157
|
-
}
|
158
|
-
|
159
|
-
# Step 2: If no remote base found, check LOCAL branches
|
160
|
-
$BASE_BRANCH_LOCAL = $null
|
161
|
-
if (-not $BASE_BRANCH_REMOTE) {
|
162
|
-
foreach ($base in @('develop', 'main', 'master')) {
|
163
|
-
if (git show-ref --verify --quiet "refs/heads/$base") {
|
164
|
-
$BASE_BRANCH_LOCAL = $base
|
165
|
-
break
|
166
|
-
}
|
167
|
-
}
|
168
|
-
}
|
169
|
-
```
|
170
|
-
|
171
|
-
**Present options to user**:
|
172
|
-
|
173
|
-
```powershell
|
174
|
-
if ($BASE_BRANCH_REMOTE) {
|
175
|
-
Write-Host "Detected base branches:"
|
176
|
-
Write-Host " Remote: $BASE_BRANCH_REMOTE (exists on origin)"
|
177
|
-
if ($BASE_BRANCH_LOCAL -and $BASE_BRANCH_LOCAL -ne $BASE_BRANCH_REMOTE) {
|
178
|
-
Write-Host " Local: $BASE_BRANCH_LOCAL (not pushed to remote)"
|
179
|
-
}
|
180
|
-
Write-Host ""
|
181
|
-
Write-Host "Creating PR requires a remote base branch."
|
182
|
-
Write-Host ""
|
183
|
-
Write-Host "Options:"
|
184
|
-
Write-Host " 1. Use existing remote: $BASE_BRANCH_REMOTE"
|
185
|
-
if ($BASE_BRANCH_REMOTE -eq 'main') {
|
186
|
-
Write-Host " ⚠️ WARNING: This will PR into your default/production branch" -ForegroundColor Yellow
|
187
|
-
}
|
188
|
-
Write-Host " 2. Use custom branch (specify name)"
|
189
|
-
Write-Host " 3. Cancel"
|
190
|
-
Write-Host ""
|
191
|
-
$choice = Read-Host "Your choice (1-3)"
|
192
|
-
|
193
|
-
switch ($choice) {
|
194
|
-
'1' {
|
195
|
-
$BASE_BRANCH = $BASE_BRANCH_REMOTE
|
196
|
-
if ($BASE_BRANCH -eq 'main') {
|
197
|
-
Write-Host "⚠️ WARNING: You're about to create a PR into 'main'" -ForegroundColor Yellow
|
198
|
-
Write-Host ""
|
199
|
-
Write-Host "This is your default/production branch. Are you sure?"
|
200
|
-
Write-Host ""
|
201
|
-
Write-Host " y - Yes, PR into main (use sparingly!)"
|
202
|
-
Write-Host " n - Cancel"
|
203
|
-
Write-Host ""
|
204
|
-
$confirm = Read-Host "Confirm (y/n)"
|
205
|
-
if ($confirm -ne 'y') {
|
206
|
-
Write-Host "PR creation cancelled."
|
207
|
-
exit 0
|
208
|
-
}
|
209
|
-
}
|
210
|
-
}
|
211
|
-
'2' {
|
212
|
-
$BASE_BRANCH = Read-Host "Enter base branch name"
|
213
|
-
# Check if it exists on remote
|
214
|
-
$remoteCheck = git ls-remote --heads origin $BASE_BRANCH 2>$null | Select-String $BASE_BRANCH
|
215
|
-
if (-not $remoteCheck) {
|
216
|
-
Write-Host "Branch '$BASE_BRANCH' doesn't exist on remote."
|
217
|
-
$create = Read-Host "Create it? (y/n)"
|
218
|
-
if ($create -eq 'y') {
|
219
|
-
git push origin $BASE_BRANCH
|
220
|
-
Write-Host "✓ Pushed $BASE_BRANCH to remote"
|
221
|
-
} else {
|
222
|
-
Write-Host "PR creation cancelled."
|
223
|
-
exit 0
|
224
|
-
}
|
225
|
-
}
|
226
|
-
}
|
227
|
-
default {
|
228
|
-
Write-Host "PR creation cancelled."
|
229
|
-
exit 0
|
230
|
-
}
|
231
|
-
}
|
232
|
-
} elseif ($BASE_BRANCH_LOCAL) {
|
233
|
-
Write-Host "Detected base branches:"
|
234
|
-
Write-Host " Local: $BASE_BRANCH_LOCAL (not pushed to remote yet)"
|
235
|
-
Write-Host ""
|
236
|
-
Write-Host "Options:"
|
237
|
-
Write-Host " 1. Push $BASE_BRANCH_LOCAL to remote and use it"
|
238
|
-
Write-Host " 2. Use custom branch (specify name)"
|
239
|
-
Write-Host " 3. Cancel"
|
240
|
-
Write-Host ""
|
241
|
-
$choice = Read-Host "Your choice (1-3)"
|
242
|
-
|
243
|
-
switch ($choice) {
|
244
|
-
'1' {
|
245
|
-
git push -u origin $BASE_BRANCH_LOCAL
|
246
|
-
Write-Host "✓ Pushed $BASE_BRANCH_LOCAL to origin"
|
247
|
-
$BASE_BRANCH = $BASE_BRANCH_LOCAL
|
248
|
-
}
|
249
|
-
'2' {
|
250
|
-
$BASE_BRANCH = Read-Host "Enter base branch name"
|
251
|
-
}
|
252
|
-
default {
|
253
|
-
Write-Host "PR creation cancelled."
|
254
|
-
exit 0
|
255
|
-
}
|
256
|
-
}
|
257
|
-
} else {
|
258
|
-
Write-Host "No base branches found (develop, main, or master)."
|
259
|
-
Write-Host ""
|
260
|
-
$BASE_BRANCH = Read-Host "Enter base branch name"
|
261
|
-
}
|
262
|
-
```
|
263
|
-
|
264
|
-
### 3. Analyze Commits Since Base Branch
|
265
|
-
|
266
|
-
**IMPORTANT**: Only analyze commits that will be included in THIS PR (commits since divergence from base branch). Do NOT include commits that are already in the base branch or from previous merged PRs.
|
267
|
-
|
268
|
-
Once base branch is confirmed, analyze commits:
|
269
|
-
|
270
|
-
```powershell
|
271
|
-
# Get commits since divergence (ONLY commits in this PR)
|
272
|
-
git log "$BASE_BRANCH..HEAD" --oneline
|
273
|
-
|
274
|
-
# Get full commit messages (ONLY for commits in this PR)
|
275
|
-
git log "$BASE_BRANCH..HEAD" --format="%s%n%b"
|
276
|
-
|
277
|
-
# Get file changes (ONLY changes in this PR)
|
278
|
-
git diff "$BASE_BRANCH...HEAD" --stat
|
279
|
-
```
|
280
|
-
|
281
|
-
**These are the ONLY commits to describe in the PR**. Previous work is already merged and documented in earlier PRs.
|
282
|
-
|
283
|
-
### 4. Detect Multi-Agent Collaboration
|
284
|
-
|
285
|
-
Check commit attributions to see if multiple agents contributed:
|
286
|
-
|
287
|
-
```powershell
|
288
|
-
# Extract agent attributions from commits
|
289
|
-
git log "$BASE_BRANCH..HEAD" --format="%b" | Select-String "via.*@"
|
290
|
-
```
|
291
|
-
|
292
|
-
**If multiple agents detected**:
|
293
|
-
- Note which agents contributed (e.g., "claude-code" and "github-copilot-cli")
|
294
|
-
- Highlight collaboration in PR description
|
295
|
-
|
296
|
-
### 5. Generate PR Description
|
297
|
-
|
298
|
-
**CRITICAL**: The PR description should ONLY cover the commits identified in Step 3 (commits since base branch). This PR is one modular piece of work - don't describe previous merged work.
|
299
|
-
|
300
|
-
Create a comprehensive PR description:
|
301
|
-
|
302
|
-
**Format**:
|
303
|
-
```markdown
|
304
|
-
## Summary
|
305
|
-
|
306
|
-
[1-3 sentence overview of what this PR accomplishes]
|
307
|
-
|
308
|
-
## Changes
|
309
|
-
|
310
|
-
[Bullet points of major changes, grouped by commit type]
|
311
|
-
|
312
|
-
- feat: [Features added]
|
313
|
-
- fix: [Bugs fixed]
|
314
|
-
- refactor: [Code improvements]
|
315
|
-
- docs: [Documentation updates]
|
316
|
-
|
317
|
-
## Testing
|
318
|
-
|
319
|
-
- [ ] Manual testing performed
|
320
|
-
- [ ] Existing tests pass
|
321
|
-
- [ ] New tests added (if applicable)
|
322
|
-
|
323
|
-
## Multi-Agent Collaboration
|
324
|
-
|
325
|
-
[If multiple agents detected]
|
326
|
-
This PR was developed collaboratively:
|
327
|
-
- **Claude Code** (claude-sonnet-4.5): [their contributions]
|
328
|
-
- **GitHub Copilot** (gpt-4): [their contributions]
|
329
|
-
|
330
|
-
See commit history for detailed attributions.
|
331
|
-
|
332
|
-
---
|
333
|
-
🤖 Generated with [agent-name]
|
334
|
-
```
|
335
|
-
|
336
|
-
**Example**:
|
337
|
-
```markdown
|
338
|
-
## Summary
|
339
|
-
|
340
|
-
Implements Phase 1 MVP with `/orient` command and modular kit system for multi-agent coordination.
|
341
|
-
|
342
|
-
## Changes
|
343
|
-
|
344
|
-
### Features
|
345
|
-
- Add `/orient` command for agent orientation (project-kit)
|
346
|
-
- Implement kit-aware installer with --kit flag support
|
347
|
-
- Add modular kit structure (project, git, multiagent)
|
348
|
-
- Auto-dependency inclusion (multiagent → project + git)
|
349
|
-
|
350
|
-
### Documentation
|
351
|
-
- Complete audit against WORKFLOW-PATHWAYS.md
|
352
|
-
- Implementation status matrix
|
353
|
-
- Phase roadmap documentation
|
354
|
-
|
355
|
-
## Testing
|
356
|
-
|
357
|
-
- [x] Manual testing performed
|
358
|
-
- [x] Dry-run installation preview works
|
359
|
-
- [x] Actual installation to vanilla project succeeds
|
360
|
-
- [x] Kit detection and validation functional
|
361
|
-
|
362
|
-
## Version Safety
|
363
|
-
|
364
|
-
✓ Zero vanilla files modified
|
365
|
-
✓ Additive-only pattern maintained
|
366
|
-
✓ Namespace separation enforced
|
367
|
-
|
368
|
-
---
|
369
|
-
🤖 Generated with GitHub Copilot CLI
|
370
|
-
```
|
371
|
-
|
372
|
-
### 6. Analyze Recent Activity
|
373
|
-
|
374
|
-
Check for collaboration indicators:
|
375
|
-
|
376
|
-
```powershell
|
377
|
-
# Check for collaboration directory
|
378
|
-
if (Test-Path "specs/*/collaboration/active") {
|
379
|
-
Write-Host "✓ Multi-agent collaboration structure detected"
|
380
|
-
|
381
|
-
# List active sessions
|
382
|
-
Get-ChildItem -Path specs/*/collaboration/active/sessions -Filter *.md -Recurse -ErrorAction SilentlyContinue
|
383
|
-
|
384
|
-
# List decisions
|
385
|
-
Get-ChildItem -Path specs/*/collaboration/active/decisions -Filter *.md -Recurse -ErrorAction SilentlyContinue
|
386
|
-
}
|
387
|
-
```
|
388
|
-
|
389
|
-
### 7. Present PR Details
|
390
|
-
|
391
|
-
Show the generated PR information:
|
392
|
-
|
393
|
-
```
|
394
|
-
===========================================================
|
395
|
-
Pull Request Preview:
|
396
|
-
===========================================================
|
397
|
-
|
398
|
-
Title: feat: Implement Phase 1 MVP - /orient and kit system
|
399
|
-
|
400
|
-
Base: main
|
401
|
-
Head: dev/001-starter-kits
|
402
|
-
|
403
|
-
Commits: 3
|
404
|
-
Files changed: 10 (+1456, -132)
|
405
|
-
|
406
|
-
Description:
|
407
|
-
[Generated description from step 4]
|
408
|
-
|
409
|
-
===========================================================
|
410
|
-
```
|
411
|
-
|
412
|
-
### 8. Confirm and Create PR
|
413
|
-
|
414
|
-
**Ask user**:
|
415
|
-
- **y** - Create PR
|
416
|
-
- **n** - Cancel
|
417
|
-
- **e** - Edit title or description
|
418
|
-
|
419
|
-
**If confirmed, create PR**:
|
420
|
-
```powershell
|
421
|
-
# Create PR using gh CLI
|
422
|
-
gh pr create `
|
423
|
-
--base $BASE_BRANCH `
|
424
|
-
--title "$PR_TITLE" `
|
425
|
-
--body "$PR_DESCRIPTION"
|
426
|
-
```
|
427
|
-
|
428
|
-
**Alternative method if gh CLI not available**:
|
429
|
-
```
|
430
|
-
Open PR manually:
|
431
|
-
https://github.com/[owner]/[repo]/compare/[base]...[head]
|
432
|
-
|
433
|
-
Use the generated description above.
|
434
|
-
```
|
435
|
-
|
436
|
-
### 9. Post-Creation Actions
|
437
|
-
|
438
|
-
After PR is created:
|
439
|
-
|
440
|
-
```powershell
|
441
|
-
# Get PR number
|
442
|
-
$PR_NUM = gh pr view --json number -q .number
|
443
|
-
|
444
|
-
Write-Host "✓ Pull Request created: #$PR_NUM"
|
445
|
-
Write-Host ""
|
446
|
-
|
447
|
-
# Ask about branch auto-delete
|
448
|
-
Write-Host "Delete branch after merge? (y/n/later)"
|
449
|
-
$DELETE_CHOICE = Read-Host
|
450
|
-
|
451
|
-
if ($DELETE_CHOICE -eq 'y') {
|
452
|
-
gh pr edit $PR_NUM --delete-branch
|
453
|
-
Write-Host "✓ Branch will be auto-deleted after merge"
|
454
|
-
} elseif ($DELETE_CHOICE -eq 'later') {
|
455
|
-
Write-Host "You can enable this later with:"
|
456
|
-
Write-Host " gh pr edit $PR_NUM --delete-branch"
|
457
|
-
}
|
458
|
-
|
459
|
-
```powershell
|
460
|
-
# Get PR URL
|
461
|
-
$PR_URL = gh pr view --json url -q .url
|
462
|
-
|
463
|
-
Write-Host "✓ Pull Request created: $PR_URL"
|
464
|
-
|
465
|
-
# Show PR number and status
|
466
|
-
gh pr view
|
467
|
-
```
|
468
|
-
|
469
|
-
**Suggest next steps**:
|
470
|
-
- "PR created. Add reviewers with: `gh pr edit --add-reviewer <username>`"
|
471
|
-
- "Mark as draft with: `gh pr ready --undo`"
|
472
|
-
- "View PR: `gh pr view --web`"
|
473
|
-
|
474
|
-
## Important Notes
|
475
|
-
|
476
|
-
- **Review before creating**: Always show PR description for user approval
|
477
|
-
- **Don't auto-merge**: Never create and merge in one step
|
478
|
-
- **Check CI status**: Mention if there are failing checks
|
479
|
-
- **Link related issues**: If this closes an issue, add "Closes #123" to description
|
480
|
-
- **Draft PRs**: For work-in-progress, create as draft: `gh pr create --draft`
|
481
|
-
|
482
|
-
## Error Handling
|
483
|
-
|
484
|
-
**gh CLI not installed**:
|
485
|
-
```
|
486
|
-
GitHub CLI not found.
|
487
|
-
|
488
|
-
Install from: https://cli.github.com/
|
489
|
-
|
490
|
-
Or create PR manually at:
|
491
|
-
https://github.com/[owner]/[repo]/compare/[base]...[head]
|
492
|
-
```
|
493
|
-
|
494
|
-
**Not authenticated**:
|
495
|
-
```
|
496
|
-
Not authenticated with GitHub.
|
497
|
-
|
498
|
-
Run: gh auth login
|
499
|
-
```
|
500
|
-
|
501
|
-
**No commits**:
|
502
|
-
```
|
503
|
-
No commits to create PR from.
|
504
|
-
|
505
|
-
Current branch is up to date with base branch.
|
506
|
-
Make some commits first.
|
507
|
-
```
|
508
|
-
|
509
|
-
**PR already exists**:
|
510
|
-
```
|
511
|
-
Pull request already exists: #42
|
512
|
-
https://github.com/[owner]/[repo]/pull/42
|
513
|
-
|
514
|
-
Update it with: gh pr edit 42 --body "new description"
|
515
|
-
```
|
516
|
-
|
517
|
-
## Multi-Agent PR Workflow
|
518
|
-
|
519
|
-
When multiple agents collaborate:
|
520
|
-
|
521
|
-
1. **Detect collaboration**:
|
522
|
-
- Check commit attributions for multiple agents
|
523
|
-
- Look for collaboration/ directory structure
|
524
|
-
- Check for handoff documents
|
525
|
-
|
526
|
-
2. **Highlight contributions**:
|
527
|
-
```markdown
|
528
|
-
## Multi-Agent Collaboration
|
529
|
-
|
530
|
-
This PR was developed collaboratively:
|
531
|
-
|
532
|
-
### Claude Code (claude-sonnet-4.5)
|
533
|
-
- Implemented core /orient command
|
534
|
-
- Created kit-aware installer
|
535
|
-
- Wrote documentation and audit
|
536
|
-
|
537
|
-
### GitHub Copilot (gpt-4)
|
538
|
-
- Added PowerShell script variants
|
539
|
-
- Implemented error handling
|
540
|
-
- Created test cases
|
541
|
-
|
542
|
-
See individual commit messages for detailed attributions.
|
543
|
-
```
|
544
|
-
|
545
|
-
3. **Link to collaboration docs**:
|
546
|
-
- Reference session logs from specs/*/collaboration/
|
547
|
-
- Link to decision documents
|
548
|
-
- Mention any unresolved handoffs
|
549
|
-
|
550
|
-
## Example Workflow
|
551
|
-
|
552
|
-
```powershell
|
553
|
-
# User: /pr
|
554
|
-
|
555
|
-
# Agent checks prerequisites
|
556
|
-
> gh auth status
|
557
|
-
✓ Logged in to github.com as username
|
558
|
-
|
559
|
-
# Agent analyzes commits
|
560
|
-
> git log main..HEAD --oneline
|
561
|
-
53dd4ef feat: Implement Phase 1 MVP
|
562
|
-
0ad76b3 refactor: Move vanilla reference
|
563
|
-
81fdc9d docs: Add workflow pathways
|
564
|
-
|
565
|
-
# Agent generates description
|
566
|
-
[Shows generated PR description]
|
567
|
-
|
568
|
-
# Agent asks for confirmation
|
569
|
-
Create pull request? (y/n/e): y
|
570
|
-
|
571
|
-
# Agent creates PR
|
572
|
-
> gh pr create --base main --title "..." --body "..."
|
573
|
-
https://github.com/owner/repo/pull/123
|
574
|
-
|
575
|
-
✓ Pull Request created: #123
|
576
|
-
View: gh pr view --web
|
577
|
-
```
|
578
|
-
|
579
|
-
## Advanced Options
|
580
|
-
|
581
|
-
**Create draft PR**:
|
582
|
-
```powershell
|
583
|
-
gh pr create --draft `
|
584
|
-
--base main `
|
585
|
-
--title "WIP: Feature in progress" `
|
586
|
-
--body "..."
|
587
|
-
```
|
588
|
-
|
589
|
-
**Add reviewers**:
|
590
|
-
```powershell
|
591
|
-
gh pr create ... --reviewer username1,username2
|
592
|
-
```
|
593
|
-
|
594
|
-
**Add labels**:
|
595
|
-
```powershell
|
596
|
-
gh pr create ... --label "feature,multiagent"
|
597
|
-
```
|
598
|
-
|
599
|
-
**Auto-fill from template** (if .github/pull_request_template.md exists):
|
600
|
-
```powershell
|
601
|
-
# gh CLI will automatically use template
|
602
|
-
gh pr create
|
603
|
-
```
|