Skip to content

Commit 40fd619

Browse files
shrey150claude
andauthored
Flatten README template list for agent discoverability (#86)
* Flatten README template list for agent discoverability Add a single searchable table of all 80+ templates with name, language, and one-line description so agents and humans can quickly find relevant templates without navigating subdirectories. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ci: validate README template index * fix: align README template index with tracked templates * ci: streamline README index workflow * ci: bump checkout action * docs: group template index by language --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 7cf4107 commit 40fd619

4 files changed

Lines changed: 408 additions & 31 deletions

File tree

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: README Template Index
2+
3+
on:
4+
pull_request:
5+
paths:
6+
- "README.md"
7+
- "go/**"
8+
- "python/**"
9+
- "typescript/**"
10+
- "scripts/check-readme-template-index.mjs"
11+
- ".github/workflows/readme-template-index.yml"
12+
push:
13+
branches:
14+
- dev
15+
paths:
16+
- "README.md"
17+
- "go/**"
18+
- "python/**"
19+
- "typescript/**"
20+
- "scripts/check-readme-template-index.mjs"
21+
- ".github/workflows/readme-template-index.yml"
22+
23+
concurrency:
24+
group: ${{ github.workflow }}-${{ github.ref }}
25+
cancel-in-progress: true
26+
27+
permissions:
28+
contents: read
29+
30+
jobs:
31+
validate-readme-template-index:
32+
runs-on: ubuntu-latest
33+
timeout-minutes: 5
34+
35+
steps:
36+
- name: Check out repository
37+
uses: actions/checkout@v6
38+
39+
- name: Set up Node.js
40+
uses: actions/setup-node@v6
41+
with:
42+
node-version: 20.x
43+
44+
- name: Validate README template index
45+
run: node scripts/check-readme-template-index.mjs

README.md

Lines changed: 60 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,73 @@
11
# Stagehand + Browserbase Templates
22

3-
A comprehensive collection of ready-to-use automation templates demonstrating the power of Stagehand and Browserbase for web automation, data extraction, and AI-powered browser interactions.
3+
Ready-to-use automation templates for Stagehand and Browserbase. Each template has its own README with setup instructions.
44

55
> All templates also live on [browserbase.com/templates](https://www.browserbase.com/templates)
66
7-
## 🚀 Quick Start
7+
## All Templates
8+
9+
| Template | TS | PY | GO | Description |
10+
| -------------------------------- | ------------------------------------------------- | --------------------------------------------- | ------------------- | -------------------------------------------------------------------------------------------------------------- |
11+
| agent-with-human-in-loop | [TS](typescript/agent-with-human-in-loop) | - | - | Build an AI agent that can pause and ask a human for input mid-task |
12+
| amazon-global-price-comparison | [TS](typescript/amazon-global-price-comparison) | [PY](python/amazon-global-price-comparison) | - | Compare Amazon product prices across multiple countries using geolocation proxies |
13+
| amazon-product-scraping | [TS](typescript/amazon-product-scraping) | [PY](python/amazon-product-scraping) | - | Scrape the first 3 Amazon search results for a given query and return structured product data |
14+
| basic-caching | [TS](typescript/basic-caching) | [PY](python/basic-caching) | - | Demonstrate how Stagehand's caching feature reduces cost and latency by reusing previously computed actions |
15+
| basic-recaptcha | [TS](typescript/basic-recaptcha) | [PY](python/basic-recaptcha) | - | Automatic reCAPTCHA solving using Browserbase's built-in captcha solving capabilities |
16+
| browser-agent-demo | [TS](typescript/browser-agent-demo) | - | - | Browser agent that searches the web, fetches page content, and autonomously extracts information |
17+
| browserbase-reducto | [TS](typescript/browserbase-reducto) | [PY](python/browserbase-reducto) | - | Download financial PDFs from websites and extract structured data using AI-powered document parsing |
18+
| business-lookup | [TS](typescript/business-lookup) | [PY](python/business-lookup) | - | Automate business registry searches using an autonomous AI agent with computer-use capabilities |
19+
| cartesia-form-filling | - | [PY](python/cartesia-form-filling) | - | Voice agent that conducts phone questionnaires while automatically filling out web forms |
20+
| cerebras-docs-checker | - | [PY](python/cerebras-docs-checker) | - | Crawl documentation sites, discover source repos, and verify docs accuracy against actual codebase |
21+
| company-address-finder | [TS](typescript/company-address-finder) | [PY](python/company-address-finder) | - | Discover company legal information and physical addresses from Terms of Service and Privacy Policy pages |
22+
| company-value-prop-generator | [TS](typescript/company-value-prop-generator) | [PY](python/company-value-prop-generator) | - | Extract and format website value propositions into concise one-liners for email personalization |
23+
| context | [TS](typescript/context) | [PY](python/context) | - | Persistent authentication using Browserbase contexts that survive across sessions |
24+
| council-events | [TS](typescript/council-events) | [PY](python/council-events) | - | Automate event information extraction from Philadelphia Council |
25+
| download-financial-statements | [TS](typescript/download-financial-statements) | [PY](python/download-financial-statements) | - | Download Apple's quarterly financial statements (PDFs) from their investor relations site |
26+
| dynamic-form-filling | [TS](typescript/dynamic-form-filling) | - | - | Intelligent form filling using a Stagehand AI agent that understands form context and uses semantic matching |
27+
| exa-browserbase | [TS](typescript/exa-browserbase) | [PY](python/exa-browserbase) | - | Automate job applications with AI that writes smart, tailored responses for each role |
28+
| extend-browserbase | [TS](typescript/extend-browserbase) | [PY](python/extend-browserbase) | - | Download receipts from an expense portal and extract structured receipt data using AI-powered document parsing |
29+
| form-filling | [TS](typescript/form-filling) | [PY](python/form-filling) | - | Automate form filling with Stagehand and Browserbase |
30+
| gemini-3-flash | [TS](typescript/gemini-3-flash) | - | - | Autonomous web browsing using Google's Gemini 3 Flash with Stagehand and Browserbase |
31+
| gemini-cua | [TS](typescript/gemini-cua) | [PY](python/gemini-cua) | - | Autonomous web browsing using Google's Computer Use Agent with Stagehand and Browserbase |
32+
| getting-started-with-browserbase | [TS](typescript/getting-started-with-browserbase) | [PY](python/getting-started-with-browserbase) | - | Demo all three core Browserbase capabilities: Search API, Fetch API, and Browser Sessions |
33+
| gift-finder | [TS](typescript/gift-finder) | [PY](python/gift-finder) | - | Find personalized gift recommendations using AI-generated search queries and intelligent product scoring |
34+
| google-trends | [TS](typescript/google-trends) | [PY](python/google-trends) | - | Extract trending search keywords from Google Trends for any country with structured JSON output |
35+
| hackernews | - | - | [GO](go/hackernews) | Demonstrate Stagehand's core browser automation features through a complete Hacker News workflow |
36+
| image-url-download | [TS](typescript/image-url-download) | [PY](python/image-url-download) | - | Extract all image URLs from a page and download each image through the browser's direct connection |
37+
| job-application | [TS](typescript/job-application) | [PY](python/job-application) | - | Automate job applications by discovering job listings and submitting applications |
38+
| license-verification | [TS](typescript/license-verification) | [PY](python/license-verification) | - | Extract structured, validated data from websites using Stagehand + Zod |
39+
| manual-mfa-with-contexts | [TS](typescript/manual-mfa-with-contexts) | [PY](python/manual-mfa-with-contexts) | - | Persist authentication across sessions using Browserbase Contexts, eliminating MFA friction |
40+
| mfa-handling | [TS](typescript/mfa-handling) | [PY](python/mfa-handling) | - | Automate MFA completion using TOTP (Time-based One-Time Password) code generation |
41+
| microsoft-cua | [TS](typescript/microsoft-cua) | - | - | Autonomous web browsing using Microsoft's Computer Use Agent with Stagehand and Browserbase |
42+
| nurse-verification | [TS](typescript/nurse-verification) | [PY](python/nurse-verification) | - | Automate verification of nurse licenses by filling forms and extracting structured results |
43+
| pickleball | [TS](typescript/pickleball) | [PY](python/pickleball) | - | Automate tennis and pickleball court bookings in San Francisco Recreation & Parks system |
44+
| playwright | [TS](typescript/playwright) | [PY](python/playwright) | - | Raw Playwright usage with Browserbase (no Stagehand) |
45+
| playwright-mfa-handling | [TS](typescript/playwright-mfa-handling) | [PY](python/playwright-mfa-handling) | - | Automate MFA completion using TOTP with raw Playwright and Browserbase |
46+
| polymarket-research | [TS](typescript/polymarket-research) | [PY](python/polymarket-research) | - | Automate market research on prediction markets using Stagehand |
47+
| proxies | [TS](typescript/proxies) | [PY](python/proxies) | - | Demonstrate different proxy configurations with Browserbase sessions |
48+
| proxies-weather | [TS](typescript/proxies-weather) | [PY](python/proxies-weather) | - | Geolocation proxies fetching location-specific weather data from multiple cities |
49+
| puppeteer | [TS](typescript/puppeteer) | - | - | Raw Puppeteer usage with Browserbase |
50+
| sec-filing-research | [TS](typescript/sec-filing-research) | [PY](python/sec-filing-research) | - | Search SEC EDGAR for a company and extract recent filing metadata |
51+
| selenium | [TS](typescript/selenium) | [PY](python/selenium) | - | Raw Selenium usage with Browserbase |
52+
| smart-fetch-scraper | [TS](typescript/smart-fetch-scraper) | [PY](python/smart-fetch-scraper) | - | Scrape a webpage using the fastest method available -- Fetch API first, full browser session as fallback |
53+
| website-link-tester | [TS](typescript/website-link-tester) | [PY](python/website-link-tester) | - | Crawl a website's homepage, collect all links, and verify each link loads successfully |
854

9-
1. **Choose your language**: TypeScript or Python
10-
2. **Browse available templates** in the respective language folder
11-
3. **Read the template's README** for detailed setup instructions and use cases
12-
4. **Start automating!**
13-
14-
## 🔧 Getting Started
55+
## Model Gateway
1556

16-
1. **Choose a template** from the TypeScript or Python folders
17-
2. **Read the template's README** for specific setup instructions
18-
3. **Set up your environment** with the required API keys and dependencies
19-
4. **Run the template** and start automating!
57+
Templates use the Model Gateway to route LLM requests -- you only need your `BROWSERBASE_API_KEY`. No separate OpenAI, Anthropic, or Google API keys required. Supported models include OpenAI, Anthropic, and Google (Gemini).
2058

21-
> **💡 Pro Tip**: Each template's README contains detailed installation steps, environment variable requirements, and troubleshooting guides specific to that template.
59+
> **Note**: CUA (Computer Use Agent) models are not yet supported through the Model Gateway. Templates using CUA models still require a separate model provider API key.
2260
23-
## Model Gateway
61+
## Getting Started
2462

25-
Templates use the Model Gateway to route LLM requests — you only need your `BROWSERBASE_API_KEY`. No separate OpenAI, Anthropic, or Google API keys required. Supported models include OpenAI, Anthropic, and Google (Gemini).
63+
1. **Choose a template** from the table above
64+
2. **Read the template's README** for specific setup instructions
65+
3. **Set up your environment** with the required API keys and dependencies
66+
4. **Run the template** and start automating
2667

27-
> **Note**: CUA (Computer Use Agent) models are not yet supported through the Model Gateway. Templates using CUA models still require a separate model provider API key.
68+
Each template's README contains detailed installation steps, environment variable requirements, and troubleshooting guides.
2869

29-
## 📚 Resources
70+
## Resources
3071

3172
### Documentation
3273

@@ -35,18 +76,11 @@ Templates use the Model Gateway to route LLM requests — you only need your `BR
3576

3677
### Support
3778

38-
- **Community**: Join our Discord community
3979
- **Discord**: http://stagehand.dev/discord
4080
- **Email Support**: support@browserbase.com
4181
- **GitHub Issues**: Report bugs and request features
4282

43-
### Examples & Tutorials
44-
45-
- **Getting Started Guide**: Learn the basics of Stagehand
46-
- **Advanced Patterns**: Complex automation workflows
47-
- **Best Practices**: Tips for reliable automation
48-
49-
## 🤝 Contributing
83+
## Contributing
5084

5185
We welcome contributions! Here's how you can help:
5286

@@ -62,10 +96,6 @@ We welcome contributions! Here's how you can help:
6296
- Add proper error handling and logging
6397
- Test templates thoroughly before submitting
6498

65-
## 📄 License
99+
## License
66100

67101
This project is licensed under the MIT License - see the LICENSE file for details.
68-
69-
---
70-
71-
**Ready to start automating?** Pick a template and follow its README to get started! 🚀

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
"private": true,
66
"type": "module",
77
"scripts": {
8+
"check:readme-template-index": "node scripts/check-readme-template-index.mjs",
89
"format": "prettier --write \"**/*.{ts,tsx,js,jsx,json,md,yml,yaml}\"",
910
"format:check": "prettier --check \"**/*.{ts,tsx,js,jsx,json,md,yml,yaml}\"",
1011
"lint": "eslint \"**/*.{ts,tsx,js,jsx}\"",
@@ -13,7 +14,7 @@
1314
"lint:python:fix": "uvx ruff check --fix python/",
1415
"format:python": "uvx ruff format python/",
1516
"format:python:check": "uvx ruff format --check python/",
16-
"check": "npm run format:check && npm run lint && npm run lint:python && npm run format:python:check",
17+
"check": "npm run check:readme-template-index && npm run format:check && npm run lint && npm run lint:python && npm run format:python:check",
1718
"prepare": "husky"
1819
},
1920
"devDependencies": {

0 commit comments

Comments
 (0)