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