Skip to content

Commit 43b1e17

Browse files
Alek99claudeFarhanAliRaza
authored
Rename AI onboarding docs to Agent Toolkit (#6510)
* Rename AI onboarding docs to Agent Toolkit * Simplify breadcrumb label mapping * address review: top-level get_config import, drop dead breadcrumb override, reword toolkit intro * address review: accurate tabs intro, drop redundant manual title --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Farhan <www.mfarvirus@gmail.com>
1 parent e3fe1a1 commit 43b1e17

14 files changed

Lines changed: 66 additions & 48 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
> Build faster with Reflex:
2525
>
2626
> - **[AI Builder](https://build.reflex.dev/)** - Generate full-stack Reflex apps in seconds.
27-
> - **[Agent Toolkit](https://reflex.dev/docs/ai/integrations/ai-onboarding/)** - Connect MCP and Skills to your coding assistant.
27+
> - **[Agent Toolkit](https://reflex.dev/docs/ai/integrations/agent-toolkit/)** - Connect MCP and Skills to your coding assistant.
2828
> - **[App Management](https://reflex.dev/hosting)** - Deploy and manage your Reflex apps.
2929
3030
---

docs/ai_builder/features/agent_toolkit.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,4 @@ Skills add reusable Reflex-specific workflows to a local coding assistant. The A
4242

4343
Use MCP for current structured documentation and component context. Use Skills for repeatable setup, development, validation, and debugging behavior. They can be used together.
4444

45-
For the complete onboarding workflow, see [AI Onboarding](/docs/ai/integrations/ai-onboarding/).
45+
For the complete onboarding workflow, see the [Agent Toolkit guide](/docs/ai/integrations/agent-toolkit/).

docs/ai_builder/integrations/ai_onboarding.md renamed to docs/ai_builder/integrations/agent_toolkit.md

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# AI Onboarding
1+
# Agent Toolkit
22

33
```python exec
44
import reflex as rx
@@ -20,7 +20,7 @@ def _resource_card(
2020
)
2121

2222

23-
def onboarding_resources() -> rx.Component:
23+
def agent_toolkit_resources() -> rx.Component:
2424
return rx.el.div(
2525
_resource_card(
2626
"Docs for Agents",
@@ -51,12 +51,10 @@ def onboarding_resources() -> rx.Component:
5151
)
5252
```
5353

54-
Everything you need to onboard your AI coding assistant to Reflex.
55-
56-
If you are building Reflex apps with AI, combine current docs, structured MCP context, and local skills so the assistant can plan, code, run, and debug with the same assumptions as the Reflex docs.
54+
The Agent Toolkit gives AI coding assistants the Reflex context they need to plan, code, run, and debug with the same assumptions as the Reflex docs.
5755

5856
```python eval
59-
onboarding_resources()
57+
agent_toolkit_resources()
6058
```
6159

6260
## Prerequisite: Choose Your Workflow
@@ -71,7 +69,7 @@ You do not need an API key to read Reflex documentation. Start by deciding how y
7169

7270
## Reflex Docs for Agents
7371

74-
You can give your assistant current Reflex documentation in a few ways.
72+
You can give your assistant current Reflex documentation in a few ways, whether it reads Markdown directly or queries the docs over MCP. Each tab below covers one approach and when to reach for it.
7573

7674
`````md tabs
7775

@@ -80,7 +78,7 @@ You can give your assistant current Reflex documentation in a few ways.
8078
Every docs page has a Markdown version that agents can read directly. Add `.md` to the docs path:
8179

8280
```text
83-
https://reflex.dev/docs/ai/integrations/ai-onboarding.md
81+
https://reflex.dev/docs/ai/integrations/agent-toolkit.md
8482
```
8583

8684
Use this when an agent needs one focused page.

docs/ai_builder/integrations/agents_md.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ cp AGENTS.md /path/to/your/reflex-project/AGENTS.md
8989

9090
## Combining With Skills and MCP
9191

92-
`AGENTS.md` and `CLAUDE.md` anchor the assistant in your project. Pair them with the other onboarding tools for deeper Reflex knowledge:
92+
`AGENTS.md` and `CLAUDE.md` anchor the assistant in your project. Pair them with the Agent Toolkit resources for deeper Reflex knowledge:
9393

9494
- [Reflex Agent Skills](/docs/ai/integrations/skills/) provide reusable workflows that the file references by name.
9595
- [Reflex MCP](/docs/ai/integrations/mcp-overview/) provides structured documentation lookup at runtime.

docs/app/agent_files/_plugin.py

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,11 @@
1515
"ai/integrations/mcp-installation.md",
1616
"ai/integrations/mcp-overview.md",
1717
}
18-
AI_ONBOARDING_DOC_PATHS = {
19-
"ai/integrations/ai-onboarding.md",
18+
AGENT_TOOLKIT_DOC_PATHS = {
19+
"ai/integrations/agent-toolkit.md",
20+
}
21+
LEGACY_MARKDOWN_ALIASES = {
22+
Path("ai/integrations/ai-onboarding.md"): Path("ai/integrations/agent-toolkit.md"),
2023
}
2124
MCP_DOC_ORDER = {
2225
"ai/integrations/mcp-overview.md": 0,
@@ -187,7 +190,7 @@ def _include_index_entry_in_llms_txt(markdown_file: MarkdownIndexEntry) -> bool:
187190
path = markdown_file.url_path.as_posix()
188191
return (
189192
path in MCP_DOC_PATHS
190-
or path in AI_ONBOARDING_DOC_PATHS
193+
or path in AGENT_TOOLKIT_DOC_PATHS
191194
or path in SKILLS_DOC_PATHS
192195
or not path.startswith("ai/")
193196
or path.startswith("ai/overview/")
@@ -197,8 +200,8 @@ def _include_index_entry_in_llms_txt(markdown_file: MarkdownIndexEntry) -> bool:
197200
def _section_for_path(url_path: Path) -> str:
198201
"""Return the llms.txt section for a generated markdown asset."""
199202
path = url_path.as_posix()
200-
if path in AI_ONBOARDING_DOC_PATHS:
201-
return "AI Onboarding"
203+
if path in AGENT_TOOLKIT_DOC_PATHS:
204+
return "Agent Toolkit"
202205
if path in MCP_DOC_PATHS:
203206
return "MCP"
204207
if path in SKILLS_DOC_PATHS:
@@ -216,10 +219,10 @@ def _ordered_sections(
216219
if "AI Builder" in sections and "MCP" in sections:
217220
ordered_sections.remove("MCP")
218221
ordered_sections.insert(ordered_sections.index("AI Builder") + 1, "MCP")
219-
if "AI Builder" in sections and "AI Onboarding" in sections:
220-
ordered_sections.remove("AI Onboarding")
222+
if "AI Builder" in sections and "Agent Toolkit" in sections:
223+
ordered_sections.remove("Agent Toolkit")
221224
ordered_sections.insert(
222-
ordered_sections.index("AI Builder") + 1, "AI Onboarding"
225+
ordered_sections.index("AI Builder") + 1, "Agent Toolkit"
223226
)
224227
if "MCP" in sections and "Skills" in sections:
225228
ordered_sections.remove("Skills")
@@ -844,9 +847,16 @@ def generate_agent_files() -> tuple[tuple[Path, str | bytes], ...]:
844847
(entry.url_path, generate_markdown_file_content(entry))
845848
for entry in markdown_file_entries
846849
)
850+
markdown_files_by_path = dict(markdown_files)
851+
legacy_markdown_files = tuple(
852+
(legacy_path, markdown_files_by_path[target_path])
853+
for legacy_path, target_path in LEGACY_MARKDOWN_ALIASES.items()
854+
if target_path in markdown_files_by_path
855+
)
847856

848857
all_markdown_files = [
849858
*markdown_files,
859+
*legacy_markdown_files,
850860
*dynamic_api_reference_files,
851861
]
852862

docs/app/reflex_docs/reflex_docs.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -172,9 +172,13 @@ def _canonical_url(path: str) -> str:
172172

173173
# Add redirects.
174174
redirects = [
175-
(route.path.replace("/ai/", "/ai-builder/", 1), route.path)
176-
for route in routes
177-
if route.path.startswith("/ai/")
175+
("/ai/integrations/ai-onboarding/", "/ai/integrations/agent-toolkit/"),
176+
("/ai-builder/integrations/ai-onboarding/", "/ai/integrations/agent-toolkit/"),
177+
*[
178+
(route.path.replace("/ai/", "/ai-builder/", 1), route.path)
179+
for route in routes
180+
if route.path.startswith("/ai/")
181+
],
178182
]
179183
redirects.extend([
180184
("/ai/features/ide/", "/ai/features/editor-modes/"),

docs/app/reflex_docs/templates/docpage/sidebar/sidebar.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@
1313
from reflex_site_shared.components.docs_shell import docs_sidebar_leaf as sidebar_leaf
1414

1515
from .sidebar_items.ai import (
16+
agent_toolkit_items,
1617
ai_builder_integrations,
1718
ai_builder_overview_items,
18-
ai_onboarding_items,
1919
mcp_items,
2020
skills_items,
2121
)
@@ -234,7 +234,7 @@ def append_to_items(items, flat_items):
234234
+ recipes
235235
+ ai_builder_overview_items
236236
+ ai_builder_integrations
237-
+ ai_onboarding_items
237+
+ agent_toolkit_items
238238
+ mcp_items
239239
+ skills_items
240240
+ api_reference
@@ -324,7 +324,7 @@ def sidebar_comp(
324324
recipes_index: rx.vars.ArrayVar[list[int]],
325325
enterprise_usage_index: rx.vars.ArrayVar[list[int]],
326326
enterprise_component_index: rx.vars.ArrayVar[list[int]],
327-
ai_onboarding_index: rx.vars.ArrayVar[list[int]],
327+
agent_toolkit_index: rx.vars.ArrayVar[list[int]],
328328
mcp_index: rx.vars.ArrayVar[list[int]],
329329
skills_index: rx.vars.ArrayVar[list[int]],
330330
ai_builder_overview_index: rx.vars.ArrayVar[list[int]],
@@ -348,7 +348,7 @@ def sidebar_comp(
348348
is_docs_hosting = url.startswith("/hosting/")
349349
is_docs_ai_builder = url.startswith("/ai/")
350350
is_ai_mcp_or_skills = (
351-
url.startswith("/ai/integrations/ai-onboarding/")
351+
url.startswith("/ai/integrations/agent-toolkit/")
352352
| url.startswith("/ai/integrations/skills/")
353353
| url.startswith("/ai/integrations/agents-md/")
354354
| url.startswith("/ai/integrations/mcp")
@@ -387,8 +387,8 @@ def sidebar_comp(
387387
~is_ai_mcp_or_skills,
388388
),
389389
sidebar_category(
390-
"MCP/Skills",
391-
ai_builder_pages.integrations.ai_onboarding.path,
390+
"Agent Toolkit",
391+
ai_builder_pages.integrations.agent_toolkit.path,
392392
"plug",
393393
is_ai_mcp_or_skills,
394394
),
@@ -397,9 +397,9 @@ def sidebar_comp(
397397
ai_mcp_skills_content = rx.el.ul(
398398
create_sidebar_section(
399399
"Overview",
400-
ai_builder_pages.integrations.ai_onboarding.path,
401-
ai_onboarding_items,
402-
ai_onboarding_index,
400+
ai_builder_pages.integrations.agent_toolkit.path,
401+
agent_toolkit_items,
402+
agent_toolkit_index,
403403
url,
404404
),
405405
create_sidebar_section(
@@ -647,7 +647,7 @@ def sidebar(url=None, width: str = "100%") -> rx.Component:
647647
enterprise_component_index=calculate_index(
648648
enterprise_component_items, normalized_url
649649
),
650-
ai_onboarding_index=calculate_index(ai_onboarding_items, normalized_url),
650+
agent_toolkit_index=calculate_index(agent_toolkit_items, normalized_url),
651651
ai_builder_overview_index=calculate_index(
652652
ai_builder_overview_items, normalized_url
653653
),

docs/app/reflex_docs/templates/docpage/sidebar/sidebar_items/ai.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -172,13 +172,13 @@ def get_ai_builder_integrations():
172172
]
173173

174174

175-
def get_sidebar_items_ai_onboarding():
175+
def get_sidebar_items_agent_toolkit():
176176
from reflex_docs.pages.docs import ai_builder
177177

178178
return [
179179
SideBarItem(
180-
names="AI Onboarding",
181-
link=ai_builder.integrations.ai_onboarding.path,
180+
names="Agent Toolkit",
181+
link=ai_builder.integrations.agent_toolkit.path,
182182
),
183183
]
184184

@@ -215,6 +215,6 @@ def get_sidebar_items_skills():
215215

216216
ai_builder_overview_items = get_sidebar_items_ai_builder_overview()
217217
ai_builder_integrations = get_ai_builder_integrations()
218-
ai_onboarding_items = get_sidebar_items_ai_onboarding()
218+
agent_toolkit_items = get_sidebar_items_agent_toolkit()
219219
mcp_items = get_sidebar_items_mcp()
220220
skills_items = get_sidebar_items_skills()

docs/app/tests/test_agent_files.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,9 @@ def test_generate_llms_txt_groups_docs_at_public_root(monkeypatch):
5858
section="MCP",
5959
),
6060
MarkdownIndexEntry(
61-
url_path=Path("ai/integrations/ai-onboarding.md"),
62-
title="AI Onboarding",
63-
section="AI Onboarding",
61+
url_path=Path("ai/integrations/agent-toolkit.md"),
62+
title="Agent Toolkit",
63+
section="Agent Toolkit",
6464
),
6565
MarkdownIndexEntry(
6666
url_path=Path("ai/integrations/mcp-installation.md"),
@@ -103,9 +103,9 @@ def test_generate_llms_txt_groups_docs_at_public_root(monkeypatch):
103103
)
104104
assert "Resend Integration" not in content
105105
assert "Code and Review" not in content
106-
assert "### AI Onboarding\n\n" in content
106+
assert "### Agent Toolkit\n\n" in content
107107
assert (
108-
"- [AI Onboarding](https://reflex.dev/docs/ai/integrations/ai-onboarding.md)"
108+
"- [Agent Toolkit](https://reflex.dev/docs/ai/integrations/agent-toolkit.md)"
109109
in content
110110
)
111111
assert "### MCP\n\n" in content
@@ -119,8 +119,8 @@ def test_generate_llms_txt_groups_docs_at_public_root(monkeypatch):
119119
)
120120
assert "### Skills\n\n" in content
121121
assert "- [Skills](https://reflex.dev/docs/ai/integrations/skills.md)" in content
122-
assert content.index("### AI Builder") < content.index("### AI Onboarding")
123-
assert content.index("### AI Onboarding") < content.index("### MCP")
122+
assert content.index("### AI Builder") < content.index("### Agent Toolkit")
123+
assert content.index("### Agent Toolkit") < content.index("### MCP")
124124
assert content.index("### MCP") < content.index("### Skills")
125125
assert content.index("mcp-overview.md") < content.index("mcp-installation.md")
126126

@@ -373,6 +373,10 @@ def test_generate_agent_files_emits_trailing_slash_variants():
373373
path for path in files if path.suffix == ".md" and path.name != ".md"
374374
]
375375
assert markdown_paths, "expected at least one markdown asset"
376+
assert (
377+
files[Path("ai/integrations/ai-onboarding.md")]
378+
== files[Path("ai/integrations/agent-toolkit.md")]
379+
)
376380

377381
for path in markdown_paths:
378382
twin = markdown_path_for_trailing_slash_url(path)

docs/app/tests/test_routes.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,13 @@ def test_ai_builder_routes_use_ai_prefix(routes_fixture):
4545
paths = {route.path for route in routes_fixture if route.path}
4646

4747
assert "/ai/overview/best-practices/" in paths
48-
assert "/ai/integrations/ai-onboarding/" in paths
48+
assert "/ai/integrations/agent-toolkit/" in paths
4949
assert "/ai/integrations/mcp-overview/" in paths
5050
assert "/ai/integrations/skills/" in paths
51+
assert "/ai/integrations/ai-onboarding/" not in paths
5152
assert "/ai-builder/overview/best-practices/" not in paths
5253
assert "/ai-builder/integrations/ai-onboarding/" not in paths
54+
assert "/ai-builder/integrations/agent-toolkit/" not in paths
5355
assert "/ai-builder/integrations/mcp-overview/" not in paths
5456
assert "/ai-builder/integrations/skills/" not in paths
5557

0 commit comments

Comments
 (0)