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.
Files changed (334) hide show
  1. package/README.md +1 -1
  2. package/VERSION +1 -1
  3. package/aidevops.sh +15 -9
  4. package/package.json +4 -4
  5. package/scripts/npm-postinstall.js +6 -7
  6. package/setup.sh +1 -1
  7. package/templates/deploy-templates.sh +144 -0
  8. package/templates/home/.agent/README.md +33 -0
  9. package/templates/home/AGENTS.md +96 -0
  10. package/templates/home/git/.agent/README.md +48 -0
  11. package/templates/home/git/AGENTS.md +97 -0
  12. package/templates/standard-functions.sh +179 -0
  13. package/templates/wordpress-performance-workflow.md +217 -0
  14. package/.agent/AGENTS.md +0 -614
  15. package/.agent/accounts.md +0 -65
  16. package/.agent/aidevops/add-new-mcp-to-aidevops.md +0 -456
  17. package/.agent/aidevops/api-integrations.md +0 -335
  18. package/.agent/aidevops/architecture.md +0 -510
  19. package/.agent/aidevops/configs.md +0 -274
  20. package/.agent/aidevops/docs.md +0 -244
  21. package/.agent/aidevops/extension.md +0 -311
  22. package/.agent/aidevops/mcp-integrations.md +0 -340
  23. package/.agent/aidevops/mcp-troubleshooting.md +0 -162
  24. package/.agent/aidevops/memory-patterns.md +0 -172
  25. package/.agent/aidevops/providers.md +0 -217
  26. package/.agent/aidevops/recommendations.md +0 -321
  27. package/.agent/aidevops/requirements.md +0 -301
  28. package/.agent/aidevops/resources.md +0 -214
  29. package/.agent/aidevops/security-requirements.md +0 -174
  30. package/.agent/aidevops/security.md +0 -350
  31. package/.agent/aidevops/service-links.md +0 -400
  32. package/.agent/aidevops/services.md +0 -357
  33. package/.agent/aidevops/setup.md +0 -153
  34. package/.agent/aidevops/troubleshooting.md +0 -389
  35. package/.agent/aidevops.md +0 -124
  36. package/.agent/build-plus.md +0 -244
  37. package/.agent/content/guidelines.md +0 -109
  38. package/.agent/content.md +0 -87
  39. package/.agent/health.md +0 -59
  40. package/.agent/legal.md +0 -59
  41. package/.agent/loop-state/full-loop.local.md +0 -16
  42. package/.agent/loop-state/ralph-loop.local.md +0 -10
  43. package/.agent/marketing.md +0 -440
  44. package/.agent/memory/README.md +0 -260
  45. package/.agent/onboarding.md +0 -796
  46. package/.agent/plan-plus.md +0 -245
  47. package/.agent/research.md +0 -100
  48. package/.agent/sales.md +0 -333
  49. package/.agent/scripts/101domains-helper.sh +0 -701
  50. package/.agent/scripts/add-missing-returns.sh +0 -140
  51. package/.agent/scripts/agent-browser-helper.sh +0 -311
  52. package/.agent/scripts/agno-setup.sh +0 -712
  53. package/.agent/scripts/ahrefs-mcp-wrapper.js +0 -168
  54. package/.agent/scripts/aidevops-update-check.sh +0 -71
  55. package/.agent/scripts/ampcode-cli.sh +0 -522
  56. package/.agent/scripts/auto-version-bump.sh +0 -156
  57. package/.agent/scripts/autogen-helper.sh +0 -512
  58. package/.agent/scripts/beads-sync-helper.sh +0 -596
  59. package/.agent/scripts/closte-helper.sh +0 -5
  60. package/.agent/scripts/cloudron-helper.sh +0 -321
  61. package/.agent/scripts/codacy-cli-chunked.sh +0 -581
  62. package/.agent/scripts/codacy-cli.sh +0 -442
  63. package/.agent/scripts/code-audit-helper.sh +0 -5
  64. package/.agent/scripts/coderabbit-cli.sh +0 -417
  65. package/.agent/scripts/coderabbit-pro-analysis.sh +0 -238
  66. package/.agent/scripts/commands/code-simplifier.md +0 -86
  67. package/.agent/scripts/commands/full-loop.md +0 -246
  68. package/.agent/scripts/commands/postflight-loop.md +0 -103
  69. package/.agent/scripts/commands/recall.md +0 -182
  70. package/.agent/scripts/commands/remember.md +0 -132
  71. package/.agent/scripts/commands/save-todo.md +0 -175
  72. package/.agent/scripts/commands/session-review.md +0 -154
  73. package/.agent/scripts/comprehensive-quality-fix.sh +0 -106
  74. package/.agent/scripts/context-builder-helper.sh +0 -522
  75. package/.agent/scripts/coolify-cli-helper.sh +0 -674
  76. package/.agent/scripts/coolify-helper.sh +0 -380
  77. package/.agent/scripts/crawl4ai-examples.sh +0 -401
  78. package/.agent/scripts/crawl4ai-helper.sh +0 -1078
  79. package/.agent/scripts/crewai-helper.sh +0 -681
  80. package/.agent/scripts/dev-browser-helper.sh +0 -513
  81. package/.agent/scripts/dns-helper.sh +0 -396
  82. package/.agent/scripts/domain-research-helper.sh +0 -917
  83. package/.agent/scripts/dspy-helper.sh +0 -285
  84. package/.agent/scripts/dspyground-helper.sh +0 -291
  85. package/.agent/scripts/eeat-score-helper.sh +0 -1242
  86. package/.agent/scripts/efficient-return-fix.sh +0 -92
  87. package/.agent/scripts/extract-opencode-prompts.sh +0 -128
  88. package/.agent/scripts/find-missing-returns.sh +0 -113
  89. package/.agent/scripts/fix-auth-headers.sh +0 -104
  90. package/.agent/scripts/fix-common-strings.sh +0 -254
  91. package/.agent/scripts/fix-content-type.sh +0 -100
  92. package/.agent/scripts/fix-error-messages.sh +0 -130
  93. package/.agent/scripts/fix-misplaced-returns.sh +0 -74
  94. package/.agent/scripts/fix-remaining-literals.sh +0 -152
  95. package/.agent/scripts/fix-return-statements.sh +0 -41
  96. package/.agent/scripts/fix-s131-default-cases.sh +0 -249
  97. package/.agent/scripts/fix-sc2155-simple.sh +0 -102
  98. package/.agent/scripts/fix-shellcheck-critical.sh +0 -187
  99. package/.agent/scripts/fix-string-literals.sh +0 -273
  100. package/.agent/scripts/full-loop-helper.sh +0 -773
  101. package/.agent/scripts/generate-opencode-agents.sh +0 -497
  102. package/.agent/scripts/generate-opencode-commands.sh +0 -1629
  103. package/.agent/scripts/generate-skills.sh +0 -366
  104. package/.agent/scripts/git-platforms-helper.sh +0 -640
  105. package/.agent/scripts/gitea-cli-helper.sh +0 -743
  106. package/.agent/scripts/github-cli-helper.sh +0 -702
  107. package/.agent/scripts/gitlab-cli-helper.sh +0 -682
  108. package/.agent/scripts/gsc-add-user-helper.sh +0 -325
  109. package/.agent/scripts/gsc-sitemap-helper.sh +0 -678
  110. package/.agent/scripts/hetzner-helper.sh +0 -485
  111. package/.agent/scripts/hostinger-helper.sh +0 -229
  112. package/.agent/scripts/keyword-research-helper.sh +0 -1815
  113. package/.agent/scripts/langflow-helper.sh +0 -544
  114. package/.agent/scripts/linkedin-automation.py +0 -241
  115. package/.agent/scripts/linter-manager.sh +0 -599
  116. package/.agent/scripts/linters-local.sh +0 -434
  117. package/.agent/scripts/list-keys-helper.sh +0 -488
  118. package/.agent/scripts/local-browser-automation.py +0 -339
  119. package/.agent/scripts/localhost-helper.sh +0 -744
  120. package/.agent/scripts/loop-common.sh +0 -806
  121. package/.agent/scripts/mainwp-helper.sh +0 -728
  122. package/.agent/scripts/markdown-formatter.sh +0 -338
  123. package/.agent/scripts/markdown-lint-fix.sh +0 -311
  124. package/.agent/scripts/mass-fix-returns.sh +0 -58
  125. package/.agent/scripts/mcp-diagnose.sh +0 -167
  126. package/.agent/scripts/mcp-inspector-helper.sh +0 -449
  127. package/.agent/scripts/memory-helper.sh +0 -650
  128. package/.agent/scripts/monitor-code-review.sh +0 -255
  129. package/.agent/scripts/onboarding-helper.sh +0 -706
  130. package/.agent/scripts/opencode-github-setup-helper.sh +0 -797
  131. package/.agent/scripts/opencode-test-helper.sh +0 -213
  132. package/.agent/scripts/pagespeed-helper.sh +0 -464
  133. package/.agent/scripts/pandoc-helper.sh +0 -362
  134. package/.agent/scripts/postflight-check.sh +0 -555
  135. package/.agent/scripts/pre-commit-hook.sh +0 -259
  136. package/.agent/scripts/pre-edit-check.sh +0 -169
  137. package/.agent/scripts/qlty-cli.sh +0 -356
  138. package/.agent/scripts/quality-cli-manager.sh +0 -525
  139. package/.agent/scripts/quality-feedback-helper.sh +0 -462
  140. package/.agent/scripts/quality-fix.sh +0 -263
  141. package/.agent/scripts/quality-loop-helper.sh +0 -1108
  142. package/.agent/scripts/ralph-loop-helper.sh +0 -836
  143. package/.agent/scripts/ralph-upstream-check.sh +0 -341
  144. package/.agent/scripts/secretlint-helper.sh +0 -847
  145. package/.agent/scripts/servers-helper.sh +0 -241
  146. package/.agent/scripts/ses-helper.sh +0 -619
  147. package/.agent/scripts/session-review-helper.sh +0 -404
  148. package/.agent/scripts/setup-linters-wizard.sh +0 -379
  149. package/.agent/scripts/setup-local-api-keys.sh +0 -330
  150. package/.agent/scripts/setup-mcp-integrations.sh +0 -472
  151. package/.agent/scripts/shared-constants.sh +0 -246
  152. package/.agent/scripts/site-crawler-helper.sh +0 -1487
  153. package/.agent/scripts/snyk-helper.sh +0 -940
  154. package/.agent/scripts/sonarcloud-autofix.sh +0 -193
  155. package/.agent/scripts/sonarcloud-cli.sh +0 -191
  156. package/.agent/scripts/sonarscanner-cli.sh +0 -455
  157. package/.agent/scripts/spaceship-helper.sh +0 -747
  158. package/.agent/scripts/stagehand-helper.sh +0 -321
  159. package/.agent/scripts/stagehand-python-helper.sh +0 -321
  160. package/.agent/scripts/stagehand-python-setup.sh +0 -441
  161. package/.agent/scripts/stagehand-setup.sh +0 -439
  162. package/.agent/scripts/system-cleanup.sh +0 -340
  163. package/.agent/scripts/terminal-title-helper.sh +0 -388
  164. package/.agent/scripts/terminal-title-setup.sh +0 -549
  165. package/.agent/scripts/test-stagehand-both-integration.sh +0 -317
  166. package/.agent/scripts/test-stagehand-integration.sh +0 -309
  167. package/.agent/scripts/test-stagehand-python-integration.sh +0 -341
  168. package/.agent/scripts/todo-ready.sh +0 -263
  169. package/.agent/scripts/tool-version-check.sh +0 -362
  170. package/.agent/scripts/toon-helper.sh +0 -469
  171. package/.agent/scripts/twilio-helper.sh +0 -917
  172. package/.agent/scripts/updown-helper.sh +0 -279
  173. package/.agent/scripts/validate-mcp-integrations.sh +0 -250
  174. package/.agent/scripts/validate-version-consistency.sh +0 -131
  175. package/.agent/scripts/vaultwarden-helper.sh +0 -597
  176. package/.agent/scripts/vercel-cli-helper.sh +0 -816
  177. package/.agent/scripts/verify-mirrors.sh +0 -169
  178. package/.agent/scripts/version-manager.sh +0 -831
  179. package/.agent/scripts/webhosting-helper.sh +0 -471
  180. package/.agent/scripts/webhosting-verify.sh +0 -238
  181. package/.agent/scripts/wordpress-mcp-helper.sh +0 -508
  182. package/.agent/scripts/worktree-helper.sh +0 -595
  183. package/.agent/scripts/worktree-sessions.sh +0 -577
  184. package/.agent/seo/dataforseo.md +0 -215
  185. package/.agent/seo/domain-research.md +0 -532
  186. package/.agent/seo/eeat-score.md +0 -659
  187. package/.agent/seo/google-search-console.md +0 -366
  188. package/.agent/seo/gsc-sitemaps.md +0 -282
  189. package/.agent/seo/keyword-research.md +0 -521
  190. package/.agent/seo/serper.md +0 -278
  191. package/.agent/seo/site-crawler.md +0 -387
  192. package/.agent/seo.md +0 -236
  193. package/.agent/services/accounting/quickfile.md +0 -159
  194. package/.agent/services/communications/telfon.md +0 -470
  195. package/.agent/services/communications/twilio.md +0 -569
  196. package/.agent/services/crm/fluentcrm.md +0 -449
  197. package/.agent/services/email/ses.md +0 -399
  198. package/.agent/services/hosting/101domains.md +0 -378
  199. package/.agent/services/hosting/closte.md +0 -177
  200. package/.agent/services/hosting/cloudflare.md +0 -251
  201. package/.agent/services/hosting/cloudron.md +0 -478
  202. package/.agent/services/hosting/dns-providers.md +0 -335
  203. package/.agent/services/hosting/domain-purchasing.md +0 -344
  204. package/.agent/services/hosting/hetzner.md +0 -327
  205. package/.agent/services/hosting/hostinger.md +0 -287
  206. package/.agent/services/hosting/localhost.md +0 -419
  207. package/.agent/services/hosting/spaceship.md +0 -353
  208. package/.agent/services/hosting/webhosting.md +0 -330
  209. package/.agent/social-media.md +0 -69
  210. package/.agent/templates/plans-template.md +0 -114
  211. package/.agent/templates/prd-template.md +0 -129
  212. package/.agent/templates/tasks-template.md +0 -108
  213. package/.agent/templates/todo-template.md +0 -89
  214. package/.agent/tools/ai-assistants/agno.md +0 -471
  215. package/.agent/tools/ai-assistants/capsolver.md +0 -326
  216. package/.agent/tools/ai-assistants/configuration.md +0 -221
  217. package/.agent/tools/ai-assistants/overview.md +0 -209
  218. package/.agent/tools/ai-assistants/status.md +0 -171
  219. package/.agent/tools/ai-assistants/windsurf.md +0 -193
  220. package/.agent/tools/ai-orchestration/autogen.md +0 -406
  221. package/.agent/tools/ai-orchestration/crewai.md +0 -445
  222. package/.agent/tools/ai-orchestration/langflow.md +0 -405
  223. package/.agent/tools/ai-orchestration/openprose.md +0 -487
  224. package/.agent/tools/ai-orchestration/overview.md +0 -362
  225. package/.agent/tools/ai-orchestration/packaging.md +0 -647
  226. package/.agent/tools/browser/agent-browser.md +0 -464
  227. package/.agent/tools/browser/browser-automation.md +0 -400
  228. package/.agent/tools/browser/chrome-devtools.md +0 -282
  229. package/.agent/tools/browser/crawl4ai-integration.md +0 -422
  230. package/.agent/tools/browser/crawl4ai-resources.md +0 -277
  231. package/.agent/tools/browser/crawl4ai-usage.md +0 -416
  232. package/.agent/tools/browser/crawl4ai.md +0 -585
  233. package/.agent/tools/browser/dev-browser.md +0 -341
  234. package/.agent/tools/browser/pagespeed.md +0 -260
  235. package/.agent/tools/browser/playwright.md +0 -266
  236. package/.agent/tools/browser/playwriter.md +0 -310
  237. package/.agent/tools/browser/stagehand-examples.md +0 -456
  238. package/.agent/tools/browser/stagehand-python.md +0 -483
  239. package/.agent/tools/browser/stagehand.md +0 -421
  240. package/.agent/tools/build-agent/agent-review.md +0 -224
  241. package/.agent/tools/build-agent/build-agent.md +0 -784
  242. package/.agent/tools/build-mcp/aidevops-plugin.md +0 -476
  243. package/.agent/tools/build-mcp/api-wrapper.md +0 -445
  244. package/.agent/tools/build-mcp/build-mcp.md +0 -240
  245. package/.agent/tools/build-mcp/deployment.md +0 -401
  246. package/.agent/tools/build-mcp/server-patterns.md +0 -632
  247. package/.agent/tools/build-mcp/transports.md +0 -366
  248. package/.agent/tools/code-review/auditing.md +0 -383
  249. package/.agent/tools/code-review/automation.md +0 -219
  250. package/.agent/tools/code-review/best-practices.md +0 -203
  251. package/.agent/tools/code-review/codacy.md +0 -151
  252. package/.agent/tools/code-review/code-simplifier.md +0 -174
  253. package/.agent/tools/code-review/code-standards.md +0 -309
  254. package/.agent/tools/code-review/coderabbit.md +0 -101
  255. package/.agent/tools/code-review/management.md +0 -155
  256. package/.agent/tools/code-review/qlty.md +0 -248
  257. package/.agent/tools/code-review/secretlint.md +0 -565
  258. package/.agent/tools/code-review/setup.md +0 -250
  259. package/.agent/tools/code-review/snyk.md +0 -563
  260. package/.agent/tools/code-review/tools.md +0 -230
  261. package/.agent/tools/content/summarize.md +0 -353
  262. package/.agent/tools/context/augment-context-engine.md +0 -468
  263. package/.agent/tools/context/context-builder-agent.md +0 -76
  264. package/.agent/tools/context/context-builder.md +0 -375
  265. package/.agent/tools/context/context7.md +0 -371
  266. package/.agent/tools/context/dspy.md +0 -302
  267. package/.agent/tools/context/dspyground.md +0 -374
  268. package/.agent/tools/context/llm-tldr.md +0 -219
  269. package/.agent/tools/context/osgrep.md +0 -488
  270. package/.agent/tools/context/prompt-optimization.md +0 -338
  271. package/.agent/tools/context/toon.md +0 -292
  272. package/.agent/tools/conversion/pandoc.md +0 -304
  273. package/.agent/tools/credentials/api-key-management.md +0 -154
  274. package/.agent/tools/credentials/api-key-setup.md +0 -224
  275. package/.agent/tools/credentials/environment-variables.md +0 -180
  276. package/.agent/tools/credentials/vaultwarden.md +0 -382
  277. package/.agent/tools/data-extraction/outscraper.md +0 -974
  278. package/.agent/tools/deployment/coolify-cli.md +0 -388
  279. package/.agent/tools/deployment/coolify-setup.md +0 -353
  280. package/.agent/tools/deployment/coolify.md +0 -345
  281. package/.agent/tools/deployment/vercel.md +0 -390
  282. package/.agent/tools/git/authentication.md +0 -132
  283. package/.agent/tools/git/gitea-cli.md +0 -193
  284. package/.agent/tools/git/github-actions.md +0 -207
  285. package/.agent/tools/git/github-cli.md +0 -223
  286. package/.agent/tools/git/gitlab-cli.md +0 -190
  287. package/.agent/tools/git/opencode-github-security.md +0 -350
  288. package/.agent/tools/git/opencode-github.md +0 -328
  289. package/.agent/tools/git/opencode-gitlab.md +0 -252
  290. package/.agent/tools/git/security.md +0 -196
  291. package/.agent/tools/git.md +0 -207
  292. package/.agent/tools/opencode/oh-my-opencode.md +0 -375
  293. package/.agent/tools/opencode/opencode-anthropic-auth.md +0 -446
  294. package/.agent/tools/opencode/opencode.md +0 -651
  295. package/.agent/tools/social-media/bird.md +0 -437
  296. package/.agent/tools/task-management/beads.md +0 -336
  297. package/.agent/tools/terminal/terminal-title.md +0 -251
  298. package/.agent/tools/ui/shadcn.md +0 -196
  299. package/.agent/tools/ui/ui-skills.md +0 -115
  300. package/.agent/tools/wordpress/localwp.md +0 -311
  301. package/.agent/tools/wordpress/mainwp.md +0 -391
  302. package/.agent/tools/wordpress/scf.md +0 -527
  303. package/.agent/tools/wordpress/wp-admin.md +0 -729
  304. package/.agent/tools/wordpress/wp-dev.md +0 -940
  305. package/.agent/tools/wordpress/wp-preferred.md +0 -398
  306. package/.agent/tools/wordpress.md +0 -95
  307. package/.agent/workflows/branch/bugfix.md +0 -63
  308. package/.agent/workflows/branch/chore.md +0 -95
  309. package/.agent/workflows/branch/experiment.md +0 -115
  310. package/.agent/workflows/branch/feature.md +0 -59
  311. package/.agent/workflows/branch/hotfix.md +0 -98
  312. package/.agent/workflows/branch/refactor.md +0 -92
  313. package/.agent/workflows/branch/release.md +0 -96
  314. package/.agent/workflows/branch.md +0 -347
  315. package/.agent/workflows/bug-fixing.md +0 -267
  316. package/.agent/workflows/changelog.md +0 -129
  317. package/.agent/workflows/code-audit-remote.md +0 -279
  318. package/.agent/workflows/conversation-starter.md +0 -69
  319. package/.agent/workflows/error-feedback.md +0 -578
  320. package/.agent/workflows/feature-development.md +0 -355
  321. package/.agent/workflows/git-workflow.md +0 -702
  322. package/.agent/workflows/multi-repo-workspace.md +0 -268
  323. package/.agent/workflows/plans.md +0 -709
  324. package/.agent/workflows/postflight.md +0 -604
  325. package/.agent/workflows/pr.md +0 -571
  326. package/.agent/workflows/preflight.md +0 -278
  327. package/.agent/workflows/ralph-loop.md +0 -773
  328. package/.agent/workflows/release.md +0 -498
  329. package/.agent/workflows/session-manager.md +0 -254
  330. package/.agent/workflows/session-review.md +0 -311
  331. package/.agent/workflows/sql-migrations.md +0 -631
  332. package/.agent/workflows/version-bump.md +0 -283
  333. package/.agent/workflows/wiki-update.md +0 -333
  334. package/.agent/workflows/worktree.md +0 -477
