aidevops 2.52.1

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 (329) hide show
  1. package/.agent/AGENTS.md +614 -0
  2. package/.agent/accounts.md +65 -0
  3. package/.agent/aidevops/add-new-mcp-to-aidevops.md +456 -0
  4. package/.agent/aidevops/api-integrations.md +335 -0
  5. package/.agent/aidevops/architecture.md +510 -0
  6. package/.agent/aidevops/configs.md +274 -0
  7. package/.agent/aidevops/docs.md +244 -0
  8. package/.agent/aidevops/extension.md +311 -0
  9. package/.agent/aidevops/mcp-integrations.md +340 -0
  10. package/.agent/aidevops/mcp-troubleshooting.md +162 -0
  11. package/.agent/aidevops/memory-patterns.md +172 -0
  12. package/.agent/aidevops/providers.md +217 -0
  13. package/.agent/aidevops/recommendations.md +321 -0
  14. package/.agent/aidevops/requirements.md +301 -0
  15. package/.agent/aidevops/resources.md +214 -0
  16. package/.agent/aidevops/security-requirements.md +174 -0
  17. package/.agent/aidevops/security.md +350 -0
  18. package/.agent/aidevops/service-links.md +400 -0
  19. package/.agent/aidevops/services.md +357 -0
  20. package/.agent/aidevops/setup.md +153 -0
  21. package/.agent/aidevops/troubleshooting.md +389 -0
  22. package/.agent/aidevops.md +124 -0
  23. package/.agent/build-plus.md +244 -0
  24. package/.agent/content/guidelines.md +109 -0
  25. package/.agent/content.md +87 -0
  26. package/.agent/health.md +59 -0
  27. package/.agent/legal.md +59 -0
  28. package/.agent/loop-state/full-loop.local.md +16 -0
  29. package/.agent/loop-state/ralph-loop.local.md +10 -0
  30. package/.agent/marketing.md +440 -0
  31. package/.agent/memory/README.md +260 -0
  32. package/.agent/onboarding.md +796 -0
  33. package/.agent/plan-plus.md +245 -0
  34. package/.agent/research.md +100 -0
  35. package/.agent/sales.md +333 -0
  36. package/.agent/scripts/101domains-helper.sh +701 -0
  37. package/.agent/scripts/add-missing-returns.sh +140 -0
  38. package/.agent/scripts/agent-browser-helper.sh +311 -0
  39. package/.agent/scripts/agno-setup.sh +712 -0
  40. package/.agent/scripts/ahrefs-mcp-wrapper.js +168 -0
  41. package/.agent/scripts/aidevops-update-check.sh +71 -0
  42. package/.agent/scripts/ampcode-cli.sh +522 -0
  43. package/.agent/scripts/auto-version-bump.sh +156 -0
  44. package/.agent/scripts/autogen-helper.sh +512 -0
  45. package/.agent/scripts/beads-sync-helper.sh +596 -0
  46. package/.agent/scripts/closte-helper.sh +5 -0
  47. package/.agent/scripts/cloudron-helper.sh +321 -0
  48. package/.agent/scripts/codacy-cli-chunked.sh +581 -0
  49. package/.agent/scripts/codacy-cli.sh +442 -0
  50. package/.agent/scripts/code-audit-helper.sh +5 -0
  51. package/.agent/scripts/coderabbit-cli.sh +417 -0
  52. package/.agent/scripts/coderabbit-pro-analysis.sh +238 -0
  53. package/.agent/scripts/commands/code-simplifier.md +86 -0
  54. package/.agent/scripts/commands/full-loop.md +246 -0
  55. package/.agent/scripts/commands/postflight-loop.md +103 -0
  56. package/.agent/scripts/commands/recall.md +182 -0
  57. package/.agent/scripts/commands/remember.md +132 -0
  58. package/.agent/scripts/commands/save-todo.md +175 -0
  59. package/.agent/scripts/commands/session-review.md +154 -0
  60. package/.agent/scripts/comprehensive-quality-fix.sh +106 -0
  61. package/.agent/scripts/context-builder-helper.sh +522 -0
  62. package/.agent/scripts/coolify-cli-helper.sh +674 -0
  63. package/.agent/scripts/coolify-helper.sh +380 -0
  64. package/.agent/scripts/crawl4ai-examples.sh +401 -0
  65. package/.agent/scripts/crawl4ai-helper.sh +1078 -0
  66. package/.agent/scripts/crewai-helper.sh +681 -0
  67. package/.agent/scripts/dev-browser-helper.sh +513 -0
  68. package/.agent/scripts/dns-helper.sh +396 -0
  69. package/.agent/scripts/domain-research-helper.sh +917 -0
  70. package/.agent/scripts/dspy-helper.sh +285 -0
  71. package/.agent/scripts/dspyground-helper.sh +291 -0
  72. package/.agent/scripts/eeat-score-helper.sh +1242 -0
  73. package/.agent/scripts/efficient-return-fix.sh +92 -0
  74. package/.agent/scripts/extract-opencode-prompts.sh +128 -0
  75. package/.agent/scripts/find-missing-returns.sh +113 -0
  76. package/.agent/scripts/fix-auth-headers.sh +104 -0
  77. package/.agent/scripts/fix-common-strings.sh +254 -0
  78. package/.agent/scripts/fix-content-type.sh +100 -0
  79. package/.agent/scripts/fix-error-messages.sh +130 -0
  80. package/.agent/scripts/fix-misplaced-returns.sh +74 -0
  81. package/.agent/scripts/fix-remaining-literals.sh +152 -0
  82. package/.agent/scripts/fix-return-statements.sh +41 -0
  83. package/.agent/scripts/fix-s131-default-cases.sh +249 -0
  84. package/.agent/scripts/fix-sc2155-simple.sh +102 -0
  85. package/.agent/scripts/fix-shellcheck-critical.sh +187 -0
  86. package/.agent/scripts/fix-string-literals.sh +273 -0
  87. package/.agent/scripts/full-loop-helper.sh +773 -0
  88. package/.agent/scripts/generate-opencode-agents.sh +497 -0
  89. package/.agent/scripts/generate-opencode-commands.sh +1629 -0
  90. package/.agent/scripts/generate-skills.sh +366 -0
  91. package/.agent/scripts/git-platforms-helper.sh +640 -0
  92. package/.agent/scripts/gitea-cli-helper.sh +743 -0
  93. package/.agent/scripts/github-cli-helper.sh +702 -0
  94. package/.agent/scripts/gitlab-cli-helper.sh +682 -0
  95. package/.agent/scripts/gsc-add-user-helper.sh +325 -0
  96. package/.agent/scripts/gsc-sitemap-helper.sh +678 -0
  97. package/.agent/scripts/hetzner-helper.sh +485 -0
  98. package/.agent/scripts/hostinger-helper.sh +229 -0
  99. package/.agent/scripts/keyword-research-helper.sh +1815 -0
  100. package/.agent/scripts/langflow-helper.sh +544 -0
  101. package/.agent/scripts/linkedin-automation.py +241 -0
  102. package/.agent/scripts/linter-manager.sh +599 -0
  103. package/.agent/scripts/linters-local.sh +434 -0
  104. package/.agent/scripts/list-keys-helper.sh +488 -0
  105. package/.agent/scripts/local-browser-automation.py +339 -0
  106. package/.agent/scripts/localhost-helper.sh +744 -0
  107. package/.agent/scripts/loop-common.sh +806 -0
  108. package/.agent/scripts/mainwp-helper.sh +728 -0
  109. package/.agent/scripts/markdown-formatter.sh +338 -0
  110. package/.agent/scripts/markdown-lint-fix.sh +311 -0
  111. package/.agent/scripts/mass-fix-returns.sh +58 -0
  112. package/.agent/scripts/mcp-diagnose.sh +167 -0
  113. package/.agent/scripts/mcp-inspector-helper.sh +449 -0
  114. package/.agent/scripts/memory-helper.sh +650 -0
  115. package/.agent/scripts/monitor-code-review.sh +255 -0
  116. package/.agent/scripts/onboarding-helper.sh +706 -0
  117. package/.agent/scripts/opencode-github-setup-helper.sh +797 -0
  118. package/.agent/scripts/opencode-test-helper.sh +213 -0
  119. package/.agent/scripts/pagespeed-helper.sh +464 -0
  120. package/.agent/scripts/pandoc-helper.sh +362 -0
  121. package/.agent/scripts/postflight-check.sh +555 -0
  122. package/.agent/scripts/pre-commit-hook.sh +259 -0
  123. package/.agent/scripts/pre-edit-check.sh +169 -0
  124. package/.agent/scripts/qlty-cli.sh +356 -0
  125. package/.agent/scripts/quality-cli-manager.sh +525 -0
  126. package/.agent/scripts/quality-feedback-helper.sh +462 -0
  127. package/.agent/scripts/quality-fix.sh +263 -0
  128. package/.agent/scripts/quality-loop-helper.sh +1108 -0
  129. package/.agent/scripts/ralph-loop-helper.sh +836 -0
  130. package/.agent/scripts/ralph-upstream-check.sh +341 -0
  131. package/.agent/scripts/secretlint-helper.sh +847 -0
  132. package/.agent/scripts/servers-helper.sh +241 -0
  133. package/.agent/scripts/ses-helper.sh +619 -0
  134. package/.agent/scripts/session-review-helper.sh +404 -0
  135. package/.agent/scripts/setup-linters-wizard.sh +379 -0
  136. package/.agent/scripts/setup-local-api-keys.sh +330 -0
  137. package/.agent/scripts/setup-mcp-integrations.sh +472 -0
  138. package/.agent/scripts/shared-constants.sh +246 -0
  139. package/.agent/scripts/site-crawler-helper.sh +1487 -0
  140. package/.agent/scripts/snyk-helper.sh +940 -0
  141. package/.agent/scripts/sonarcloud-autofix.sh +193 -0
  142. package/.agent/scripts/sonarcloud-cli.sh +191 -0
  143. package/.agent/scripts/sonarscanner-cli.sh +455 -0
  144. package/.agent/scripts/spaceship-helper.sh +747 -0
  145. package/.agent/scripts/stagehand-helper.sh +321 -0
  146. package/.agent/scripts/stagehand-python-helper.sh +321 -0
  147. package/.agent/scripts/stagehand-python-setup.sh +441 -0
  148. package/.agent/scripts/stagehand-setup.sh +439 -0
  149. package/.agent/scripts/system-cleanup.sh +340 -0
  150. package/.agent/scripts/terminal-title-helper.sh +388 -0
  151. package/.agent/scripts/terminal-title-setup.sh +549 -0
  152. package/.agent/scripts/test-stagehand-both-integration.sh +317 -0
  153. package/.agent/scripts/test-stagehand-integration.sh +309 -0
  154. package/.agent/scripts/test-stagehand-python-integration.sh +341 -0
  155. package/.agent/scripts/todo-ready.sh +263 -0
  156. package/.agent/scripts/tool-version-check.sh +362 -0
  157. package/.agent/scripts/toon-helper.sh +469 -0
  158. package/.agent/scripts/twilio-helper.sh +917 -0
  159. package/.agent/scripts/updown-helper.sh +279 -0
  160. package/.agent/scripts/validate-mcp-integrations.sh +250 -0
  161. package/.agent/scripts/validate-version-consistency.sh +131 -0
  162. package/.agent/scripts/vaultwarden-helper.sh +597 -0
  163. package/.agent/scripts/vercel-cli-helper.sh +816 -0
  164. package/.agent/scripts/verify-mirrors.sh +169 -0
  165. package/.agent/scripts/version-manager.sh +831 -0
  166. package/.agent/scripts/webhosting-helper.sh +471 -0
  167. package/.agent/scripts/webhosting-verify.sh +238 -0
  168. package/.agent/scripts/wordpress-mcp-helper.sh +508 -0
  169. package/.agent/scripts/worktree-helper.sh +595 -0
  170. package/.agent/scripts/worktree-sessions.sh +577 -0
  171. package/.agent/seo/dataforseo.md +215 -0
  172. package/.agent/seo/domain-research.md +532 -0
  173. package/.agent/seo/eeat-score.md +659 -0
  174. package/.agent/seo/google-search-console.md +366 -0
  175. package/.agent/seo/gsc-sitemaps.md +282 -0
  176. package/.agent/seo/keyword-research.md +521 -0
  177. package/.agent/seo/serper.md +278 -0
  178. package/.agent/seo/site-crawler.md +387 -0
  179. package/.agent/seo.md +236 -0
  180. package/.agent/services/accounting/quickfile.md +159 -0
  181. package/.agent/services/communications/telfon.md +470 -0
  182. package/.agent/services/communications/twilio.md +569 -0
  183. package/.agent/services/crm/fluentcrm.md +449 -0
  184. package/.agent/services/email/ses.md +399 -0
  185. package/.agent/services/hosting/101domains.md +378 -0
  186. package/.agent/services/hosting/closte.md +177 -0
  187. package/.agent/services/hosting/cloudflare.md +251 -0
  188. package/.agent/services/hosting/cloudron.md +478 -0
  189. package/.agent/services/hosting/dns-providers.md +335 -0
  190. package/.agent/services/hosting/domain-purchasing.md +344 -0
  191. package/.agent/services/hosting/hetzner.md +327 -0
  192. package/.agent/services/hosting/hostinger.md +287 -0
  193. package/.agent/services/hosting/localhost.md +419 -0
  194. package/.agent/services/hosting/spaceship.md +353 -0
  195. package/.agent/services/hosting/webhosting.md +330 -0
  196. package/.agent/social-media.md +69 -0
  197. package/.agent/templates/plans-template.md +114 -0
  198. package/.agent/templates/prd-template.md +129 -0
  199. package/.agent/templates/tasks-template.md +108 -0
  200. package/.agent/templates/todo-template.md +89 -0
  201. package/.agent/tools/ai-assistants/agno.md +471 -0
  202. package/.agent/tools/ai-assistants/capsolver.md +326 -0
  203. package/.agent/tools/ai-assistants/configuration.md +221 -0
  204. package/.agent/tools/ai-assistants/overview.md +209 -0
  205. package/.agent/tools/ai-assistants/status.md +171 -0
  206. package/.agent/tools/ai-assistants/windsurf.md +193 -0
  207. package/.agent/tools/ai-orchestration/autogen.md +406 -0
  208. package/.agent/tools/ai-orchestration/crewai.md +445 -0
  209. package/.agent/tools/ai-orchestration/langflow.md +405 -0
  210. package/.agent/tools/ai-orchestration/openprose.md +487 -0
  211. package/.agent/tools/ai-orchestration/overview.md +362 -0
  212. package/.agent/tools/ai-orchestration/packaging.md +647 -0
  213. package/.agent/tools/browser/agent-browser.md +464 -0
  214. package/.agent/tools/browser/browser-automation.md +400 -0
  215. package/.agent/tools/browser/chrome-devtools.md +282 -0
  216. package/.agent/tools/browser/crawl4ai-integration.md +422 -0
  217. package/.agent/tools/browser/crawl4ai-resources.md +277 -0
  218. package/.agent/tools/browser/crawl4ai-usage.md +416 -0
  219. package/.agent/tools/browser/crawl4ai.md +585 -0
  220. package/.agent/tools/browser/dev-browser.md +341 -0
  221. package/.agent/tools/browser/pagespeed.md +260 -0
  222. package/.agent/tools/browser/playwright.md +266 -0
  223. package/.agent/tools/browser/playwriter.md +310 -0
  224. package/.agent/tools/browser/stagehand-examples.md +456 -0
  225. package/.agent/tools/browser/stagehand-python.md +483 -0
  226. package/.agent/tools/browser/stagehand.md +421 -0
  227. package/.agent/tools/build-agent/agent-review.md +224 -0
  228. package/.agent/tools/build-agent/build-agent.md +784 -0
  229. package/.agent/tools/build-mcp/aidevops-plugin.md +476 -0
  230. package/.agent/tools/build-mcp/api-wrapper.md +445 -0
  231. package/.agent/tools/build-mcp/build-mcp.md +240 -0
  232. package/.agent/tools/build-mcp/deployment.md +401 -0
  233. package/.agent/tools/build-mcp/server-patterns.md +632 -0
  234. package/.agent/tools/build-mcp/transports.md +366 -0
  235. package/.agent/tools/code-review/auditing.md +383 -0
  236. package/.agent/tools/code-review/automation.md +219 -0
  237. package/.agent/tools/code-review/best-practices.md +203 -0
  238. package/.agent/tools/code-review/codacy.md +151 -0
  239. package/.agent/tools/code-review/code-simplifier.md +174 -0
  240. package/.agent/tools/code-review/code-standards.md +309 -0
  241. package/.agent/tools/code-review/coderabbit.md +101 -0
  242. package/.agent/tools/code-review/management.md +155 -0
  243. package/.agent/tools/code-review/qlty.md +248 -0
  244. package/.agent/tools/code-review/secretlint.md +565 -0
  245. package/.agent/tools/code-review/setup.md +250 -0
  246. package/.agent/tools/code-review/snyk.md +563 -0
  247. package/.agent/tools/code-review/tools.md +230 -0
  248. package/.agent/tools/content/summarize.md +353 -0
  249. package/.agent/tools/context/augment-context-engine.md +468 -0
  250. package/.agent/tools/context/context-builder-agent.md +76 -0
  251. package/.agent/tools/context/context-builder.md +375 -0
  252. package/.agent/tools/context/context7.md +371 -0
  253. package/.agent/tools/context/dspy.md +302 -0
  254. package/.agent/tools/context/dspyground.md +374 -0
  255. package/.agent/tools/context/llm-tldr.md +219 -0
  256. package/.agent/tools/context/osgrep.md +488 -0
  257. package/.agent/tools/context/prompt-optimization.md +338 -0
  258. package/.agent/tools/context/toon.md +292 -0
  259. package/.agent/tools/conversion/pandoc.md +304 -0
  260. package/.agent/tools/credentials/api-key-management.md +154 -0
  261. package/.agent/tools/credentials/api-key-setup.md +224 -0
  262. package/.agent/tools/credentials/environment-variables.md +180 -0
  263. package/.agent/tools/credentials/vaultwarden.md +382 -0
  264. package/.agent/tools/data-extraction/outscraper.md +974 -0
  265. package/.agent/tools/deployment/coolify-cli.md +388 -0
  266. package/.agent/tools/deployment/coolify-setup.md +353 -0
  267. package/.agent/tools/deployment/coolify.md +345 -0
  268. package/.agent/tools/deployment/vercel.md +390 -0
  269. package/.agent/tools/git/authentication.md +132 -0
  270. package/.agent/tools/git/gitea-cli.md +193 -0
  271. package/.agent/tools/git/github-actions.md +207 -0
  272. package/.agent/tools/git/github-cli.md +223 -0
  273. package/.agent/tools/git/gitlab-cli.md +190 -0
  274. package/.agent/tools/git/opencode-github-security.md +350 -0
  275. package/.agent/tools/git/opencode-github.md +328 -0
  276. package/.agent/tools/git/opencode-gitlab.md +252 -0
  277. package/.agent/tools/git/security.md +196 -0
  278. package/.agent/tools/git.md +207 -0
  279. package/.agent/tools/opencode/oh-my-opencode.md +375 -0
  280. package/.agent/tools/opencode/opencode-anthropic-auth.md +446 -0
  281. package/.agent/tools/opencode/opencode.md +651 -0
  282. package/.agent/tools/social-media/bird.md +437 -0
  283. package/.agent/tools/task-management/beads.md +336 -0
  284. package/.agent/tools/terminal/terminal-title.md +251 -0
  285. package/.agent/tools/ui/shadcn.md +196 -0
  286. package/.agent/tools/ui/ui-skills.md +115 -0
  287. package/.agent/tools/wordpress/localwp.md +311 -0
  288. package/.agent/tools/wordpress/mainwp.md +391 -0
  289. package/.agent/tools/wordpress/scf.md +527 -0
  290. package/.agent/tools/wordpress/wp-admin.md +729 -0
  291. package/.agent/tools/wordpress/wp-dev.md +940 -0
  292. package/.agent/tools/wordpress/wp-preferred.md +398 -0
  293. package/.agent/tools/wordpress.md +95 -0
  294. package/.agent/workflows/branch/bugfix.md +63 -0
  295. package/.agent/workflows/branch/chore.md +95 -0
  296. package/.agent/workflows/branch/experiment.md +115 -0
  297. package/.agent/workflows/branch/feature.md +59 -0
  298. package/.agent/workflows/branch/hotfix.md +98 -0
  299. package/.agent/workflows/branch/refactor.md +92 -0
  300. package/.agent/workflows/branch/release.md +96 -0
  301. package/.agent/workflows/branch.md +347 -0
  302. package/.agent/workflows/bug-fixing.md +267 -0
  303. package/.agent/workflows/changelog.md +129 -0
  304. package/.agent/workflows/code-audit-remote.md +279 -0
  305. package/.agent/workflows/conversation-starter.md +69 -0
  306. package/.agent/workflows/error-feedback.md +578 -0
  307. package/.agent/workflows/feature-development.md +355 -0
  308. package/.agent/workflows/git-workflow.md +702 -0
  309. package/.agent/workflows/multi-repo-workspace.md +268 -0
  310. package/.agent/workflows/plans.md +709 -0
  311. package/.agent/workflows/postflight.md +604 -0
  312. package/.agent/workflows/pr.md +571 -0
  313. package/.agent/workflows/preflight.md +278 -0
  314. package/.agent/workflows/ralph-loop.md +773 -0
  315. package/.agent/workflows/release.md +498 -0
  316. package/.agent/workflows/session-manager.md +254 -0
  317. package/.agent/workflows/session-review.md +311 -0
  318. package/.agent/workflows/sql-migrations.md +631 -0
  319. package/.agent/workflows/version-bump.md +283 -0
  320. package/.agent/workflows/wiki-update.md +333 -0
  321. package/.agent/workflows/worktree.md +477 -0
  322. package/LICENSE +21 -0
  323. package/README.md +1446 -0
  324. package/VERSION +1 -0
  325. package/aidevops.sh +1746 -0
  326. package/bin/aidevops +21 -0
  327. package/package.json +75 -0
  328. package/scripts/npm-postinstall.js +60 -0
  329. package/setup.sh +2366 -0
@@ -0,0 +1,477 @@
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 |
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Marcus Quinn
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.