Skip to content

Commit 6e18760

Browse files
Update docs for canonical (#1519)
# why we need to update the docs to show new languages # what changed # test plan <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Adds multi-language SDK docs with a sidebar language selector and synced code block languages, covering TypeScript, Python, Java, Go, and Ruby. Adds the canonical OpenAPI spec and auto-syncs SDK pages from GitHub READMEs. - **New Features** - Added language selector that syncs with code blocks across pages. - Updated navigation to language dropdowns for v3. - Linked docs to the canonical OpenAPI spec. - Added sync script to generate SDK MDX from GitHub READMEs. - Added SDK pages for Go, Java, Python, and Ruby. - Added migration guide for Python v2→v3 and updated the TypeScript migration page. - **Migration** - To refresh SDK docs, run: node packages/docs/scripts/sync-sdk-docs.js. <sup>Written for commit 833eb27. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. --> --------- Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
1 parent 7493db7 commit 6e18760

File tree

15 files changed

+3727
-103
lines changed

15 files changed

+3727
-103
lines changed

packages/docs/docs.json

Lines changed: 221 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -15,112 +15,259 @@
1515
"og:site_name": "Stagehand Docs"
1616
}
1717
},
18+
"openapi": "https://app.stainless.com/api/spec/documented/stagehand/openapi.documented.yml",
1819
"navigation": {
1920
"versions": [
2021
{
2122
"version": "v3",
22-
"groups": [
23-
{
24-
"group": "First Steps",
25-
"pages": [
26-
"v3/first-steps/introduction",
27-
"v3/first-steps/quickstart",
28-
"v3/first-steps/installation",
29-
"v3/first-steps/ai-rules"
30-
]
31-
},
23+
"dropdowns": [
3224
{
33-
"group": "The Basics",
25+
"dropdown": "TypeScript",
26+
"icon": "/images/typescript_yellow.svg",
3427
"pages": [
35-
"v3/basics/act",
36-
"v3/basics/extract",
37-
"v3/basics/observe",
38-
"v3/basics/agent",
39-
"v3/basics/evals"
40-
]
41-
},
42-
{
43-
"group": "Configuration",
44-
"pages": [
45-
"v3/configuration/browser",
46-
"v3/configuration/observability",
47-
"v3/configuration/logging",
48-
"v3/configuration/models"
49-
]
50-
},
51-
{
52-
"group": "Best Practices",
53-
"pages": [
54-
"v3/best-practices/caching",
55-
"v3/best-practices/cost-optimization",
56-
"v3/best-practices/deterministic-agent",
57-
"v3/best-practices/using-multiple-tabs",
58-
"v3/best-practices/deployments",
59-
"v3/best-practices/history",
60-
"v3/best-practices/computer-use",
61-
"v3/best-practices/agent-fallbacks",
62-
"v3/best-practices/prompting-best-practices",
63-
"v3/best-practices/mcp-integrations",
64-
"v3/best-practices/speed-optimization"
28+
"v3/first-steps/introduction"
29+
],
30+
"groups": [
31+
{
32+
"group": "First Steps",
33+
"pages": [
34+
"v3/first-steps/introduction",
35+
"v3/first-steps/quickstart",
36+
"v3/first-steps/installation",
37+
"v3/first-steps/ai-rules"
38+
]
39+
},
40+
{
41+
"group": "The Basics",
42+
"pages": [
43+
"v3/basics/act",
44+
"v3/basics/extract",
45+
"v3/basics/observe",
46+
"v3/basics/agent",
47+
"v3/basics/evals"
48+
]
49+
},
50+
{
51+
"group": "Configuration",
52+
"pages": [
53+
"v3/configuration/browser",
54+
"v3/configuration/observability",
55+
"v3/configuration/logging",
56+
"v3/configuration/models"
57+
]
58+
},
59+
{
60+
"group": "Best Practices",
61+
"pages": [
62+
"v3/best-practices/caching",
63+
"v3/best-practices/cost-optimization",
64+
"v3/best-practices/deterministic-agent",
65+
"v3/best-practices/using-multiple-tabs",
66+
"v3/best-practices/deployments",
67+
"v3/best-practices/history",
68+
"v3/best-practices/computer-use",
69+
"v3/best-practices/agent-fallbacks",
70+
"v3/best-practices/prompting-best-practices",
71+
"v3/best-practices/mcp-integrations",
72+
"v3/best-practices/speed-optimization"
73+
]
74+
},
75+
{
76+
"group": "Integrations",
77+
"pages": [
78+
{
79+
"group": "MCP Server",
80+
"pages": [
81+
"v3/integrations/mcp/introduction",
82+
"v3/integrations/mcp/setup",
83+
"v3/integrations/mcp/tools",
84+
"v3/integrations/mcp/configuration"
85+
]
86+
},
87+
{
88+
"group": "CrewAI",
89+
"pages": [
90+
"v3/integrations/crew-ai/introduction",
91+
"v3/integrations/crew-ai/configuration"
92+
]
93+
},
94+
{
95+
"group": "Langchain",
96+
"pages": [
97+
"v3/integrations/langchain/introduction",
98+
"v3/integrations/langchain/configuration"
99+
]
100+
},
101+
{
102+
"group": "Next.js + Vercel",
103+
"pages": [
104+
"v3/integrations/vercel/introduction",
105+
"v3/integrations/vercel/configuration"
106+
]
107+
},
108+
"v3/integrations/playwright",
109+
"v3/integrations/puppeteer",
110+
"v3/integrations/selenium"
111+
]
112+
},
113+
{
114+
"group": "Reference",
115+
"pages": [
116+
"v3/references/stagehand",
117+
"v3/references/act",
118+
"v3/references/extract",
119+
"v3/references/observe",
120+
"v3/references/agent",
121+
"v3/references/context",
122+
"v3/references/page",
123+
"v3/references/locator",
124+
"v3/references/deeplocator",
125+
"v3/references/response"
126+
]
127+
},
128+
{
129+
"group": "Migration Guides",
130+
"pages": [
131+
"v3/migrations/v2",
132+
"v3/migrations/python"
133+
]
134+
}
65135
]
66136
},
67137
{
68-
"group": "Integrations",
138+
"dropdown": "Python",
139+
"icon": "python",
69140
"pages": [
141+
"v3/sdk/python"
142+
],
143+
"groups": [
70144
{
71-
"group": "MCP Server",
145+
"group": "SDK Reference",
72146
"pages": [
73-
"v3/integrations/mcp/introduction",
74-
"v3/integrations/mcp/setup",
75-
"v3/integrations/mcp/tools",
76-
"v3/integrations/mcp/configuration"
147+
"v3/sdk/python",
148+
"v3/sdk/java",
149+
"v3/sdk/go",
150+
"v3/sdk/ruby"
77151
]
78152
},
79153
{
80-
"group": "CrewAI",
154+
"group": "API Reference",
155+
"openapi": {
156+
"source": "https://app.stainless.com/api/spec/documented/stagehand/openapi.documented.yml",
157+
"directory": "v3/api-reference/python"
158+
},
81159
"pages": [
82-
"v3/integrations/crew-ai/introduction",
83-
"v3/integrations/crew-ai/configuration"
160+
"POST /v1/sessions/start",
161+
"POST /v1/sessions/{id}/navigate",
162+
"POST /v1/sessions/{id}/act",
163+
"POST /v1/sessions/{id}/observe",
164+
"POST /v1/sessions/{id}/extract",
165+
"POST /v1/sessions/{id}/agentExecute",
166+
"POST /v1/sessions/{id}/end"
84167
]
85-
},
168+
}
169+
]
170+
},
171+
{
172+
"dropdown": "Java",
173+
"icon": "java",
174+
"pages": [
175+
"v3/sdk/java"
176+
],
177+
"groups": [
86178
{
87-
"group": "Langchain",
179+
"group": "SDK Reference",
88180
"pages": [
89-
"v3/integrations/langchain/introduction",
90-
"v3/integrations/langchain/configuration"
181+
"v3/sdk/python",
182+
"v3/sdk/java",
183+
"v3/sdk/go",
184+
"v3/sdk/ruby"
91185
]
92186
},
93187
{
94-
"group": "Next.js + Vercel",
188+
"group": "API Reference",
189+
"openapi": {
190+
"source": "https://app.stainless.com/api/spec/documented/stagehand/openapi.documented.yml",
191+
"directory": "v3/api-reference/java"
192+
},
95193
"pages": [
96-
"v3/integrations/vercel/introduction",
97-
"v3/integrations/vercel/configuration"
194+
"POST /v1/sessions/start",
195+
"POST /v1/sessions/{id}/navigate",
196+
"POST /v1/sessions/{id}/act",
197+
"POST /v1/sessions/{id}/observe",
198+
"POST /v1/sessions/{id}/extract",
199+
"POST /v1/sessions/{id}/agentExecute",
200+
"POST /v1/sessions/{id}/end"
98201
]
99-
},
100-
"v3/integrations/playwright",
101-
"v3/integrations/puppeteer",
102-
"v3/integrations/selenium"
202+
}
103203
]
104204
},
105205
{
106-
"group": "Reference",
206+
"dropdown": "Go",
207+
"icon": "golang",
107208
"pages": [
108-
"v3/references/stagehand",
109-
"v3/references/act",
110-
"v3/references/extract",
111-
"v3/references/observe",
112-
"v3/references/agent",
113-
"v3/references/context",
114-
"v3/references/page",
115-
"v3/references/locator",
116-
"v3/references/deeplocator",
117-
"v3/references/response"
209+
"v3/sdk/go"
210+
],
211+
"groups": [
212+
{
213+
"group": "SDK Reference",
214+
"pages": [
215+
"v3/sdk/python",
216+
"v3/sdk/java",
217+
"v3/sdk/go",
218+
"v3/sdk/ruby"
219+
]
220+
},
221+
{
222+
"group": "API Reference",
223+
"openapi": {
224+
"source": "https://app.stainless.com/api/spec/documented/stagehand/openapi.documented.yml",
225+
"directory": "v3/api-reference/go"
226+
},
227+
"pages": [
228+
"POST /v1/sessions/start",
229+
"POST /v1/sessions/{id}/navigate",
230+
"POST /v1/sessions/{id}/act",
231+
"POST /v1/sessions/{id}/observe",
232+
"POST /v1/sessions/{id}/extract",
233+
"POST /v1/sessions/{id}/agentExecute",
234+
"POST /v1/sessions/{id}/end"
235+
]
236+
}
118237
]
119238
},
120239
{
121-
"group": "Migration Guides",
240+
"dropdown": "Ruby",
241+
"icon": "gem",
122242
"pages": [
123-
"v3/migrations/v2"
243+
"v3/sdk/ruby"
244+
],
245+
"groups": [
246+
{
247+
"group": "SDK Reference",
248+
"pages": [
249+
"v3/sdk/python",
250+
"v3/sdk/java",
251+
"v3/sdk/go",
252+
"v3/sdk/ruby"
253+
]
254+
},
255+
{
256+
"group": "API Reference",
257+
"openapi": {
258+
"source": "https://app.stainless.com/api/spec/documented/stagehand/openapi.documented.yml",
259+
"directory": "v3/api-reference/ruby"
260+
},
261+
"pages": [
262+
"POST /v1/sessions/start",
263+
"POST /v1/sessions/{id}/navigate",
264+
"POST /v1/sessions/{id}/act",
265+
"POST /v1/sessions/{id}/observe",
266+
"POST /v1/sessions/{id}/extract",
267+
"POST /v1/sessions/{id}/agentExecute",
268+
"POST /v1/sessions/{id}/end"
269+
]
270+
}
124271
]
125272
}
126273
]
Lines changed: 4 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)