@@ -1,321 +0,0 @@
1
- #!/bin/bash
2
- # shellcheck disable=SC2034,SC2155,SC2317,SC2329,SC2016,SC2181,SC1091,SC2154,SC2015,SC2086,SC2129,SC2030,SC2031,SC2119,SC2120,SC2001,SC2162,SC2088,SC2089,SC2090,SC2029,SC2006,SC2153
3
-
4
- # Stagehand Helper - AI Browser Automation Framework Integration
5
- # Part of AI DevOps Framework
6
- # Provides local setup and usage of Stagehand for browser automation
7
-
8
- # Source shared constants and functions
9
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
10
- source "${SCRIPT_DIR}/shared-constants.sh"
11
-
12
- # Colors for output
13
- readonly BLUE='\033[0;34m'
14
- readonly GREEN='\033[0;32m'
15
- readonly YELLOW='\033[1;33m'
16
- readonly RED='\033[0;31m'
17
- readonly NC='\033[0m'
18
-
19
- # Print functions
20
- print_info() {
21
- local msg="$1"
22
- echo -e "${BLUE}[INFO]${NC} $msg"
23
- return 0
24
- }
25
-
26
- print_success() {
27
- local msg="$1"
28
- echo -e "${GREEN}[SUCCESS]${NC} $msg"
29
- return 0
30
- }
31
-
32
- print_warning() {
33
- local msg="$1"
34
- echo -e "${YELLOW}[WARNING]${NC} $msg"
35
- return 0
36
- }
37
-
38
- print_error() {
39
- local msg="$1"
40
- echo -e "${RED}[ERROR]${NC} $msg" >&2
41
- return 0
42
- }
43
-
44
- # Stagehand-specific constants
45
- readonly STAGEHAND_CONFIG_DIR="${HOME}/.aidevops/stagehand"
46
- readonly STAGEHAND_EXAMPLES_DIR="${STAGEHAND_CONFIG_DIR}/examples"
47
- readonly STAGEHAND_LOGS_DIR="${STAGEHAND_CONFIG_DIR}/logs"
48
- readonly STAGEHAND_CACHE_DIR="${STAGEHAND_CONFIG_DIR}/cache"
49
-
50
- # Create necessary directories
51
- create_stagehand_directories() {
52
- local directories=(
53
- "$STAGEHAND_CONFIG_DIR"
54
- "$STAGEHAND_EXAMPLES_DIR"
55
- "$STAGEHAND_LOGS_DIR"
56
- "$STAGEHAND_CACHE_DIR"
57
- )
58
-
59
- for dir in "${directories[@]}"; do
60
- mkdir -p "$dir"
61
- done
62
-
63
- print_success "Created Stagehand directories"
64
- return 0
65
- }
66
-
67
- # Install Stagehand and dependencies
68
- install_stagehand() {
69
- print_info "Installing Stagehand AI Browser Automation Framework..."
70
-
71
- # Check for Bun (preferred) or Node.js
72
- local use_bun=false
73
- if command -v bun &> /dev/null; then
74
- use_bun=true
75
- print_success "Using Bun $(bun --version)"
76
- elif command -v node &> /dev/null; then
77
- if ! command -v npm &> /dev/null; then
78
- print_error "npm is required but not installed. Please install npm or Bun."
79
- return 1
80
- fi
81
- print_info "Using Node.js (install Bun for faster setup: curl -fsSL https://bun.sh/install | bash)"
82
- else
83
- print_error "Bun or Node.js is required. Install Bun: curl -fsSL https://bun.sh/install | bash"
84
- return 1
85
- fi
86
-
87
- # Create project directory
88
- create_stagehand_directories
89
-
90
- # Initialize project if needed
91
- if [[ ! -f "${STAGEHAND_CONFIG_DIR}/package.json" ]]; then
92
- print_info "Initializing project..."
93
- cd "$STAGEHAND_CONFIG_DIR" || return 1
94
- if [[ "$use_bun" == "true" ]]; then
95
- bun init -y > /dev/null 2>&1
96
- else
97
- npm init -y > /dev/null 2>&1
98
- fi
99
- fi
100
-
101
- # Install Stagehand
102
- print_info "Installing @browserbasehq/stagehand..."
103
- cd "$STAGEHAND_CONFIG_DIR" || return 1
104
- if [[ "$use_bun" == "true" ]]; then
105
- bun add @browserbasehq/stagehand
106
- else
107
- # NOSONAR - npm scripts required for Playwright browser automation binaries
108
- npm install @browserbasehq/stagehand
109
- fi
110
-
111
- # Install additional dependencies for better functionality
112
- print_info "Installing additional dependencies..."
113
- if [[ "$use_bun" == "true" ]]; then
114
- bun add zod dotenv
115
- else
116
- # NOSONAR - npm scripts required for dependency compilation
117
- npm install zod dotenv
118
- fi
119
-
120
- print_success "Stagehand installation completed"
121
- return 0
122
- }
123
-
124
- # Create example Stagehand script
125
- create_example_script() {
126
- local example_file="${STAGEHAND_EXAMPLES_DIR}/basic-example.js"
127
-
128
- cat > "$example_file" << 'EOF'
129
- // Basic Stagehand Example
130
- // AI-powered browser automation with natural language
131
-
132
- import { Stagehand } from "@browserbasehq/stagehand";
133
- import { z } from "zod";
134
-
135
- async function main() {
136
- // Initialize Stagehand
137
- const stagehand = new Stagehand({
138
- env: "LOCAL", // Use local browser
139
- verbose: 1,
140
- debugDom: true
141
- });
142
-
143
- try {
144
- // Initialize browser context
145
- await stagehand.init();
146
-
147
- // Navigate to a website
148
- await stagehand.page.goto("https://example.com");
149
-
150
- // Use natural language to interact with the page
151
- await stagehand.act("click on the 'More information...' link");
152
-
153
- // Extract structured data from the page
154
- const pageInfo = await stagehand.extract(
155
- "extract the page title and main heading",
156
- z.object({
157
- title: z.string().describe("The page title"),
158
- heading: z.string().describe("The main heading text")
159
- })
160
- );
161
-
162
- console.log("Extracted data:", pageInfo);
163
-
164
- // Use observe to discover available actions
165
- const actions = await stagehand.observe("find all clickable buttons");
166
- console.log("Available actions:", actions);
167
-
168
- } catch (error) {
169
- console.error("Error during automation:", error);
170
- } finally {
171
- // Clean up
172
- await stagehand.close();
173
- }
174
- return 0
175
- }
176
-
177
- // Run the example
178
- main().catch(console.error);
179
- EOF
180
-
181
- print_success "Created basic example script at: $example_file"
182
- return 0
183
- }
184
-
185
- # Create environment configuration
186
- create_env_config() {
187
- local env_file="${STAGEHAND_CONFIG_DIR}/.env"
188
-
189
- if [[ -f "$env_file" ]]; then
190
- print_info "Environment file already exists: $env_file"
191
- return 0
192
- fi
193
-
194
- cat > "$env_file" << 'EOF'
195
- # Stagehand Configuration
196
- # Copy this file and customize for your needs
197
-
198
- # OpenAI API Key (for AI-powered actions)
199
- OPENAI_API_KEY=your_openai_api_key_here
200
-
201
- # Anthropic API Key (alternative AI provider)
202
- ANTHROPIC_API_KEY=your_anthropic_api_key_here
203
-
204
- # Browserbase credentials (optional, for cloud browsers)
205
- BROWSERBASE_API_KEY=your_browserbase_api_key_here
206
- BROWSERBASE_PROJECT_ID=your_browserbase_project_id_here
207
-
208
- # Browser configuration
209
- STAGEHAND_ENV=LOCAL
210
- STAGEHAND_HEADLESS=false
211
- STAGEHAND_VERBOSE=1
212
- STAGEHAND_DEBUG_DOM=true
213
-
214
- # Logging
215
- STAGEHAND_LOG_LEVEL=info
216
- STAGEHAND_LOG_FILE=stagehand.log
217
- EOF
218
-
219
- print_success "Created environment configuration at: $env_file"
220
- print_info "Please edit $env_file to add your API keys"
221
- return 0
222
- }
223
-
224
- # Show help information
225
- show_help() {
226
- cat << EOF
227
- Stagehand Helper - AI Browser Automation Framework Integration
228
-
229
- USAGE:
230
- $0 [COMMAND] [OPTIONS]
231
-
232
- COMMANDS:
233
- help Show this help message
234
- install Install Stagehand and dependencies
235
- setup Complete setup (install + configure)
236
- create-example Create basic example script
237
- run-example Run the basic example script
238
- status Check Stagehand installation status
239
- logs Show recent Stagehand logs
240
- clean Clean cache and temporary files
241
-
242
- EXAMPLES:
243
- $0 install # Install Stagehand
244
- $0 setup # Complete setup
245
- $0 run-example # Run basic example
246
- $0 status # Check installation
247
-
248
- DOCUMENTATION:
249
- For detailed documentation, see: .agent/STAGEHAND.md
250
- Official docs: https://docs.stagehand.dev
251
- GitHub: https://github.com/browserbase/stagehand
252
-
253
- EOF
254
- return 0
255
- }
256
-
257
- # Main function
258
- main() {
259
- local command="${1:-help}"
260
-
261
- case "$command" in
262
- "help")
263
- show_help
264
- ;;
265
- "install")
266
- install_stagehand
267
- ;;
268
- "setup")
269
- install_stagehand && create_env_config && create_example_script
270
- ;;
271
- "create-example")
272
- create_stagehand_directories && create_example_script
273
- ;;
274
- "run-example")
275
- if [[ -f "${STAGEHAND_EXAMPLES_DIR}/basic-example.js" ]]; then
276
- cd "$STAGEHAND_CONFIG_DIR" || return 1
277
- node "${STAGEHAND_EXAMPLES_DIR}/basic-example.js"
278
- else
279
- print_error "Example script not found. Run '$0 create-example' first."
280
- return 1
281
- fi
282
- ;;
283
- "status")
284
- if [[ -d "$STAGEHAND_CONFIG_DIR" ]] && [[ -f "${STAGEHAND_CONFIG_DIR}/package.json" ]]; then
285
- print_success "Stagehand is installed at: $STAGEHAND_CONFIG_DIR"
286
- if command -v node &> /dev/null; then
287
- print_info "Node.js version: $(node --version)"
288
- fi
289
- if command -v npm &> /dev/null; then
290
- print_info "npm version: $(npm --version)"
291
- fi
292
- else
293
- print_error "Stagehand is not installed. Run '$0 install' first."
294
- return 1
295
- fi
296
- ;;
297
- "logs")
298
- if [[ -f "${STAGEHAND_LOGS_DIR}/stagehand.log" ]]; then
299
- tail -n 50 "${STAGEHAND_LOGS_DIR}/stagehand.log"
300
- else
301
- print_info "No log files found"
302
- fi
303
- ;;
304
- "clean")
305
- print_info "Cleaning Stagehand cache and temporary files..."
306
- rm -rf "${STAGEHAND_CACHE_DIR:?}"/*
307
- rm -rf "${STAGEHAND_LOGS_DIR:?}"/*
308
- print_success "Cleanup completed"
309
- ;;
310
- *)
311
- print_error "$ERROR_UNKNOWN_COMMAND $command"
312
- show_help
313
- return 1
314
- ;;
315
- esac
316
-
317
- return 0
318
- }
319
-
320
- # Execute main function with all arguments
321
- main "$@"
@@ -1,321 +0,0 @@
1
- #!/bin/bash
2
- # shellcheck disable=SC2034,SC2155,SC2317,SC2329,SC2016,SC2181,SC1091,SC2154,SC2015,SC2086,SC2129,SC2030,SC2031,SC2119,SC2120,SC2001,SC2162,SC2088,SC2089,SC2090,SC2029,SC2006,SC2153
3
-
4
- # Stagehand Python Helper - AI Browser Automation Framework Integration
5
- # Part of AI DevOps Framework
6
- # Provides local setup and usage of Stagehand Python for browser automation
7
-
8
- # Source shared constants and functions
9
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
10
- source "${SCRIPT_DIR}/shared-constants.sh"
11
-
12
- # Colors for output
13
- readonly BLUE='\033[0;34m'
14
- readonly GREEN='\033[0;32m'
15
- readonly YELLOW='\033[1;33m'
16
- readonly RED='\033[0;31m'
17
- readonly NC='\033[0m'
18
-
19
- # Print functions
20
- print_info() {
21
- local msg="$1"
22
- echo -e "${BLUE}[INFO]${NC} $msg"
23
- return 0
24
- }
25
-
26
- print_success() {
27
- local msg="$1"
28
- echo -e "${GREEN}[SUCCESS]${NC} $msg"
29
- return 0
30
- }
31
-
32
- print_warning() {
33
- local msg="$1"
34
- echo -e "${YELLOW}[WARNING]${NC} $msg"
35
- return 0
36
- }
37
-
38
- print_error() {
39
- local msg="$1"
40
- echo -e "${RED}[ERROR]${NC} $msg" >&2
41
- return 0
42
- }
43
-
44
- # Stagehand Python-specific constants
45
- readonly STAGEHAND_PYTHON_CONFIG_DIR="${HOME}/.aidevops/stagehand-python"
46
- readonly STAGEHAND_PYTHON_EXAMPLES_DIR="${STAGEHAND_PYTHON_CONFIG_DIR}/examples"
47
- readonly STAGEHAND_PYTHON_LOGS_DIR="${STAGEHAND_PYTHON_CONFIG_DIR}/logs"
48
- readonly STAGEHAND_PYTHON_CACHE_DIR="${STAGEHAND_PYTHON_CONFIG_DIR}/cache"
49
- readonly STAGEHAND_PYTHON_VENV_DIR="${STAGEHAND_PYTHON_CONFIG_DIR}/.venv"
50
-
51
- # Create necessary directories
52
- create_stagehand_python_directories() {
53
- local directories=(
54
- "$STAGEHAND_PYTHON_CONFIG_DIR"
55
- "$STAGEHAND_PYTHON_EXAMPLES_DIR"
56
- "$STAGEHAND_PYTHON_LOGS_DIR"
57
- "$STAGEHAND_PYTHON_CACHE_DIR"
58
- )
59
-
60
- for dir in "${directories[@]}"; do
61
- mkdir -p "$dir"
62
- done
63
-
64
- print_success "Created Stagehand Python directories"
65
- return 0
66
- }
67
-
68
- # Check Python installation and version
69
- check_python_requirements() {
70
- print_info "Checking Python requirements..."
71
-
72
- # Check for Python 3.8+
73
- if command -v python3 &> /dev/null; then
74
- local python_version
75
- python_version=$(python3 --version | cut -d' ' -f2)
76
- print_success "Python 3 found: $python_version"
77
-
78
- # Check if version is 3.8+
79
- local major minor
80
- major=$(echo "$python_version" | cut -d'.' -f1)
81
- minor=$(echo "$python_version" | cut -d'.' -f2)
82
-
83
- if [[ "$major" -ge 3 ]] && [[ "$minor" -ge 8 ]]; then
84
- print_success "Python version is compatible (3.8+)"
85
- else
86
- print_error "Python 3.8+ is required. Found: $python_version"
87
- return 1
88
- fi
89
- else
90
- print_error "Python 3 is not installed. Please install Python 3.8+ first."
91
- return 1
92
- fi
93
-
94
- # Check for pip
95
- if command -v pip3 &> /dev/null; then
96
- local pip_version
97
- pip_version=$(pip3 --version | cut -d' ' -f2)
98
- print_success "pip3 found: $pip_version"
99
- else
100
- print_error "pip3 is not installed. Please install pip3 first."
101
- return 1
102
- fi
103
-
104
- return 0
105
- }
106
-
107
- # Install Stagehand Python with virtual environment
108
- install_stagehand_python() {
109
- print_info "Installing Stagehand Python AI Browser Automation Framework..."
110
-
111
- # Check requirements first
112
- if ! check_python_requirements; then
113
- return 1
114
- fi
115
-
116
- # Create directories
117
- create_stagehand_python_directories
118
-
119
- cd "$STAGEHAND_PYTHON_CONFIG_DIR" || return 1
120
-
121
- # Check if uv is available (recommended)
122
- if command -v uv &> /dev/null; then
123
- print_info "Using uv for faster installation..."
124
-
125
- # Create virtual environment with uv
126
- print_info "Creating virtual environment with uv..."
127
- uv venv .venv
128
-
129
- # Activate virtual environment
130
- # shellcheck source=/dev/null
131
- source .venv/bin/activate
132
-
133
- # Install Stagehand with uv
134
- print_info "Installing stagehand with uv..."
135
- uv pip install stagehand
136
-
137
- # Install additional dependencies
138
- print_info "Installing additional dependencies..."
139
- uv pip install python-dotenv pydantic playwright
140
-
141
- else
142
- print_info "Using pip for installation..."
143
-
144
- # Create virtual environment with venv
145
- print_info "Creating virtual environment..."
146
- python3 -m venv .venv
147
-
148
- # Activate virtual environment
149
- # shellcheck source=/dev/null
150
- source .venv/bin/activate
151
-
152
- # Upgrade pip
153
- pip install --upgrade pip
154
-
155
- # Install Stagehand
156
- print_info "Installing stagehand..."
157
- pip install stagehand
158
-
159
- # Install additional dependencies
160
- print_info "Installing additional dependencies..."
161
- pip install python-dotenv pydantic playwright
162
- fi
163
-
164
- # Install Playwright browsers
165
- print_info "Installing Playwright browsers..."
166
- playwright install
167
-
168
- print_success "Stagehand Python installation completed"
169
- print_info "Virtual environment created at: $STAGEHAND_PYTHON_VENV_DIR"
170
- return 0
171
- }
172
-
173
- # Create Python environment configuration
174
- create_python_env_config() {
175
- local env_file="${STAGEHAND_PYTHON_CONFIG_DIR}/.env"
176
-
177
- if [[ -f "$env_file" ]]; then
178
- print_info "Environment file already exists: $env_file"
179
- return 0
180
- fi
181
-
182
- cat > "$env_file" << 'EOF'
183
- # Stagehand Python Configuration
184
- # Copy this file and customize for your needs
185
-
186
- # AI Model Configuration (choose one)
187
- OPENAI_API_KEY=your_openai_api_key_here
188
- ANTHROPIC_API_KEY=your_anthropic_api_key_here
189
- GOOGLE_API_KEY=your_google_api_key_here
190
-
191
- # Browserbase Configuration (optional, for cloud browsers)
192
- BROWSERBASE_API_KEY=your_browserbase_api_key_here
193
- BROWSERBASE_PROJECT_ID=your_browserbase_project_id_here
194
-
195
- # Stagehand Configuration
196
- STAGEHAND_ENV=LOCAL
197
- STAGEHAND_HEADLESS=false
198
- STAGEHAND_VERBOSE=1
199
- STAGEHAND_DEBUG_DOM=true
200
-
201
- # Model Configuration
202
- MODEL_NAME=google/gemini-2.5-flash-preview-05-20
203
- MODEL_API_KEY=${GOOGLE_API_KEY}
204
-
205
- # Logging Configuration
206
- LOG_LEVEL=INFO
207
- LOG_FILE=stagehand-python.log
208
- EOF
209
-
210
- print_success "Created Python environment configuration at: $env_file"
211
- print_info "Please edit $env_file to add your API keys"
212
- return 0
213
- }
214
-
215
- # Show help information
216
- show_help() {
217
- cat << EOF
218
- Stagehand Python Helper - AI Browser Automation Framework Integration
219
-
220
- USAGE:
221
- $0 [COMMAND] [OPTIONS]
222
-
223
- COMMANDS:
224
- help Show this help message
225
- install Install Stagehand Python and dependencies
226
- setup Complete setup (install + configure + examples)
227
- create-examples Create Python example scripts
228
- run-example [NAME] Run a specific example script
229
- status Check Stagehand Python installation status
230
- activate Show activation command for virtual environment
231
- logs Show recent Stagehand Python logs
232
- clean Clean cache and temporary files
233
- test Run basic functionality test
234
-
235
- EXAMPLES:
236
- $0 install # Install Stagehand Python
237
- $0 setup # Complete setup
238
- $0 activate # Show venv activation command
239
- $0 run-example basic # Run basic example
240
- $0 status # Check installation
241
-
242
- VIRTUAL ENVIRONMENT:
243
- To activate the virtual environment manually:
244
- source ~/.aidevops/stagehand-python/.venv/bin/activate
245
-
246
- DOCUMENTATION:
247
- For detailed documentation, see: .agent/STAGEHAND-PYTHON.md
248
- Official docs: https://docs.stagehand.dev
249
- GitHub: https://github.com/browserbase/stagehand-python
250
-
251
- EOF
252
- return 0
253
- }
254
-
255
- # Main function
256
- main() {
257
- local command="${1:-help}"
258
-
259
- case "$command" in
260
- "help")
261
- show_help
262
- ;;
263
- "install")
264
- install_stagehand_python
265
- ;;
266
- "setup")
267
- install_stagehand_python && create_python_env_config
268
- ;;
269
- "create-examples")
270
- create_stagehand_python_directories
271
- print_info "Python examples will be created by the setup script"
272
- ;;
273
- "status")
274
- if [[ -d "$STAGEHAND_PYTHON_VENV_DIR" ]] && [[ -f "${STAGEHAND_PYTHON_VENV_DIR}/bin/activate" ]]; then
275
- print_success "Stagehand Python is installed at: $STAGEHAND_PYTHON_CONFIG_DIR"
276
- print_info "Virtual environment: $STAGEHAND_PYTHON_VENV_DIR"
277
- if command -v python3 &> /dev/null; then
278
- print_info "Python version: $(python3 --version)"
279
- fi
280
- if [[ -f "${STAGEHAND_PYTHON_VENV_DIR}/bin/python" ]]; then
281
- print_info "Virtual env Python: $(${STAGEHAND_PYTHON_VENV_DIR}/bin/python --version)"
282
- fi
283
- else
284
- print_error "Stagehand Python is not installed. Run '$0 install' first."
285
- return 1
286
- fi
287
- ;;
288
- "activate")
289
- if [[ -f "${STAGEHAND_PYTHON_VENV_DIR}/bin/activate" ]]; then
290
- print_info "To activate the virtual environment, run:"
291
- echo "source ${STAGEHAND_PYTHON_VENV_DIR}/bin/activate"
292
- else
293
- print_error "Virtual environment not found. Run '$0 install' first."
294
- return 1
295
- fi
296
- ;;
297
- "logs")
298
- if [[ -f "${STAGEHAND_PYTHON_LOGS_DIR}/stagehand-python.log" ]]; then
299
- tail -n 50 "${STAGEHAND_PYTHON_LOGS_DIR}/stagehand-python.log"
300
- else
301
- print_info "No log files found"
302
- fi
303
- ;;
304
- "clean")
305
- print_info "Cleaning Stagehand Python cache and temporary files..."
306
- rm -rf "${STAGEHAND_PYTHON_CACHE_DIR:?}"/*
307
- rm -rf "${STAGEHAND_PYTHON_LOGS_DIR:?}"/*
308
- print_success "Cleanup completed"
309
- ;;
310
- *)
311
- print_error "$ERROR_UNKNOWN_COMMAND $command"
312
- show_help
313
- return 1
314
- ;;
315
- esac
316
-
317
- return 0
318
- }
319
-
320
- # Execute main function with all arguments
321
- main "$@"