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,483 @@
1
+ ---
2
+ description: Stagehand Python SDK for browser automation
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 Python AI Browser Automation Integration
16
+
17
+ <!-- AI-CONTEXT-START -->
18
+
19
+ ## Quick Reference
20
+
21
+ - Stagehand Python: AI-powered browser automation with Pydantic validation
22
+ - Helper: `bash .agent/scripts/stagehand-python-helper.sh setup|install|status|activate|clean`
23
+ - Virtual env: `~/.aidevops/stagehand-python/.venv/`
24
+ - Config: `~/.aidevops/stagehand-python/.env`
25
+ - Core primitives:
26
+ - `page.act("natural language action")` - Click, fill, scroll
27
+ - `page.extract("instruction", schema=PydanticModel)` - Structured data
28
+ - `page.observe()` - Discover available actions
29
+ - `stagehand.agent()` - Autonomous workflows
30
+ - Models: `google/gemini-2.5-flash-preview-05-20`, OpenAI, Anthropic
31
+ - API keys: `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, `GOOGLE_API_KEY`
32
+ - Env vars: `STAGEHAND_ENV=LOCAL`, `STAGEHAND_HEADLESS=false`
33
+ - Use cases: E-commerce, data collection, testing, business automation
34
+ <!-- AI-CONTEXT-END -->
35
+
36
+ **AI-powered browser automation with natural language control - Now available in Python with Pydantic schema validation**
37
+
38
+ ## Overview
39
+
40
+ Stagehand Python brings the power of AI-driven browser automation to Python developers with native async/await support, Pydantic schema validation, and seamless integration with the Python ecosystem.
41
+
42
+ ### **๐ŸŒŸ Key Features**
43
+
44
+ - **๐Ÿง  AI-Powered Actions**: Use natural language to interact with web pages
45
+ - **๐Ÿ“Š Pydantic Schema Validation**: Type-safe structured data extraction
46
+ - **๐Ÿ” Intelligent Observation**: Discover available actions on any page
47
+ - **๐Ÿค– Autonomous Agents**: Automate entire workflows with AI decision-making
48
+ - **๐Ÿ”’ Local-First**: Works with local browsers for complete privacy
49
+ - **โšก Async/Await Support**: Native Python async programming patterns
50
+
51
+ ### **๐Ÿ†š Python vs JavaScript Comparison**
52
+
53
+ | Feature | JavaScript | Python | Best For |
54
+ |---------|------------|--------|----------|
55
+ | **Type Safety** | TypeScript + Zod | โœ… Pydantic | Python: Better type hints |
56
+ | **Async Support** | Native Promises | โœ… async/await | Python: More intuitive |
57
+ | **Data Science** | Limited | โœ… Rich ecosystem | Python: ML/AI workflows |
58
+ | **Web Development** | โœ… Native | Good | JavaScript: Web-first |
59
+ | **Package Management** | npm/yarn | โœ… pip/uv | Python: Better dependency resolution |
60
+
61
+ ## ๐Ÿš€ **Quick Start**
62
+
63
+ ### **Installation**
64
+
65
+ ```bash
66
+ # Complete setup (recommended)
67
+ bash .agent/scripts/stagehand-python-helper.sh setup
68
+
69
+ # Or step by step
70
+ bash .agent/scripts/stagehand-python-helper.sh install
71
+ bash .agent/scripts/stagehand-python-setup.sh examples
72
+ ```
73
+
74
+ ### **Basic Usage**
75
+
76
+ ```python
77
+ import asyncio
78
+ from stagehand import StagehandConfig, Stagehand
79
+ from pydantic import BaseModel, Field
80
+
81
+ class PageData(BaseModel):
82
+ title: str = Field(..., description="Page title")
83
+ summary: str = Field(..., description="Page summary")
84
+
85
+ async def main():
86
+ config = StagehandConfig(
87
+ env="LOCAL",
88
+ model_name="google/gemini-2.5-flash-preview-05-20",
89
+ model_api_key="your_api_key",
90
+ headless=False
91
+ )
92
+
93
+ stagehand = Stagehand(config)
94
+
95
+ try:
96
+ await stagehand.init()
97
+ page = stagehand.page
98
+
99
+ # Navigate and interact with natural language
100
+ await page.goto("https://example.com")
101
+ await page.act("scroll down to see more content")
102
+
103
+ # Extract structured data with Pydantic validation
104
+ data = await page.extract(
105
+ "extract the page title and summary",
106
+ schema=PageData
107
+ )
108
+
109
+ print(f"Title: {data.title}")
110
+ print(f"Summary: {data.summary}")
111
+
112
+ finally:
113
+ await stagehand.close()
114
+
115
+ asyncio.run(main())
116
+ ```
117
+
118
+ ## ๐Ÿ› ๏ธ **Core Primitives**
119
+
120
+ ### **1. Act - Natural Language Actions**
121
+
122
+ Execute actions using natural language descriptions:
123
+
124
+ ```python
125
+ # Simple actions
126
+ await page.act("click the submit button")
127
+ await page.act("fill in the email field with user@example.com")
128
+ await page.act("scroll down to see more content")
129
+
130
+ # Complex interactions
131
+ await page.act("select 'Premium' from the subscription dropdown")
132
+ await page.act("upload the file from the desktop")
133
+ ```
134
+
135
+ ### **2. Extract - Structured Data with Pydantic**
136
+
137
+ Pull structured data from pages with schema validation:
138
+
139
+ ```python
140
+ from pydantic import BaseModel, Field
141
+ from typing import List
142
+
143
+ class Product(BaseModel):
144
+ name: str = Field(..., description="Product name")
145
+ price: float = Field(..., description="Price in USD")
146
+ rating: float = Field(..., description="Star rating out of 5")
147
+ reviews: List[str] = Field(..., description="Customer review texts")
148
+ in_stock: bool = Field(..., description="Whether item is in stock")
149
+
150
+ # Extract with validation
151
+ products = await page.extract(
152
+ "extract all product details from this page",
153
+ schema=List[Product]
154
+ )
155
+
156
+ for product in products:
157
+ print(f"{product.name}: ${product.price} ({product.rating}โญ)")
158
+ ```
159
+
160
+ ### **3. Observe - Discover Available Actions**
161
+
162
+ Find out what actions are possible on the current page:
163
+
164
+ ```python
165
+ # Discover all interactive elements
166
+ actions = await page.observe()
167
+
168
+ # Find specific types of actions
169
+ buttons = await page.observe("find all clickable buttons")
170
+ forms = await page.observe("find all form fields")
171
+ links = await page.observe("find navigation links")
172
+ ```
173
+
174
+ ### **4. Agent - Autonomous Workflows**
175
+
176
+ Let AI handle entire workflows autonomously:
177
+
178
+ ```python
179
+ # Create an autonomous agent
180
+ agent = stagehand.agent(
181
+ provider="openai",
182
+ model="computer-use-preview",
183
+ integrations=[], # Add MCP integrations here
184
+ system_prompt="You are a helpful browser automation agent."
185
+ )
186
+
187
+ # Execute high-level tasks
188
+ await agent.execute("complete the checkout process for 2 items")
189
+ await agent.execute("find and apply for software engineer jobs")
190
+ await agent.execute("research competitor pricing and create a report")
191
+ ```
192
+
193
+ ## ๐Ÿ”ง **Configuration**
194
+
195
+ ### **Environment Variables**
196
+
197
+ Create `~/.aidevops/stagehand-python/.env`:
198
+
199
+ ```bash
200
+ # AI Provider (choose one)
201
+ OPENAI_API_KEY=your_openai_api_key_here
202
+ ANTHROPIC_API_KEY=your_anthropic_api_key_here
203
+ GOOGLE_API_KEY=your_google_api_key_here
204
+
205
+ # Browser Configuration
206
+ STAGEHAND_ENV=LOCAL # LOCAL or BROWSERBASE
207
+ STAGEHAND_HEADLESS=false # Show browser window
208
+ STAGEHAND_VERBOSE=1 # Logging level
209
+ STAGEHAND_DEBUG_DOM=true # Debug DOM interactions
210
+
211
+ # Model Configuration
212
+ MODEL_NAME=google/gemini-2.5-flash-preview-05-20
213
+ MODEL_API_KEY=${GOOGLE_API_KEY}
214
+
215
+ # Optional: Browserbase (for cloud browsers)
216
+ BROWSERBASE_API_KEY=your_browserbase_api_key_here
217
+ BROWSERBASE_PROJECT_ID=your_browserbase_project_id_here
218
+ ```
219
+
220
+ ### **Advanced Configuration**
221
+
222
+ ```python
223
+ from stagehand import StagehandConfig, Stagehand
224
+
225
+ config = StagehandConfig(
226
+ env="LOCAL",
227
+ verbose=1,
228
+ debug_dom=True,
229
+ headless=False,
230
+ model_name="google/gemini-2.5-flash-preview-05-20",
231
+ model_api_key=os.getenv("GOOGLE_API_KEY"),
232
+ # Browser options
233
+ browser_options={
234
+ "args": [
235
+ "--disable-web-security",
236
+ "--disable-features=VizDisplayCompositor"
237
+ ]
238
+ }
239
+ )
240
+
241
+ stagehand = Stagehand(config)
242
+ ```
243
+
244
+ ## ๐Ÿ“š **Examples**
245
+
246
+ ### **E-commerce Automation**
247
+
248
+ ```python
249
+ import asyncio
250
+ from typing import List
251
+ from pydantic import BaseModel, Field
252
+ from stagehand import StagehandConfig, Stagehand
253
+
254
+ class Product(BaseModel):
255
+ name: str = Field(..., description="Product name")
256
+ price: float = Field(..., description="Price in USD")
257
+ rating: float = Field(..., description="Star rating out of 5")
258
+ review_count: int = Field(..., description="Number of reviews")
259
+
260
+ async def search_products(query: str) -> List[Product]:
261
+ config = StagehandConfig(env="LOCAL", headless=True)
262
+ stagehand = Stagehand(config)
263
+
264
+ try:
265
+ await stagehand.init()
266
+ page = stagehand.page
267
+
268
+ await page.goto("https://amazon.com")
269
+ await page.act(f'search for "{query}"')
270
+
271
+ products = await page.extract(
272
+ "extract the first 5 products with details",
273
+ schema=List[Product]
274
+ )
275
+
276
+ return products
277
+
278
+ finally:
279
+ await stagehand.close()
280
+
281
+ # Usage
282
+ products = await search_products("wireless headphones")
283
+ for product in products:
284
+ print(f"{product.name}: ${product.price}")
285
+ ```
286
+
287
+ ### **Data Collection with Error Handling**
288
+
289
+ ```python
290
+ import asyncio
291
+ import json
292
+ from datetime import datetime
293
+ from typing import List, Optional
294
+ from pydantic import BaseModel, Field, ValidationError
295
+ from stagehand import StagehandConfig, Stagehand
296
+
297
+ class Article(BaseModel):
298
+ headline: str = Field(..., description="Article headline")
299
+ summary: str = Field(..., description="Article summary")
300
+ author: Optional[str] = Field(None, description="Article author")
301
+ publish_date: Optional[str] = Field(None, description="Publication date")
302
+
303
+ async def scrape_news(url: str) -> List[Article]:
304
+ config = StagehandConfig(
305
+ env="LOCAL",
306
+ headless=True,
307
+ verbose=1
308
+ )
309
+
310
+ stagehand = Stagehand(config)
311
+
312
+ try:
313
+ await stagehand.init()
314
+ page = stagehand.page
315
+
316
+ await page.goto(url)
317
+
318
+ # Handle cookie banners
319
+ try:
320
+ await page.act("accept cookies if there's a banner")
321
+ except Exception:
322
+ pass # No cookies to handle
323
+
324
+ articles = await page.extract(
325
+ "extract all news articles with headlines and summaries",
326
+ schema=List[Article]
327
+ )
328
+
329
+ # Save results with timestamp
330
+ results = {
331
+ "url": url,
332
+ "timestamp": datetime.now().isoformat(),
333
+ "articles": [article.dict() for article in articles]
334
+ }
335
+
336
+ with open(f"news-{datetime.now().strftime('%Y%m%d_%H%M%S')}.json", 'w') as f:
337
+ json.dump(results, f, indent=2)
338
+
339
+ return articles
340
+
341
+ except ValidationError as e:
342
+ print(f"Data validation error: {e}")
343
+ return []
344
+ except Exception as e:
345
+ print(f"Scraping error: {e}")
346
+ return []
347
+ finally:
348
+ await stagehand.close()
349
+ ```
350
+
351
+ ## ๐Ÿ”— **MCP Integration**
352
+
353
+ ### **Setup MCP Integration**
354
+
355
+ ```bash
356
+ # Setup Python MCP integration
357
+ bash .agent/scripts/setup-mcp-integrations.sh stagehand-python
358
+
359
+ # Setup both JavaScript and Python
360
+ bash .agent/scripts/setup-mcp-integrations.sh stagehand-both
361
+ ```
362
+
363
+ ### **Using MCP with Stagehand Python**
364
+
365
+ ```python
366
+ # MCP integration example (when available)
367
+ from stagehand import StagehandConfig, Stagehand
368
+
369
+ config = StagehandConfig(
370
+ env="LOCAL",
371
+ model_name="google/gemini-2.5-flash-preview-05-20",
372
+ model_api_key=os.getenv("GOOGLE_API_KEY")
373
+ )
374
+
375
+ stagehand = Stagehand(config)
376
+
377
+ # Create agent with MCP integrations
378
+ agent = stagehand.agent(
379
+ provider="openai",
380
+ model="computer-use-preview",
381
+ integrations=[
382
+ # MCP integrations will be added here
383
+ ],
384
+ system_prompt="You have access to browser automation and external tools."
385
+ )
386
+
387
+ await agent.execute("Search for information and save it to the database")
388
+ ```
389
+
390
+ ## ๐ŸŽฏ **Use Cases**
391
+
392
+ ### **๐Ÿ›’ E-commerce & Shopping**
393
+
394
+ - Product research and price comparison
395
+ - Automated purchasing workflows
396
+ - Inventory monitoring with Pydantic validation
397
+ - Review and rating analysis
398
+
399
+ ### **๐Ÿ“Š Data Collection & Research**
400
+
401
+ - Web scraping with structured data extraction
402
+ - Competitive analysis automation
403
+ - Market research data gathering with type safety
404
+ - Content aggregation with validation
405
+
406
+ ### **๐Ÿงช Testing & QA**
407
+
408
+ - User journey testing with async patterns
409
+ - Form validation testing
410
+ - Cross-browser compatibility testing
411
+ - Accessibility testing with structured reporting
412
+
413
+ ### **๐Ÿ’ผ Business Process Automation**
414
+
415
+ - Lead generation workflows
416
+ - CRM data entry automation with validation
417
+ - Report generation with Pydantic models
418
+ - Administrative task automation
419
+
420
+ ## ๐Ÿ”’ **Security & Privacy**
421
+
422
+ ### **Local-First Approach**
423
+
424
+ - **Complete Privacy**: All automation runs on your local machine
425
+ - **No Data Transmission**: Sensitive data never leaves your environment
426
+ - **Full Control**: You control all browser instances and data
427
+ - **Enterprise Ready**: Perfect for confidential business processes
428
+
429
+ ### **Type Safety**
430
+
431
+ - **Pydantic Validation**: All extracted data is validated against schemas
432
+ - **Runtime Type Checking**: Catch data issues early
433
+ - **IDE Support**: Full type hints and autocompletion
434
+ - **Error Handling**: Graceful handling of validation errors
435
+
436
+ ## ๐Ÿ› ๏ธ **Helper Commands**
437
+
438
+ ```bash
439
+ # Installation and setup
440
+ bash .agent/scripts/stagehand-python-helper.sh install # Install Stagehand Python
441
+ bash .agent/scripts/stagehand-python-helper.sh setup # Complete setup
442
+ bash .agent/scripts/stagehand-python-helper.sh status # Check installation
443
+
444
+ # Virtual environment management
445
+ bash .agent/scripts/stagehand-python-helper.sh activate # Show activation command
446
+ source ~/.aidevops/stagehand-python/.venv/bin/activate # Activate venv
447
+
448
+ # Development and testing
449
+ bash .agent/scripts/stagehand-python-setup.sh examples # Create examples
450
+ python examples/basic_example.py # Run basic example
451
+ python examples/ecommerce_automation.py "headphones" # Run product search
452
+
453
+ # Maintenance
454
+ bash .agent/scripts/stagehand-python-helper.sh clean # Clean cache and logs
455
+ ```
456
+
457
+ ## ๐Ÿ“– **Resources**
458
+
459
+ ### **Official Documentation**
460
+
461
+ - **Stagehand Python Docs**: https://docs.stagehand.dev
462
+ - **GitHub Repository**: https://github.com/browserbase/stagehand-python
463
+ - **Pydantic Documentation**: https://docs.pydantic.dev
464
+
465
+ ### **AI DevOps Framework Integration**
466
+
467
+ - **JavaScript Version**: docs/STAGEHAND.md
468
+ - **MCP Integrations**: docs/MCP-INTEGRATIONS.md
469
+ - **Browser Automation**: docs/BROWSER-AUTOMATION.md
470
+
471
+ ### **Python Ecosystem**
472
+
473
+ - **AsyncIO Documentation**: https://docs.python.org/3/library/asyncio.html
474
+ - **Type Hints Guide**: https://docs.python.org/3/library/typing.html
475
+ - **Virtual Environments**: https://docs.python.org/3/tutorial/venv.html
476
+
477
+ ---
478
+
479
+ **๐ŸŽ‰ Ready to revolutionize your browser automation with Python? Get started with Stagehand Python today!**
480
+
481
+ ```bash
482
+ bash .agent/scripts/stagehand-python-helper.sh setup
483
+ ```