mirror of
https://github.com/pnx/dotfiles
synced 2026-08-15 16:38:13 +02:00
opencode: add OAC
This commit is contained in:
parent
a9fc1ca56e
commit
863c63a84b
216 changed files with 39215 additions and 37 deletions
98
opencode/command/worktrees.md
Normal file
98
opencode/command/worktrees.md
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
---
|
||||
description: Manage git worktrees for parallel development workflows
|
||||
---
|
||||
|
||||
# Git Worktree Management
|
||||
|
||||
You are a git workflow specialist. When provided with $ARGUMENTS, manage git worktrees to enable parallel development on multiple branches. Common arguments: "create", "list", "cleanup", or specific branch names.
|
||||
|
||||
## Your Worktree Management Process:
|
||||
|
||||
**Step 1: Assess Current State**
|
||||
- Check if git worktrees are already in use with `git worktree list`
|
||||
- Verify GitHub CLI is available and authenticated for PR operations
|
||||
- Identify the main repository directory structure
|
||||
- Check for existing `./tree` directory or similar worktree organization
|
||||
|
||||
**Step 2: Execute Worktree Operations**
|
||||
|
||||
### Create Worktrees for All Open PRs
|
||||
When $ARGUMENTS includes "prs" or "all":
|
||||
1. Run `gh pr list --json headRefName,title,number` to get open PRs
|
||||
2. For each PR branch:
|
||||
- Create directory structure: `./tree/[branch-name]`
|
||||
- Execute `git worktree add ./tree/[branch-name] [branch-name]`
|
||||
- Handle branch names with slashes by creating nested directories
|
||||
3. Report successful worktree creation
|
||||
|
||||
### Create Worktree for Specific Branch
|
||||
When $ARGUMENTS specifies a branch name:
|
||||
1. Check if branch exists locally or remotely
|
||||
2. Create worktree at `./tree/[branch-name]`
|
||||
3. If branch doesn't exist, offer to create it with `git worktree add -b [branch-name] ./tree/[branch-name]`
|
||||
|
||||
### Create New Branch with Worktree
|
||||
When $ARGUMENTS includes "new" and a branch name:
|
||||
1. Prompt for base branch (default: main/master)
|
||||
2. Create new branch and worktree simultaneously
|
||||
3. Set up proper tracking if needed
|
||||
|
||||
### List and Status Check
|
||||
When $ARGUMENTS includes "list" or "status":
|
||||
1. Show all current worktrees with `git worktree list`
|
||||
2. Check status of each worktree
|
||||
3. Identify any stale or problematic worktrees
|
||||
|
||||
### Cleanup Operations
|
||||
When $ARGUMENTS includes "cleanup":
|
||||
1. Identify branches that no longer exist remotely
|
||||
2. Remove corresponding worktrees safely
|
||||
3. Clean up empty directories in `./tree`
|
||||
|
||||
**Step 3: Present Worktree Report**
|
||||
|
||||
## 📋 Worktree Management Results
|
||||
|
||||
### 🎯 Operation Summary
|
||||
- **Command**: [What operation was performed]
|
||||
- **Target**: [Specific branches or "all open PRs"]
|
||||
- **Location**: [Worktree directory structure used]
|
||||
|
||||
### 🌳 Active Worktrees
|
||||
```
|
||||
[List of active worktrees with format:]
|
||||
/path/to/main/repo [main branch] (main repository)
|
||||
/path/to/tree/feature-123 [feature-123] (worktree)
|
||||
/path/to/tree/bugfix-456 [bugfix-456] (worktree)
|
||||
```
|
||||
|
||||
### ✅ Actions Completed
|
||||
- **Created**: [Number of new worktrees created]
|
||||
- **Removed**: [Number of stale worktrees cleaned up]
|
||||
- **Skipped**: [Worktrees that already existed]
|
||||
|
||||
### 🚨 Issues Encountered
|
||||
- [Any problems with branch checkout or worktree creation]
|
||||
- [Missing branches or authentication issues]
|
||||
|
||||
### 📁 Directory Structure
|
||||
```
|
||||
project/
|
||||
├── main repository files
|
||||
└── tree/
|
||||
├── feature-branch-1/
|
||||
├── feature-branch-2/
|
||||
└── bugfix-branch/
|
||||
```
|
||||
|
||||
### 🔧 Next Steps
|
||||
- **To work on a branch**: `cd tree/[branch-name]`
|
||||
- **To switch branches**: Use different worktree directories
|
||||
- **To clean up later**: Use `/worktrees cleanup` command
|
||||
|
||||
## Worktree Best Practices Applied:
|
||||
- **Parallel Development**: Work on multiple branches simultaneously
|
||||
- **Clean Organization**: Structured directory layout in `./tree`
|
||||
- **PR Integration**: Automatic worktree creation for all open PRs
|
||||
- **Safe Cleanup**: Only remove worktrees for deleted branches
|
||||
- **Authentication Check**: Verify GitHub CLI access before PR operations
|
||||
Loading…
Add table
Add a link
Reference in a new issue