aidevops 2.52.1 → 2.53.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 +1 -1
- package/VERSION +1 -1
- package/aidevops.sh +15 -9
- package/package.json +4 -4
- package/scripts/npm-postinstall.js +6 -7
- package/setup.sh +1 -1
- package/templates/deploy-templates.sh +144 -0
- package/templates/home/.agent/README.md +33 -0
- package/templates/home/AGENTS.md +96 -0
- package/templates/home/git/.agent/README.md +48 -0
- package/templates/home/git/AGENTS.md +97 -0
- package/templates/standard-functions.sh +179 -0
- package/templates/wordpress-performance-workflow.md +217 -0
- package/.agent/AGENTS.md +0 -614
- package/.agent/accounts.md +0 -65
- package/.agent/aidevops/add-new-mcp-to-aidevops.md +0 -456
- package/.agent/aidevops/api-integrations.md +0 -335
- package/.agent/aidevops/architecture.md +0 -510
- package/.agent/aidevops/configs.md +0 -274
- package/.agent/aidevops/docs.md +0 -244
- package/.agent/aidevops/extension.md +0 -311
- package/.agent/aidevops/mcp-integrations.md +0 -340
- package/.agent/aidevops/mcp-troubleshooting.md +0 -162
- package/.agent/aidevops/memory-patterns.md +0 -172
- package/.agent/aidevops/providers.md +0 -217
- package/.agent/aidevops/recommendations.md +0 -321
- package/.agent/aidevops/requirements.md +0 -301
- package/.agent/aidevops/resources.md +0 -214
- package/.agent/aidevops/security-requirements.md +0 -174
- package/.agent/aidevops/security.md +0 -350
- package/.agent/aidevops/service-links.md +0 -400
- package/.agent/aidevops/services.md +0 -357
- package/.agent/aidevops/setup.md +0 -153
- package/.agent/aidevops/troubleshooting.md +0 -389
- package/.agent/aidevops.md +0 -124
- package/.agent/build-plus.md +0 -244
- package/.agent/content/guidelines.md +0 -109
- package/.agent/content.md +0 -87
- package/.agent/health.md +0 -59
- package/.agent/legal.md +0 -59
- package/.agent/loop-state/full-loop.local.md +0 -16
- package/.agent/loop-state/ralph-loop.local.md +0 -10
- package/.agent/marketing.md +0 -440
- package/.agent/memory/README.md +0 -260
- package/.agent/onboarding.md +0 -796
- package/.agent/plan-plus.md +0 -245
- package/.agent/research.md +0 -100
- package/.agent/sales.md +0 -333
- package/.agent/scripts/101domains-helper.sh +0 -701
- package/.agent/scripts/add-missing-returns.sh +0 -140
- package/.agent/scripts/agent-browser-helper.sh +0 -311
- package/.agent/scripts/agno-setup.sh +0 -712
- package/.agent/scripts/ahrefs-mcp-wrapper.js +0 -168
- package/.agent/scripts/aidevops-update-check.sh +0 -71
- package/.agent/scripts/ampcode-cli.sh +0 -522
- package/.agent/scripts/auto-version-bump.sh +0 -156
- package/.agent/scripts/autogen-helper.sh +0 -512
- package/.agent/scripts/beads-sync-helper.sh +0 -596
- package/.agent/scripts/closte-helper.sh +0 -5
- package/.agent/scripts/cloudron-helper.sh +0 -321
- package/.agent/scripts/codacy-cli-chunked.sh +0 -581
- package/.agent/scripts/codacy-cli.sh +0 -442
- package/.agent/scripts/code-audit-helper.sh +0 -5
- package/.agent/scripts/coderabbit-cli.sh +0 -417
- package/.agent/scripts/coderabbit-pro-analysis.sh +0 -238
- package/.agent/scripts/commands/code-simplifier.md +0 -86
- package/.agent/scripts/commands/full-loop.md +0 -246
- package/.agent/scripts/commands/postflight-loop.md +0 -103
- package/.agent/scripts/commands/recall.md +0 -182
- package/.agent/scripts/commands/remember.md +0 -132
- package/.agent/scripts/commands/save-todo.md +0 -175
- package/.agent/scripts/commands/session-review.md +0 -154
- package/.agent/scripts/comprehensive-quality-fix.sh +0 -106
- package/.agent/scripts/context-builder-helper.sh +0 -522
- package/.agent/scripts/coolify-cli-helper.sh +0 -674
- package/.agent/scripts/coolify-helper.sh +0 -380
- package/.agent/scripts/crawl4ai-examples.sh +0 -401
- package/.agent/scripts/crawl4ai-helper.sh +0 -1078
- package/.agent/scripts/crewai-helper.sh +0 -681
- package/.agent/scripts/dev-browser-helper.sh +0 -513
- package/.agent/scripts/dns-helper.sh +0 -396
- package/.agent/scripts/domain-research-helper.sh +0 -917
- package/.agent/scripts/dspy-helper.sh +0 -285
- package/.agent/scripts/dspyground-helper.sh +0 -291
- package/.agent/scripts/eeat-score-helper.sh +0 -1242
- package/.agent/scripts/efficient-return-fix.sh +0 -92
- package/.agent/scripts/extract-opencode-prompts.sh +0 -128
- package/.agent/scripts/find-missing-returns.sh +0 -113
- package/.agent/scripts/fix-auth-headers.sh +0 -104
- package/.agent/scripts/fix-common-strings.sh +0 -254
- package/.agent/scripts/fix-content-type.sh +0 -100
- package/.agent/scripts/fix-error-messages.sh +0 -130
- package/.agent/scripts/fix-misplaced-returns.sh +0 -74
- package/.agent/scripts/fix-remaining-literals.sh +0 -152
- package/.agent/scripts/fix-return-statements.sh +0 -41
- package/.agent/scripts/fix-s131-default-cases.sh +0 -249
- package/.agent/scripts/fix-sc2155-simple.sh +0 -102
- package/.agent/scripts/fix-shellcheck-critical.sh +0 -187
- package/.agent/scripts/fix-string-literals.sh +0 -273
- package/.agent/scripts/full-loop-helper.sh +0 -773
- package/.agent/scripts/generate-opencode-agents.sh +0 -497
- package/.agent/scripts/generate-opencode-commands.sh +0 -1629
- package/.agent/scripts/generate-skills.sh +0 -366
- package/.agent/scripts/git-platforms-helper.sh +0 -640
- package/.agent/scripts/gitea-cli-helper.sh +0 -743
- package/.agent/scripts/github-cli-helper.sh +0 -702
- package/.agent/scripts/gitlab-cli-helper.sh +0 -682
- package/.agent/scripts/gsc-add-user-helper.sh +0 -325
- package/.agent/scripts/gsc-sitemap-helper.sh +0 -678
- package/.agent/scripts/hetzner-helper.sh +0 -485
- package/.agent/scripts/hostinger-helper.sh +0 -229
- package/.agent/scripts/keyword-research-helper.sh +0 -1815
- package/.agent/scripts/langflow-helper.sh +0 -544
- package/.agent/scripts/linkedin-automation.py +0 -241
- package/.agent/scripts/linter-manager.sh +0 -599
- package/.agent/scripts/linters-local.sh +0 -434
- package/.agent/scripts/list-keys-helper.sh +0 -488
- package/.agent/scripts/local-browser-automation.py +0 -339
- package/.agent/scripts/localhost-helper.sh +0 -744
- package/.agent/scripts/loop-common.sh +0 -806
- package/.agent/scripts/mainwp-helper.sh +0 -728
- package/.agent/scripts/markdown-formatter.sh +0 -338
- package/.agent/scripts/markdown-lint-fix.sh +0 -311
- package/.agent/scripts/mass-fix-returns.sh +0 -58
- package/.agent/scripts/mcp-diagnose.sh +0 -167
- package/.agent/scripts/mcp-inspector-helper.sh +0 -449
- package/.agent/scripts/memory-helper.sh +0 -650
- package/.agent/scripts/monitor-code-review.sh +0 -255
- package/.agent/scripts/onboarding-helper.sh +0 -706
- package/.agent/scripts/opencode-github-setup-helper.sh +0 -797
- package/.agent/scripts/opencode-test-helper.sh +0 -213
- package/.agent/scripts/pagespeed-helper.sh +0 -464
- package/.agent/scripts/pandoc-helper.sh +0 -362
- package/.agent/scripts/postflight-check.sh +0 -555
- package/.agent/scripts/pre-commit-hook.sh +0 -259
- package/.agent/scripts/pre-edit-check.sh +0 -169
- package/.agent/scripts/qlty-cli.sh +0 -356
- package/.agent/scripts/quality-cli-manager.sh +0 -525
- package/.agent/scripts/quality-feedback-helper.sh +0 -462
- package/.agent/scripts/quality-fix.sh +0 -263
- package/.agent/scripts/quality-loop-helper.sh +0 -1108
- package/.agent/scripts/ralph-loop-helper.sh +0 -836
- package/.agent/scripts/ralph-upstream-check.sh +0 -341
- package/.agent/scripts/secretlint-helper.sh +0 -847
- package/.agent/scripts/servers-helper.sh +0 -241
- package/.agent/scripts/ses-helper.sh +0 -619
- package/.agent/scripts/session-review-helper.sh +0 -404
- package/.agent/scripts/setup-linters-wizard.sh +0 -379
- package/.agent/scripts/setup-local-api-keys.sh +0 -330
- package/.agent/scripts/setup-mcp-integrations.sh +0 -472
- package/.agent/scripts/shared-constants.sh +0 -246
- package/.agent/scripts/site-crawler-helper.sh +0 -1487
- package/.agent/scripts/snyk-helper.sh +0 -940
- package/.agent/scripts/sonarcloud-autofix.sh +0 -193
- package/.agent/scripts/sonarcloud-cli.sh +0 -191
- package/.agent/scripts/sonarscanner-cli.sh +0 -455
- package/.agent/scripts/spaceship-helper.sh +0 -747
- package/.agent/scripts/stagehand-helper.sh +0 -321
- package/.agent/scripts/stagehand-python-helper.sh +0 -321
- package/.agent/scripts/stagehand-python-setup.sh +0 -441
- package/.agent/scripts/stagehand-setup.sh +0 -439
- package/.agent/scripts/system-cleanup.sh +0 -340
- package/.agent/scripts/terminal-title-helper.sh +0 -388
- package/.agent/scripts/terminal-title-setup.sh +0 -549
- package/.agent/scripts/test-stagehand-both-integration.sh +0 -317
- package/.agent/scripts/test-stagehand-integration.sh +0 -309
- package/.agent/scripts/test-stagehand-python-integration.sh +0 -341
- package/.agent/scripts/todo-ready.sh +0 -263
- package/.agent/scripts/tool-version-check.sh +0 -362
- package/.agent/scripts/toon-helper.sh +0 -469
- package/.agent/scripts/twilio-helper.sh +0 -917
- package/.agent/scripts/updown-helper.sh +0 -279
- package/.agent/scripts/validate-mcp-integrations.sh +0 -250
- package/.agent/scripts/validate-version-consistency.sh +0 -131
- package/.agent/scripts/vaultwarden-helper.sh +0 -597
- package/.agent/scripts/vercel-cli-helper.sh +0 -816
- package/.agent/scripts/verify-mirrors.sh +0 -169
- package/.agent/scripts/version-manager.sh +0 -831
- package/.agent/scripts/webhosting-helper.sh +0 -471
- package/.agent/scripts/webhosting-verify.sh +0 -238
- package/.agent/scripts/wordpress-mcp-helper.sh +0 -508
- package/.agent/scripts/worktree-helper.sh +0 -595
- package/.agent/scripts/worktree-sessions.sh +0 -577
- package/.agent/seo/dataforseo.md +0 -215
- package/.agent/seo/domain-research.md +0 -532
- package/.agent/seo/eeat-score.md +0 -659
- package/.agent/seo/google-search-console.md +0 -366
- package/.agent/seo/gsc-sitemaps.md +0 -282
- package/.agent/seo/keyword-research.md +0 -521
- package/.agent/seo/serper.md +0 -278
- package/.agent/seo/site-crawler.md +0 -387
- package/.agent/seo.md +0 -236
- package/.agent/services/accounting/quickfile.md +0 -159
- package/.agent/services/communications/telfon.md +0 -470
- package/.agent/services/communications/twilio.md +0 -569
- package/.agent/services/crm/fluentcrm.md +0 -449
- package/.agent/services/email/ses.md +0 -399
- package/.agent/services/hosting/101domains.md +0 -378
- package/.agent/services/hosting/closte.md +0 -177
- package/.agent/services/hosting/cloudflare.md +0 -251
- package/.agent/services/hosting/cloudron.md +0 -478
- package/.agent/services/hosting/dns-providers.md +0 -335
- package/.agent/services/hosting/domain-purchasing.md +0 -344
- package/.agent/services/hosting/hetzner.md +0 -327
- package/.agent/services/hosting/hostinger.md +0 -287
- package/.agent/services/hosting/localhost.md +0 -419
- package/.agent/services/hosting/spaceship.md +0 -353
- package/.agent/services/hosting/webhosting.md +0 -330
- package/.agent/social-media.md +0 -69
- package/.agent/templates/plans-template.md +0 -114
- package/.agent/templates/prd-template.md +0 -129
- package/.agent/templates/tasks-template.md +0 -108
- package/.agent/templates/todo-template.md +0 -89
- package/.agent/tools/ai-assistants/agno.md +0 -471
- package/.agent/tools/ai-assistants/capsolver.md +0 -326
- package/.agent/tools/ai-assistants/configuration.md +0 -221
- package/.agent/tools/ai-assistants/overview.md +0 -209
- package/.agent/tools/ai-assistants/status.md +0 -171
- package/.agent/tools/ai-assistants/windsurf.md +0 -193
- package/.agent/tools/ai-orchestration/autogen.md +0 -406
- package/.agent/tools/ai-orchestration/crewai.md +0 -445
- package/.agent/tools/ai-orchestration/langflow.md +0 -405
- package/.agent/tools/ai-orchestration/openprose.md +0 -487
- package/.agent/tools/ai-orchestration/overview.md +0 -362
- package/.agent/tools/ai-orchestration/packaging.md +0 -647
- package/.agent/tools/browser/agent-browser.md +0 -464
- package/.agent/tools/browser/browser-automation.md +0 -400
- package/.agent/tools/browser/chrome-devtools.md +0 -282
- package/.agent/tools/browser/crawl4ai-integration.md +0 -422
- package/.agent/tools/browser/crawl4ai-resources.md +0 -277
- package/.agent/tools/browser/crawl4ai-usage.md +0 -416
- package/.agent/tools/browser/crawl4ai.md +0 -585
- package/.agent/tools/browser/dev-browser.md +0 -341
- package/.agent/tools/browser/pagespeed.md +0 -260
- package/.agent/tools/browser/playwright.md +0 -266
- package/.agent/tools/browser/playwriter.md +0 -310
- package/.agent/tools/browser/stagehand-examples.md +0 -456
- package/.agent/tools/browser/stagehand-python.md +0 -483
- package/.agent/tools/browser/stagehand.md +0 -421
- package/.agent/tools/build-agent/agent-review.md +0 -224
- package/.agent/tools/build-agent/build-agent.md +0 -784
- package/.agent/tools/build-mcp/aidevops-plugin.md +0 -476
- package/.agent/tools/build-mcp/api-wrapper.md +0 -445
- package/.agent/tools/build-mcp/build-mcp.md +0 -240
- package/.agent/tools/build-mcp/deployment.md +0 -401
- package/.agent/tools/build-mcp/server-patterns.md +0 -632
- package/.agent/tools/build-mcp/transports.md +0 -366
- package/.agent/tools/code-review/auditing.md +0 -383
- package/.agent/tools/code-review/automation.md +0 -219
- package/.agent/tools/code-review/best-practices.md +0 -203
- package/.agent/tools/code-review/codacy.md +0 -151
- package/.agent/tools/code-review/code-simplifier.md +0 -174
- package/.agent/tools/code-review/code-standards.md +0 -309
- package/.agent/tools/code-review/coderabbit.md +0 -101
- package/.agent/tools/code-review/management.md +0 -155
- package/.agent/tools/code-review/qlty.md +0 -248
- package/.agent/tools/code-review/secretlint.md +0 -565
- package/.agent/tools/code-review/setup.md +0 -250
- package/.agent/tools/code-review/snyk.md +0 -563
- package/.agent/tools/code-review/tools.md +0 -230
- package/.agent/tools/content/summarize.md +0 -353
- package/.agent/tools/context/augment-context-engine.md +0 -468
- package/.agent/tools/context/context-builder-agent.md +0 -76
- package/.agent/tools/context/context-builder.md +0 -375
- package/.agent/tools/context/context7.md +0 -371
- package/.agent/tools/context/dspy.md +0 -302
- package/.agent/tools/context/dspyground.md +0 -374
- package/.agent/tools/context/llm-tldr.md +0 -219
- package/.agent/tools/context/osgrep.md +0 -488
- package/.agent/tools/context/prompt-optimization.md +0 -338
- package/.agent/tools/context/toon.md +0 -292
- package/.agent/tools/conversion/pandoc.md +0 -304
- package/.agent/tools/credentials/api-key-management.md +0 -154
- package/.agent/tools/credentials/api-key-setup.md +0 -224
- package/.agent/tools/credentials/environment-variables.md +0 -180
- package/.agent/tools/credentials/vaultwarden.md +0 -382
- package/.agent/tools/data-extraction/outscraper.md +0 -974
- package/.agent/tools/deployment/coolify-cli.md +0 -388
- package/.agent/tools/deployment/coolify-setup.md +0 -353
- package/.agent/tools/deployment/coolify.md +0 -345
- package/.agent/tools/deployment/vercel.md +0 -390
- package/.agent/tools/git/authentication.md +0 -132
- package/.agent/tools/git/gitea-cli.md +0 -193
- package/.agent/tools/git/github-actions.md +0 -207
- package/.agent/tools/git/github-cli.md +0 -223
- package/.agent/tools/git/gitlab-cli.md +0 -190
- package/.agent/tools/git/opencode-github-security.md +0 -350
- package/.agent/tools/git/opencode-github.md +0 -328
- package/.agent/tools/git/opencode-gitlab.md +0 -252
- package/.agent/tools/git/security.md +0 -196
- package/.agent/tools/git.md +0 -207
- package/.agent/tools/opencode/oh-my-opencode.md +0 -375
- package/.agent/tools/opencode/opencode-anthropic-auth.md +0 -446
- package/.agent/tools/opencode/opencode.md +0 -651
- package/.agent/tools/social-media/bird.md +0 -437
- package/.agent/tools/task-management/beads.md +0 -336
- package/.agent/tools/terminal/terminal-title.md +0 -251
- package/.agent/tools/ui/shadcn.md +0 -196
- package/.agent/tools/ui/ui-skills.md +0 -115
- package/.agent/tools/wordpress/localwp.md +0 -311
- package/.agent/tools/wordpress/mainwp.md +0 -391
- package/.agent/tools/wordpress/scf.md +0 -527
- package/.agent/tools/wordpress/wp-admin.md +0 -729
- package/.agent/tools/wordpress/wp-dev.md +0 -940
- package/.agent/tools/wordpress/wp-preferred.md +0 -398
- package/.agent/tools/wordpress.md +0 -95
- package/.agent/workflows/branch/bugfix.md +0 -63
- package/.agent/workflows/branch/chore.md +0 -95
- package/.agent/workflows/branch/experiment.md +0 -115
- package/.agent/workflows/branch/feature.md +0 -59
- package/.agent/workflows/branch/hotfix.md +0 -98
- package/.agent/workflows/branch/refactor.md +0 -92
- package/.agent/workflows/branch/release.md +0 -96
- package/.agent/workflows/branch.md +0 -347
- package/.agent/workflows/bug-fixing.md +0 -267
- package/.agent/workflows/changelog.md +0 -129
- package/.agent/workflows/code-audit-remote.md +0 -279
- package/.agent/workflows/conversation-starter.md +0 -69
- package/.agent/workflows/error-feedback.md +0 -578
- package/.agent/workflows/feature-development.md +0 -355
- package/.agent/workflows/git-workflow.md +0 -702
- package/.agent/workflows/multi-repo-workspace.md +0 -268
- package/.agent/workflows/plans.md +0 -709
- package/.agent/workflows/postflight.md +0 -604
- package/.agent/workflows/pr.md +0 -571
- package/.agent/workflows/preflight.md +0 -278
- package/.agent/workflows/ralph-loop.md +0 -773
- package/.agent/workflows/release.md +0 -498
- package/.agent/workflows/session-manager.md +0 -254
- package/.agent/workflows/session-review.md +0 -311
- package/.agent/workflows/sql-migrations.md +0 -631
- package/.agent/workflows/version-bump.md +0 -283
- package/.agent/workflows/wiki-update.md +0 -333
- package/.agent/workflows/worktree.md +0 -477
|
@@ -1,477 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Parallel branch development with git worktrees
|
|
3
|
-
mode: subagent
|
|
4
|
-
tools:
|
|
5
|
-
read: true
|
|
6
|
-
write: false
|
|
7
|
-
edit: false
|
|
8
|
-
bash: true
|
|
9
|
-
glob: true
|
|
10
|
-
grep: true
|
|
11
|
-
webfetch: false
|
|
12
|
-
task: false
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
# Git Worktree Workflow
|
|
16
|
-
|
|
17
|
-
<!-- AI-CONTEXT-START -->
|
|
18
|
-
|
|
19
|
-
## Quick Reference
|
|
20
|
-
|
|
21
|
-
- **Purpose**: Enable parallel work on multiple branches without conflicts
|
|
22
|
-
- **Problem solved**: Branch switching affects all terminal tabs/sessions
|
|
23
|
-
- **Solution**: Separate working directories, each on its own branch
|
|
24
|
-
- **Core principle**: Main repo (`~/Git/{repo}/`) ALWAYS stays on `main`
|
|
25
|
-
|
|
26
|
-
**Key Commands**:
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
# Create worktree for a branch
|
|
30
|
-
~/.aidevops/agents/scripts/worktree-helper.sh add feature/my-feature
|
|
31
|
-
|
|
32
|
-
# List all worktrees
|
|
33
|
-
~/.aidevops/agents/scripts/worktree-helper.sh list
|
|
34
|
-
|
|
35
|
-
# Remove worktree (keeps branch)
|
|
36
|
-
~/.aidevops/agents/scripts/worktree-helper.sh remove feature/my-feature
|
|
37
|
-
|
|
38
|
-
# Clean up merged worktrees
|
|
39
|
-
~/.aidevops/agents/scripts/worktree-helper.sh clean
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
**Directory Structure**:
|
|
43
|
-
|
|
44
|
-
```text
|
|
45
|
-
~/Git/myrepo/ # Main worktree (main branch)
|
|
46
|
-
~/Git/myrepo-feature-auth/ # Linked worktree (feature/auth)
|
|
47
|
-
~/Git/myrepo-bugfix-login/ # Linked worktree (bugfix/login)
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
<!-- AI-CONTEXT-END -->
|
|
51
|
-
|
|
52
|
-
## Why Worktrees?
|
|
53
|
-
|
|
54
|
-
### The Problem
|
|
55
|
-
|
|
56
|
-
Standard git workflow has one working directory per clone:
|
|
57
|
-
|
|
58
|
-
```text
|
|
59
|
-
Terminal 1: ~/Git/myrepo (feature/auth)
|
|
60
|
-
Terminal 2: ~/Git/myrepo (feature/auth) ← Same directory!
|
|
61
|
-
Terminal 3: ~/Git/myrepo (feature/auth) ← All affected by branch switch
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
When you `git checkout bugfix/login` in Terminal 1, **all terminals** now see `bugfix/login`. This causes:
|
|
65
|
-
|
|
66
|
-
- Lost context in other sessions
|
|
67
|
-
- Uncommitted changes conflicts
|
|
68
|
-
- AI assistants confused about which branch they're on
|
|
69
|
-
- Interrupted parallel work
|
|
70
|
-
|
|
71
|
-
### The Solution
|
|
72
|
-
|
|
73
|
-
Git worktrees give each branch its own directory:
|
|
74
|
-
|
|
75
|
-
```text
|
|
76
|
-
Terminal 1: ~/Git/myrepo/ (main)
|
|
77
|
-
Terminal 2: ~/Git/myrepo-feature-auth/ (feature/auth)
|
|
78
|
-
Terminal 3: ~/Git/myrepo-bugfix-login/ (bugfix/login)
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
Each terminal/session is completely independent. No interference.
|
|
82
|
-
|
|
83
|
-
## How Worktrees Work
|
|
84
|
-
|
|
85
|
-
### Shared Git Database
|
|
86
|
-
|
|
87
|
-
All worktrees share the same `.git` database:
|
|
88
|
-
|
|
89
|
-
- **Commits** - All commits visible in all worktrees
|
|
90
|
-
- **Branches** - All branches accessible from any worktree
|
|
91
|
-
- **Stashes** - Shared across worktrees
|
|
92
|
-
- **Remotes** - Same remote configuration
|
|
93
|
-
- **Hooks** - Shared hooks
|
|
94
|
-
|
|
95
|
-
### Independent Working Directories
|
|
96
|
-
|
|
97
|
-
Each worktree has its own:
|
|
98
|
-
|
|
99
|
-
- **Working files** - Different file states
|
|
100
|
-
- **Index/staging** - Independent staging areas
|
|
101
|
-
- **HEAD** - Points to different branches
|
|
102
|
-
- **Untracked files** - Isolated per worktree
|
|
103
|
-
|
|
104
|
-
## Workflow Patterns
|
|
105
|
-
|
|
106
|
-
### Pattern 1: Parallel Feature Development
|
|
107
|
-
|
|
108
|
-
Working on multiple features simultaneously:
|
|
109
|
-
|
|
110
|
-
```bash
|
|
111
|
-
# Main repo stays on main for reference
|
|
112
|
-
cd ~/Git/myrepo
|
|
113
|
-
git checkout main
|
|
114
|
-
|
|
115
|
-
# Create worktree for feature A
|
|
116
|
-
worktree-helper.sh add feature/user-auth
|
|
117
|
-
# Opens: ~/Git/myrepo-feature-user-auth/
|
|
118
|
-
|
|
119
|
-
# Create worktree for feature B
|
|
120
|
-
worktree-helper.sh add feature/api-v2
|
|
121
|
-
# Opens: ~/Git/myrepo-feature-api-v2/
|
|
122
|
-
|
|
123
|
-
# Work on each in separate terminals/editors
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
### Pattern 2: Quick Bug Fix During Feature Work
|
|
127
|
-
|
|
128
|
-
Interrupt feature work for urgent bug:
|
|
129
|
-
|
|
130
|
-
```bash
|
|
131
|
-
# Currently in feature worktree
|
|
132
|
-
pwd # ~/Git/myrepo-feature-auth/
|
|
133
|
-
|
|
134
|
-
# Create worktree for hotfix (don't leave feature)
|
|
135
|
-
worktree-helper.sh add hotfix/security-patch
|
|
136
|
-
|
|
137
|
-
# Open new terminal
|
|
138
|
-
cd ~/Git/myrepo-hotfix-security-patch/
|
|
139
|
-
# Fix bug, commit, push, PR
|
|
140
|
-
|
|
141
|
-
# Return to feature work - nothing changed
|
|
142
|
-
cd ~/Git/myrepo-feature-auth/
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
### Pattern 3: Code Review While Developing
|
|
146
|
-
|
|
147
|
-
Review PR without losing your work:
|
|
148
|
-
|
|
149
|
-
```bash
|
|
150
|
-
# Currently working on feature
|
|
151
|
-
pwd # ~/Git/myrepo-feature-auth/
|
|
152
|
-
|
|
153
|
-
# Create worktree for PR review
|
|
154
|
-
git fetch origin
|
|
155
|
-
worktree-helper.sh add pr-123-review origin/feature/other-feature
|
|
156
|
-
|
|
157
|
-
# Review in separate directory
|
|
158
|
-
cd ~/Git/myrepo-pr-123-review/
|
|
159
|
-
# Review, test, comment
|
|
160
|
-
|
|
161
|
-
# Clean up after review
|
|
162
|
-
worktree-helper.sh remove pr-123-review
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
### Pattern 4: Multiple AI Sessions
|
|
166
|
-
|
|
167
|
-
Each OpenCode/Claude session in its own worktree:
|
|
168
|
-
|
|
169
|
-
```bash
|
|
170
|
-
# Session 1: Main development
|
|
171
|
-
opencode ~/Git/myrepo-feature-auth/
|
|
172
|
-
|
|
173
|
-
# Session 2: Bug investigation
|
|
174
|
-
opencode ~/Git/myrepo-bugfix-login/
|
|
175
|
-
|
|
176
|
-
# Session 3: Documentation
|
|
177
|
-
opencode ~/Git/myrepo-chore-docs/
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
Each AI session has full context of its branch without conflicts.
|
|
181
|
-
|
|
182
|
-
## Commands Reference
|
|
183
|
-
|
|
184
|
-
### Create Worktree
|
|
185
|
-
|
|
186
|
-
```bash
|
|
187
|
-
# Auto-generate path from branch name
|
|
188
|
-
worktree-helper.sh add feature/my-feature
|
|
189
|
-
# Creates: ~/Git/{repo}-feature-my-feature/
|
|
190
|
-
|
|
191
|
-
# Specify custom path
|
|
192
|
-
worktree-helper.sh add feature/my-feature ~/Projects/my-feature
|
|
193
|
-
|
|
194
|
-
# Create worktree for new branch (branch created automatically)
|
|
195
|
-
worktree-helper.sh add feature/new-feature
|
|
196
|
-
|
|
197
|
-
# Create worktree for existing branch
|
|
198
|
-
worktree-helper.sh add bugfix/existing-bug
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
### List Worktrees
|
|
202
|
-
|
|
203
|
-
```bash
|
|
204
|
-
worktree-helper.sh list
|
|
205
|
-
|
|
206
|
-
# Output:
|
|
207
|
-
# Git Worktrees:
|
|
208
|
-
#
|
|
209
|
-
# main
|
|
210
|
-
# /Users/you/Git/myrepo
|
|
211
|
-
#
|
|
212
|
-
# feature/auth (merged)
|
|
213
|
-
# /Users/you/Git/myrepo-feature-auth
|
|
214
|
-
#
|
|
215
|
-
# bugfix/login ← current
|
|
216
|
-
# /Users/you/Git/myrepo-bugfix-login
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
### Remove Worktree
|
|
220
|
-
|
|
221
|
-
```bash
|
|
222
|
-
# By path
|
|
223
|
-
worktree-helper.sh remove ~/Git/myrepo-feature-auth
|
|
224
|
-
|
|
225
|
-
# By branch name
|
|
226
|
-
worktree-helper.sh remove feature/auth
|
|
227
|
-
|
|
228
|
-
# Note: This removes the directory, NOT the branch
|
|
229
|
-
# To also delete the branch:
|
|
230
|
-
git branch -d feature/auth
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
### Clean Up Merged Worktrees
|
|
234
|
-
|
|
235
|
-
```bash
|
|
236
|
-
worktree-helper.sh clean
|
|
237
|
-
|
|
238
|
-
# Finds worktrees for branches merged into main
|
|
239
|
-
# Prompts before removing
|
|
240
|
-
```
|
|
241
|
-
|
|
242
|
-
### Check Status
|
|
243
|
-
|
|
244
|
-
```bash
|
|
245
|
-
worktree-helper.sh status
|
|
246
|
-
|
|
247
|
-
# Output:
|
|
248
|
-
# Current Worktree Status:
|
|
249
|
-
#
|
|
250
|
-
# Repository: myrepo
|
|
251
|
-
# Branch: feature/auth
|
|
252
|
-
# Path: /Users/you/Git/myrepo-feature-auth
|
|
253
|
-
# Type: Linked worktree
|
|
254
|
-
#
|
|
255
|
-
# Total worktrees: 3
|
|
256
|
-
```
|
|
257
|
-
|
|
258
|
-
## Integration with aidevops
|
|
259
|
-
|
|
260
|
-
### Pre-Edit Check Awareness
|
|
261
|
-
|
|
262
|
-
The `pre-edit-check.sh` script works in any worktree:
|
|
263
|
-
|
|
264
|
-
```bash
|
|
265
|
-
~/.aidevops/agents/scripts/pre-edit-check.sh
|
|
266
|
-
# Works correctly whether in main or linked worktree
|
|
267
|
-
```
|
|
268
|
-
|
|
269
|
-
### Session Naming
|
|
270
|
-
|
|
271
|
-
When using OpenCode with worktrees, session names auto-sync:
|
|
272
|
-
|
|
273
|
-
```bash
|
|
274
|
-
# In ~/Git/myrepo-feature-auth/
|
|
275
|
-
# Session name: myrepo/feature/auth
|
|
276
|
-
|
|
277
|
-
# In ~/Git/myrepo-bugfix-login/
|
|
278
|
-
# Session name: myrepo/bugfix/login
|
|
279
|
-
```
|
|
280
|
-
|
|
281
|
-
### Terminal Tab Titles
|
|
282
|
-
|
|
283
|
-
Terminal tabs show repo/branch context:
|
|
284
|
-
|
|
285
|
-
```text
|
|
286
|
-
Tab 1: myrepo/main
|
|
287
|
-
Tab 2: myrepo/feature/auth
|
|
288
|
-
Tab 3: myrepo/bugfix/login
|
|
289
|
-
```
|
|
290
|
-
|
|
291
|
-
### Session Recovery
|
|
292
|
-
|
|
293
|
-
Find OpenCode sessions associated with worktrees:
|
|
294
|
-
|
|
295
|
-
```bash
|
|
296
|
-
# List worktrees with likely matching sessions
|
|
297
|
-
~/.aidevops/agents/scripts/worktree-sessions.sh list
|
|
298
|
-
|
|
299
|
-
# Interactive: select worktree and open in OpenCode
|
|
300
|
-
~/.aidevops/agents/scripts/worktree-sessions.sh open
|
|
301
|
-
```
|
|
302
|
-
|
|
303
|
-
**How session matching works**:
|
|
304
|
-
|
|
305
|
-
Sessions are scored based on:
|
|
306
|
-
- **+100 pts**: Exact branch name in session title
|
|
307
|
-
- **+80 pts**: Branch slug (e.g., `feature-auth`) in title
|
|
308
|
-
- **+60 pts**: Branch name without type prefix in title
|
|
309
|
-
- **+20 pts**: Each key term from branch name found in title
|
|
310
|
-
- **+40 pts**: Session created within 1 hour of branch creation
|
|
311
|
-
- **+20 pts**: Session created within 4 hours of branch creation
|
|
312
|
-
|
|
313
|
-
**Confidence levels**:
|
|
314
|
-
- **High (80+)**: Very likely the correct session
|
|
315
|
-
- **Medium (40-79)**: Probably related
|
|
316
|
-
- **Low (<40)**: Possible match
|
|
317
|
-
|
|
318
|
-
**Best practice**: Always use `session-rename_sync_branch` tool after creating branches. This syncs the session name with the branch name, making future lookups reliable.
|
|
319
|
-
|
|
320
|
-
## Best Practices
|
|
321
|
-
|
|
322
|
-
### 1. ALWAYS Keep Main Repo on Main (Critical)
|
|
323
|
-
|
|
324
|
-
```bash
|
|
325
|
-
# Main repo directory MUST stay on main branch
|
|
326
|
-
~/Git/myrepo/ → main branch ONLY (never checkout feature branches here)
|
|
327
|
-
|
|
328
|
-
# All feature work in linked worktrees
|
|
329
|
-
~/Git/myrepo-feature-*/ → feature branches
|
|
330
|
-
```
|
|
331
|
-
|
|
332
|
-
**Why this is critical**: If the main repo is left on a feature branch:
|
|
333
|
-
- Next session inherits wrong branch state
|
|
334
|
-
- Uncommitted changes block branch switches
|
|
335
|
-
- "Your local changes would be overwritten" errors occur
|
|
336
|
-
- Parallel workflow assumptions break
|
|
337
|
-
|
|
338
|
-
**Never use `git checkout -b` in the main repo directory.** Always use worktrees.
|
|
339
|
-
|
|
340
|
-
### 2. Name Worktrees Consistently
|
|
341
|
-
|
|
342
|
-
The helper auto-generates paths:
|
|
343
|
-
|
|
344
|
-
```text
|
|
345
|
-
Branch: feature/user-auth
|
|
346
|
-
Path: ~/Git/{repo}-feature-user-auth/
|
|
347
|
-
|
|
348
|
-
Branch: bugfix/login-timeout
|
|
349
|
-
Path: ~/Git/{repo}-bugfix-login-timeout/
|
|
350
|
-
```
|
|
351
|
-
|
|
352
|
-
### 3. Clean Up After Merging
|
|
353
|
-
|
|
354
|
-
```bash
|
|
355
|
-
# After PR merged
|
|
356
|
-
worktree-helper.sh remove feature/completed
|
|
357
|
-
git branch -d feature/completed
|
|
358
|
-
|
|
359
|
-
# Or batch cleanup
|
|
360
|
-
worktree-helper.sh clean
|
|
361
|
-
```
|
|
362
|
-
|
|
363
|
-
### Squash Merge Detection
|
|
364
|
-
|
|
365
|
-
The `clean` command detects merged branches two ways:
|
|
366
|
-
|
|
367
|
-
1. **Traditional merges**: Uses `git branch --merged`
|
|
368
|
-
2. **Squash merges**: Checks if remote branch was deleted after PR merge
|
|
369
|
-
|
|
370
|
-
The command runs `git fetch --prune` automatically to detect deleted remote branches.
|
|
371
|
-
|
|
372
|
-
**Manual cleanup** if needed:
|
|
373
|
-
|
|
374
|
-
```bash
|
|
375
|
-
# Force remove worktree
|
|
376
|
-
git worktree remove --force ~/Git/myrepo-feature-old
|
|
377
|
-
|
|
378
|
-
# Delete local branch
|
|
379
|
-
git branch -D feature/old
|
|
380
|
-
```
|
|
381
|
-
|
|
382
|
-
### 4. Don't Checkout Same Branch in Multiple Worktrees
|
|
383
|
-
|
|
384
|
-
Git prevents this - each branch can only be checked out in one worktree:
|
|
385
|
-
|
|
386
|
-
```bash
|
|
387
|
-
worktree-helper.sh add feature/auth
|
|
388
|
-
# Creates worktree
|
|
389
|
-
|
|
390
|
-
worktree-helper.sh add feature/auth
|
|
391
|
-
# Error: branch already checked out in another worktree
|
|
392
|
-
```
|
|
393
|
-
|
|
394
|
-
## Troubleshooting
|
|
395
|
-
|
|
396
|
-
### "Branch is already checked out"
|
|
397
|
-
|
|
398
|
-
```bash
|
|
399
|
-
# Find where branch is checked out
|
|
400
|
-
git worktree list | grep feature/auth
|
|
401
|
-
|
|
402
|
-
# Either use that worktree or remove it first
|
|
403
|
-
worktree-helper.sh remove feature/auth
|
|
404
|
-
```
|
|
405
|
-
|
|
406
|
-
### "Worktree path already exists"
|
|
407
|
-
|
|
408
|
-
```bash
|
|
409
|
-
# Directory exists but isn't a worktree
|
|
410
|
-
rm -rf ~/Git/myrepo-feature-auth # If safe to delete
|
|
411
|
-
worktree-helper.sh add feature/auth
|
|
412
|
-
```
|
|
413
|
-
|
|
414
|
-
### Stale Worktree References
|
|
415
|
-
|
|
416
|
-
```bash
|
|
417
|
-
# If worktree directory was deleted manually
|
|
418
|
-
git worktree prune
|
|
419
|
-
|
|
420
|
-
# Then recreate if needed
|
|
421
|
-
worktree-helper.sh add feature/auth
|
|
422
|
-
```
|
|
423
|
-
|
|
424
|
-
### Worktree in Detached HEAD
|
|
425
|
-
|
|
426
|
-
```bash
|
|
427
|
-
# Check status
|
|
428
|
-
cd ~/Git/myrepo-feature-auth
|
|
429
|
-
git status # Shows detached HEAD
|
|
430
|
-
|
|
431
|
-
# Reattach to branch
|
|
432
|
-
git checkout feature/auth
|
|
433
|
-
```
|
|
434
|
-
|
|
435
|
-
### Worktree Deleted Mid-Session
|
|
436
|
-
|
|
437
|
-
If a worktree directory is removed (e.g., PR closed, manual deletion, cleanup script):
|
|
438
|
-
|
|
439
|
-
```bash
|
|
440
|
-
# 1. Check if branch still exists locally
|
|
441
|
-
git branch --list feature/my-feature
|
|
442
|
-
|
|
443
|
-
# 2. If branch exists, recreate worktree
|
|
444
|
-
worktree-helper.sh add feature/my-feature
|
|
445
|
-
|
|
446
|
-
# 3. If branch was deleted remotely but you have local changes
|
|
447
|
-
git fetch origin
|
|
448
|
-
git checkout -b feature/my-feature origin/feature/my-feature 2>/dev/null || \
|
|
449
|
-
git checkout -b feature/my-feature
|
|
450
|
-
worktree-helper.sh add feature/my-feature
|
|
451
|
-
|
|
452
|
-
# 4. Restore uncommitted changes from stash (if any were saved)
|
|
453
|
-
git stash list
|
|
454
|
-
git stash pop
|
|
455
|
-
```
|
|
456
|
-
|
|
457
|
-
**Session continuity**: After recreating the worktree, use `session-rename_sync_branch` tool to re-sync the OpenCode session name with the branch.
|
|
458
|
-
|
|
459
|
-
**Prevention**: Before closing a PR or deleting a branch, ensure no active sessions are using that worktree. Use `worktree-sessions.sh list` to check.
|
|
460
|
-
|
|
461
|
-
## Comparison: Worktrees vs Alternatives
|
|
462
|
-
|
|
463
|
-
| Approach | Pros | Cons |
|
|
464
|
-
|----------|------|------|
|
|
465
|
-
| **Worktrees** | Shared history, disk efficient, native git | Learning curve |
|
|
466
|
-
| **Multiple clones** | Simple, fully isolated | Disk heavy, history not shared |
|
|
467
|
-
| **Stashing** | Quick, no extra directories | Easy to lose work, context switching |
|
|
468
|
-
| **Branch switching** | Simple | Affects all sessions |
|
|
469
|
-
|
|
470
|
-
## Related Workflows
|
|
471
|
-
|
|
472
|
-
| Workflow | When to Read |
|
|
473
|
-
|----------|--------------|
|
|
474
|
-
| `git-workflow.md` | Branch naming, commit conventions |
|
|
475
|
-
| `branch.md` | Branch type selection |
|
|
476
|
-
| `multi-repo-workspace.md` | Multiple repositories |
|
|
477
|
-
| `pr.md` | Pull request creation |
|