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,456 @@
1
+ ---
2
+ description: Stagehand MCP usage examples and patterns
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: true
12
+ task: true
13
+ ---
14
+
15
+ # Stagehand MCP Usage Examples
16
+
17
+ <!-- AI-CONTEXT-START -->
18
+
19
+ ## Quick Reference
20
+
21
+ - Stagehand examples for AI-powered browser automation (JavaScript)
22
+ - Core methods: `act()`, `extract()`, `observe()`, `agent.execute()`
23
+ - Data extraction: Use Zod schemas for structured output
24
+ - Agent mode: `stagehand.agent({ cua: true, model: "..." })`
25
+ - Example categories:
26
+ - E-commerce: Product search, price monitoring, comparison
27
+ - Data collection: News scraping, social media analytics
28
+ - Testing: User journey, accessibility, QA automation
29
+ - Autonomous agents: Job applications, research, reports
30
+ - Error handling: Use try/catch with `stagehand.close()` in finally
31
+ - Rate limiting: Add delays, respect robots.txt
32
+ - Integration: Works with Chrome DevTools, Playwright, Context7 MCPs
33
+ <!-- AI-CONTEXT-END -->
34
+
35
+ ## AI-Powered Browser Automation
36
+
37
+ ### **Basic Natural Language Automation**
38
+
39
+ ```javascript
40
+ // Use Stagehand through MCP for natural language browser control
41
+ import { Stagehand } from "@browserbasehq/stagehand";
42
+ import { z } from "zod";
43
+
44
+ const stagehand = new Stagehand({
45
+ env: "LOCAL",
46
+ verbose: 1,
47
+ headless: false
48
+ });
49
+
50
+ await stagehand.init();
51
+
52
+ // Navigate and interact with natural language
53
+ await stagehand.page.goto("https://example.com");
54
+ await stagehand.act("click the 'Get Started' button");
55
+ await stagehand.act("fill in the email field with test@example.com");
56
+ await stagehand.act("submit the form");
57
+
58
+ await stagehand.close();
59
+ ```
60
+
61
+ ### **Structured Data Extraction**
62
+
63
+ ```javascript
64
+ // Extract structured data from web pages
65
+ const productData = await stagehand.extract(
66
+ "extract all product information from this page",
67
+ z.object({
68
+ products: z.array(z.object({
69
+ name: z.string().describe("Product name"),
70
+ price: z.number().describe("Price in USD"),
71
+ rating: z.number().describe("Star rating out of 5"),
72
+ availability: z.string().describe("Stock status"),
73
+ description: z.string().describe("Product description")
74
+ }))
75
+ })
76
+ );
77
+
78
+ console.log("Extracted products:", productData.products);
79
+ ```
80
+
81
+ ## 🛒 **E-commerce Automation Examples**
82
+
83
+ ### **Product Research Automation**
84
+
85
+ ```javascript
86
+ // Automated product comparison across multiple sites
87
+ async function compareProducts(productQuery, sites = ["amazon.com", "ebay.com"]) {
88
+ const results = [];
89
+
90
+ for (const site of sites) {
91
+ await stagehand.page.goto(`https://${site}`);
92
+ await stagehand.act(`search for "${productQuery}"`);
93
+
94
+ const products = await stagehand.extract(
95
+ "extract the first 5 products with prices and ratings",
96
+ z.array(z.object({
97
+ name: z.string(),
98
+ price: z.number(),
99
+ rating: z.number().optional(),
100
+ url: z.string().optional()
101
+ })).max(5)
102
+ );
103
+
104
+ results.push({ site, products });
105
+ }
106
+
107
+ return results;
108
+ }
109
+
110
+ // Usage
111
+ const comparison = await compareProducts("wireless headphones");
112
+ console.log("Product comparison:", comparison);
113
+ ```
114
+
115
+ ### **Price Monitoring**
116
+
117
+ ```javascript
118
+ // Monitor product prices and get alerts
119
+ async function monitorPrice(productUrl, targetPrice) {
120
+ await stagehand.page.goto(productUrl);
121
+
122
+ const currentPrice = await stagehand.extract(
123
+ "extract the current product price",
124
+ z.object({
125
+ price: z.number().describe("Current price in USD"),
126
+ currency: z.string().describe("Currency symbol"),
127
+ availability: z.string().describe("Stock status")
128
+ })
129
+ );
130
+
131
+ if (currentPrice.price <= targetPrice) {
132
+ console.log(`🎉 Price alert! Product is now $${currentPrice.price} (target: $${targetPrice})`);
133
+ // Could integrate with notification systems here
134
+ }
135
+
136
+ return currentPrice;
137
+ }
138
+ ```
139
+
140
+ ## 📊 **Data Collection & Research**
141
+
142
+ ### **News Article Scraping**
143
+
144
+ ```javascript
145
+ // Collect news articles with AI-powered extraction
146
+ async function scrapeNews(newsUrl, maxArticles = 10) {
147
+ await stagehand.page.goto(newsUrl);
148
+
149
+ // Handle cookie banners automatically
150
+ await stagehand.act("accept cookies if there's a banner");
151
+
152
+ const articles = await stagehand.extract(
153
+ `extract the first ${maxArticles} news articles`,
154
+ z.array(z.object({
155
+ headline: z.string().describe("Article headline"),
156
+ summary: z.string().describe("Article summary or excerpt"),
157
+ author: z.string().optional().describe("Article author"),
158
+ publishDate: z.string().optional().describe("Publication date"),
159
+ category: z.string().optional().describe("Article category"),
160
+ url: z.string().optional().describe("Article URL")
161
+ })).max(maxArticles)
162
+ );
163
+
164
+ return articles;
165
+ }
166
+
167
+ // Usage
168
+ const news = await scrapeNews("https://news.ycombinator.com", 5);
169
+ console.log("Latest tech news:", news);
170
+ ```
171
+
172
+ ### **Social Media Analytics**
173
+
174
+ ```javascript
175
+ // Analyze social media engagement (ethical use only)
176
+ async function analyzeSocialMedia(platform, hashtag) {
177
+ await stagehand.page.goto(`https://${platform}.com`);
178
+
179
+ // Navigate to hashtag or search
180
+ await stagehand.act(`search for posts with hashtag ${hashtag}`);
181
+
182
+ const posts = await stagehand.extract(
183
+ "analyze the top posts for engagement metrics",
184
+ z.array(z.object({
185
+ content: z.string().describe("Post content preview"),
186
+ author: z.string().describe("Post author"),
187
+ engagement: z.object({
188
+ likes: z.number().describe("Number of likes"),
189
+ comments: z.number().describe("Number of comments"),
190
+ shares: z.number().describe("Number of shares")
191
+ }),
192
+ timestamp: z.string().describe("Post timestamp")
193
+ })).max(10)
194
+ );
195
+
196
+ return posts;
197
+ }
198
+ ```
199
+
200
+ ## 🧪 **Testing & Quality Assurance**
201
+
202
+ ### **Automated User Journey Testing**
203
+
204
+ ```javascript
205
+ // Test complete user workflows
206
+ async function testUserJourney(baseUrl) {
207
+ const testResults = [];
208
+
209
+ try {
210
+ // Test registration flow
211
+ await stagehand.page.goto(`${baseUrl}/register`);
212
+ await stagehand.act("fill in the registration form with test data");
213
+ await stagehand.act("submit the registration form");
214
+
215
+ const registrationResult = await stagehand.observe("check if registration was successful");
216
+ testResults.push({ test: "registration", status: "passed", details: registrationResult });
217
+
218
+ // Test login flow
219
+ await stagehand.act("navigate to login page");
220
+ await stagehand.act("login with the test credentials");
221
+
222
+ const loginResult = await stagehand.observe("check if login was successful");
223
+ testResults.push({ test: "login", status: "passed", details: loginResult });
224
+
225
+ // Test main functionality
226
+ await stagehand.act("navigate to the main dashboard");
227
+ const dashboardElements = await stagehand.observe("find all interactive elements on the dashboard");
228
+ testResults.push({ test: "dashboard", status: "passed", elements: dashboardElements });
229
+
230
+ } catch (error) {
231
+ testResults.push({ test: "user_journey", status: "failed", error: error.message });
232
+ }
233
+
234
+ return testResults;
235
+ }
236
+ ```
237
+
238
+ ### **Accessibility Testing**
239
+
240
+ ```javascript
241
+ // Test website accessibility with AI assistance
242
+ async function testAccessibility(url) {
243
+ await stagehand.page.goto(url);
244
+
245
+ const accessibilityIssues = await stagehand.extract(
246
+ "identify potential accessibility issues on this page",
247
+ z.object({
248
+ issues: z.array(z.object({
249
+ type: z.string().describe("Type of accessibility issue"),
250
+ element: z.string().describe("Affected element"),
251
+ severity: z.enum(["low", "medium", "high"]).describe("Issue severity"),
252
+ suggestion: z.string().describe("Suggested fix")
253
+ })),
254
+ score: z.number().describe("Overall accessibility score out of 100")
255
+ })
256
+ );
257
+
258
+ return accessibilityIssues;
259
+ }
260
+ ```
261
+
262
+ ## 🤖 **Autonomous Agent Examples**
263
+
264
+ ### **Job Application Agent**
265
+
266
+ ```javascript
267
+ // Autonomous job application workflow
268
+ async function autoApplyJobs(jobSearchUrl, criteria) {
269
+ const agent = stagehand.agent({
270
+ cua: true, // Enable Computer Use Agent
271
+ model: "google/gemini-2.5-computer-use-preview-10-2025"
272
+ });
273
+
274
+ await stagehand.page.goto(jobSearchUrl);
275
+
276
+ // Let the agent handle the entire workflow
277
+ const result = await agent.execute(`
278
+ Search for ${criteria.jobTitle} jobs in ${criteria.location}.
279
+ Filter for ${criteria.experience} experience level.
280
+ Apply to the first 3 suitable positions that match:
281
+ - Salary range: ${criteria.salaryRange}
282
+ - Remote work: ${criteria.remote}
283
+ - Company size: ${criteria.companySize}
284
+
285
+ For each application:
286
+ 1. Review the job description
287
+ 2. Customize the cover letter
288
+ 3. Submit the application
289
+ 4. Save the job details for tracking
290
+ `);
291
+
292
+ return result;
293
+ }
294
+
295
+ // Usage
296
+ const jobCriteria = {
297
+ jobTitle: "Software Engineer",
298
+ location: "San Francisco",
299
+ experience: "mid-level",
300
+ salaryRange: "$120k-180k",
301
+ remote: "hybrid",
302
+ companySize: "startup"
303
+ };
304
+
305
+ const applicationResults = await autoApplyJobs("https://linkedin.com/jobs", jobCriteria);
306
+ ```
307
+
308
+ ### **Research Agent**
309
+
310
+ ```javascript
311
+ // Autonomous research and report generation
312
+ async function conductResearch(topic, sources) {
313
+ const agent = stagehand.agent({
314
+ cua: true,
315
+ model: "gpt-4o"
316
+ });
317
+
318
+ const research = await agent.execute(`
319
+ Research the topic: "${topic}"
320
+
321
+ Visit these sources: ${sources.join(", ")}
322
+
323
+ For each source:
324
+ 1. Extract key information and statistics
325
+ 2. Note the publication date and credibility
326
+ 3. Identify supporting evidence and counterarguments
327
+
328
+ Compile a comprehensive research report with:
329
+ - Executive summary
330
+ - Key findings
331
+ - Supporting data
332
+ - Conclusions and recommendations
333
+ - Source citations
334
+ `);
335
+
336
+ return research;
337
+ }
338
+
339
+ // Usage
340
+ const researchTopic = "Impact of AI on Software Development";
341
+ const sources = [
342
+ "https://stackoverflow.blog",
343
+ "https://github.blog",
344
+ "https://research.google.com"
345
+ ];
346
+
347
+ const report = await conductResearch(researchTopic, sources);
348
+ ```
349
+
350
+ ## 🔧 **Integration with AI DevOps Framework**
351
+
352
+ ### **Quality Assurance Integration**
353
+
354
+ ```javascript
355
+ // Integrate with framework's quality tools
356
+ async function runQualityChecks(websiteUrl) {
357
+ // Use Stagehand for functional testing
358
+ const functionalTests = await testUserJourney(websiteUrl);
359
+
360
+ // Use PageSpeed MCP for performance
361
+ const performanceData = await stagehand.extract(
362
+ "analyze page performance metrics",
363
+ z.object({
364
+ loadTime: z.number(),
365
+ coreWebVitals: z.object({
366
+ lcp: z.number(),
367
+ fid: z.number(),
368
+ cls: z.number()
369
+ })
370
+ })
371
+ );
372
+
373
+ // Combine results
374
+ return {
375
+ functional: functionalTests,
376
+ performance: performanceData,
377
+ timestamp: new Date().toISOString()
378
+ };
379
+ }
380
+ ```
381
+
382
+ ### **MCP Server Integration**
383
+
384
+ ```javascript
385
+ // Use Stagehand with other MCP servers
386
+ async function comprehensiveAnalysis(url) {
387
+ // Stagehand for browser automation
388
+ await stagehand.page.goto(url);
389
+ const pageData = await stagehand.extract("extract all page content", z.any());
390
+
391
+ // Chrome DevTools MCP for performance
392
+ // Playwright MCP for cross-browser testing
393
+ // Context7 MCP for documentation lookup
394
+
395
+ return {
396
+ content: pageData,
397
+ url: url,
398
+ analysis: "comprehensive"
399
+ };
400
+ }
401
+ ```
402
+
403
+ ## 🎯 **Best Practices**
404
+
405
+ ### **Error Handling**
406
+
407
+ ```javascript
408
+ async function robustAutomation(url) {
409
+ try {
410
+ await stagehand.init();
411
+ await stagehand.page.goto(url);
412
+
413
+ // Use observe to check page state
414
+ const pageState = await stagehand.observe("check if page loaded successfully");
415
+
416
+ if (pageState.includes("error") || pageState.includes("404")) {
417
+ throw new Error("Page failed to load properly");
418
+ }
419
+
420
+ // Continue with automation...
421
+
422
+ } catch (error) {
423
+ console.error("Automation failed:", error);
424
+ // Implement retry logic or fallback
425
+
426
+ } finally {
427
+ await stagehand.close();
428
+ }
429
+ }
430
+ ```
431
+
432
+ ### **Rate Limiting & Ethics**
433
+
434
+ ```javascript
435
+ // Implement ethical automation practices
436
+ async function ethicalAutomation(urls) {
437
+ for (const url of urls) {
438
+ // Respect robots.txt
439
+ const robotsAllowed = await checkRobotsTxt(url);
440
+ if (!robotsAllowed) {
441
+ console.log(`Skipping ${url} - robots.txt disallows`);
442
+ continue;
443
+ }
444
+
445
+ // Add delays between requests
446
+ await new Promise(resolve => setTimeout(resolve, 2000));
447
+
448
+ // Process URL...
449
+ await processUrl(url);
450
+ }
451
+ }
452
+ ```
453
+
454
+ ---
455
+
456
+ **🎉 These examples demonstrate the power of combining Stagehand's AI-driven browser automation with the AI DevOps Framework's comprehensive tooling ecosystem!**