Docs improvements#89
Conversation
Drop the "AI-provided configuration as props" claim: `show_clicker` has `request=None`, so no configuration reaches `App.tsx` (that feature is ai-chat-counter-dashboard's). Also link `workflow` to its docs, matching `what_is.mdx`. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
`User` methods get bare tool names, so it's `create_counter`, not `session_create_counter`; and the clicker tool is listed by its full name, `counter_show_clicker`. Also "we define" -> "you define" per the style guide. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The settings.json snippet enables the plugin (`enabledPlugins`), not "the skill", which isn't introduced until later. Also restore the "UI methods use `UI()`..." sentence from the twin Codex page, so UI methods are introduced before "Next steps" links to their reference. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Current Aviator status
This pull request is currently open (not queued). How to mergeTo merge this PR, comment
See the real-time status of this PR on the
Aviator webapp.
Use the Aviator Chrome Extension
to see the status of your PR within GitHub.
|
720b11b to
a5e3a3a
Compare
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The guide teaches the bare minimum to get started; example prompts are generated by the Reboot plugin's skill, not hand-written. The main.py snippet is now hand-written (not mirrored from the ai-chat-counter example, which keeps its prompts). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
This pull request can't be queued because it's currently a draft. |
The guide's web-app main.tsx snippet is now hand-written (not mirrored from the ai-chat-counter example, which keeps its stylesheet) so readers don't have to create a styles.css. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
a5e3a3a to
2bc6f56
Compare
There was a problem hiding this comment.
Pull request overview
This PR is a broad documentation pass across the Reboot docs set, focused on correcting inaccuracies, improving clarity/grammar, and adding/updating links and examples (including MCP/UI and OAuth token-storage behaviors).
Changes:
- Clarifies and refines conceptual docs across API definition, calling patterns, workflows/idempotency, auth, and MCP/UI integration.
- Updates/expands several library-service docs (Queue, OrderedMap/SortedMap, PubSub, OAuthTokenManager, Mailgun, Ciphertext) with clearer wording and more precise guidance.
- Fixes multiple broken/unclear references, anchors, and example snippets throughout the docs set.
Reviewed changes
Copilot reviewed 50 out of 50 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| reboot/examples/bank-pydantic/api/bank/v1/account.py | Reorders the open factory method definition for clearer “constructor” documentation extraction. |
| rbt/std/oauth/v1/oauth.proto | Clarifies Store semantics for OAuth token storage (wholesale replacement; caller must merge refresh token if needed). |
| documentation/docs/upgrade.md | Tightens upgrade guidance to specify “newer than pinned version, up to target.” |
| documentation/docs/tools/cli.md | Removes resolved TODO reference. |
| documentation/docs/library_services/sorted_map.mdx | Corrects reverse-range validity explanation (end_key relationship) and improves phrasing. |
| documentation/docs/library_services/queue.mdx | Refines Queue intro, wording, and examples around enqueue/dequeue usage. |
| documentation/docs/library_services/pubsub.mdx | Clarifies required libraries/servicers and improves wording/grammar. |
| documentation/docs/library_services/overview.md | Fixes grammar (“An older…”) and clarifies library-service inclusion at Application startup. |
| documentation/docs/library_services/ordered_map.mdx | Improves grammar/clarity, adjusts examples, and fixes an internal anchor reference. |
| documentation/docs/library_services/oauth_token_manager.mdx | Clarifies “store” semantics and refresh-token handling guidance. |
| documentation/docs/library_services/mailgun.md | Adds integration setup/auth details and clarifies task_id meaning. |
| documentation/docs/library_services/ciphertext.mdx | Fixes grammar and clarifies failure/rotation wording. |
| documentation/docs/learn_more/testing.md | Improves secrets/testing guidance, Node test-runner advice, and Vitest reporter explanation. |
| documentation/docs/learn_more/tasks.mdx | Fixes/updates link and clarifies watch behavior reference. |
| documentation/docs/learn_more/side_effects.md | Improves terminology consistency and fixes footnote/list formatting. |
| documentation/docs/learn_more/secrets.mdx | Adds Reboot Cloud auth context and improves cross-linking to testing harness docs. |
| documentation/docs/learn_more/mcp_apps.mdx | Adds links and clarifies MCP behavior around UI and User state. |
| documentation/docs/learn_more/implement/writers.mdx | Clarifies writer-call restrictions and aligns example naming/casing. |
| documentation/docs/learn_more/implement/workflows.mdx | Adds detail on snapshot/read idempotency and clarifies inline-writer semantics and TS schema requirements. |
| documentation/docs/learn_more/implement/ui_methods.mdx | Expands UI-method explanation and updates hook usage examples for MCP-aware ID resolution. |
| documentation/docs/learn_more/implement/transactions.mdx | Fixes TypeScript transaction servicer example to use Bank consistently. |
| documentation/docs/learn_more/implement/servicers.mdx | Updates wording to include Pydantic and improves clarity around servicer mapping and instance creation. |
| documentation/docs/learn_more/implement/readers.mdx | Clarifies reader semantics as “read-only access.” |
| documentation/docs/learn_more/identity_and_external_apis.mdx | Adds MCP cross-link and clarifies provider selection requirements/behavior. |
| documentation/docs/learn_more/idempotency.mdx | Adds cross-links and clarifies Python vs TypeScript idempotency key APIs. |
| documentation/docs/learn_more/errors.mdx | Expands error-definition guidance across Pydantic/Zod/Proto with clearer examples. |
| documentation/docs/learn_more/define/zod.mdx | Adds Zod intro and emphasizes field tags for backwards compatibility. |
| documentation/docs/learn_more/define/pydantic.mdx | Clarifies how mcp=Tool() affects AI tool exposure. |
| documentation/docs/learn_more/define/protobuf.mdx | Clarifies required imports and service-naming convention (*Methods). |
| documentation/docs/learn_more/define/overview.mdx | Clarifies terminology and broadens codegen note to include Pydantic. |
| documentation/docs/learn_more/define/methods.mdx | Fixes grammar and clarifies MCP exposure requirement for Pydantic-defined APIs. |
| documentation/docs/learn_more/call/via_http.mdx | Improves wording and adds link to ExternalContext docs. |
| documentation/docs/learn_more/call/overview.mdx | Clarifies “state ID” terminology and updates constructor/factory wording for Pydantic/Zod. |
| documentation/docs/learn_more/call/from_within_your_app.mdx | Clarifies workflow exception re: state snapshots and updates context capability table. |
| documentation/docs/learn_more/call/from_react.mdx | Expands hook usage guidance for MCP context and fixes small grammar issues. |
| documentation/docs/learn_more/call/from_outside_your_app.mdx | Improves definition of “external” calls and clarifies reactive readers explanation. |
| documentation/docs/learn_more/call/from_mcp_client.mdx | Improves cross-linking (UI methods, ngrok, auth provider docs) and wording. |
| documentation/docs/learn_more/auth.mdx | Fixes typos/grammar and normalizes terminology (“third-party”). |
| documentation/docs/learn_more/applications.mdx | Clarifies initialize auth token behavior and AI chat app auto-registration wording/links. |
| documentation/docs/learn_more/agents.mdx | Refines agent durability/idempotency explanations and updates terminology/wording. |
| documentation/docs/full_stack_apps/typescript.mdx | Fixes wording and renames servicer step to ChatRoomServicer for consistency. |
| documentation/docs/full_stack_apps/react.mdx | Fixes typos, corrects TypeScript link, and updates Vite default URL guidance. |
| documentation/docs/full_stack_apps/python.mdx | Clarifies API-definition language and improves .rbtrc and persistence explanations. |
| documentation/docs/full_stack_apps/examples.md | Fixes typos and clarifies example descriptions/names and cross-links. |
| documentation/docs/develop_locally.md | Replaces/condenses CLI install guidance and clarifies -- passthrough semantics. |
| documentation/docs/deploy_on_your_own.md | Adds rbt serve run invocation and flag reference section. |
| documentation/docs/ai_chat_apps/what_is.mdx | Fixes grammar and clarifies how tool-exposed methods relate to state instances/IDs. |
| documentation/docs/ai_chat_apps/get_started.mdx | Updates quickstart steps/snippets and clarifies hook/tool naming and required files. |
| documentation/docs/ai_chat_apps/get_started_claude_code.mdx | Clarifies plugin enablement wording and adds UI-method note. |
| documentation/docs/ai_chat_apps/examples.mdx | Improves cross-linking and clarifies example feature descriptions. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| you use it. [`Item`](/library_services/item)s can be [`Enqueue`](#enqueue)d as a | ||
| single `Value`, `bytes`, or `Any` object or can be [`Enqueued`](#bulk-enqueue)ed | ||
| single `Value`, `bytes`, or `Any` object or can be [`Enqueue`](#bulk-enqueue)d | ||
| in bulk as a list of `Item`s. They can then be [`Dequeue`](#dequeue)d singularly | ||
| in [bulk](#bulk-dequeue) as well. In practice, you will want to use just one of | ||
| or in [bulk](#bulk-dequeue) as well. In practice, you will want to use just one of |
| import { | ||
| type DashboardConfig, | ||
| type UseCounterApi, | ||
| useCounter, | ||
| } from "@api/ai_chat_counter/v1/counter_rbt_react"; |
| import { | ||
| type UseCounterApi, | ||
| useCounter, | ||
| } from "@api/ai_chat_counter/v1/counter_rbt_react"; |
| import { | ||
| type UseCounterApi, | ||
| useCounter, | ||
| } from "@api/ai_chat_counter/v1/counter_rbt_react"; |
| import { | ||
| type DashboardConfig, | ||
| useCounter, | ||
| } from "@api/ai_chat_counter/v1/counter_rbt_react"; |
onelxj
left a comment
There was a problem hiding this comment.
One request, your PR description refers to a ticket from our private repo. Let's close that ticket there, reopen it in public repo and then reference to it, thanks!
| touch backend/src/main.py | ||
| ``` | ||
|
|
||
| <!-- MARKDOWN-AUTO-DOCS:START (CODE:src=../../../reboot/examples/ai-chat-counter/backend/src/main.py&syntax=python) --> |
There was a problem hiding this comment.
General question:
Why do we remove autodocs?
That's likely that if we change the code in the future we will forget to update the docs.
| `http://localhost:9991/mcp`; otherwise use your Reboot Cloud | ||
| URL (`https://your-app.prod1.rbt.cloud:9991/mcp`) or your | ||
| `ngrok` tunnel URL with `/mcp` appended. | ||
| [`ngrok`](/learn_more/nonlocal#ngrok) tunnel URL with `/mcp` |
There was a problem hiding this comment.
I thought that agent will run cloudflared in the background as a tunnel, shall we highlight that?
|
|
||
| ```tsx | ||
| import { useCounter } from "@api/ai_chat_counter/v1/counter_rbt_react"; | ||
| import { |
There was a problem hiding this comment.
Is there a chance we can make this be autodocs?
| or _explicitly_, depending on whether or not you have explicitly | ||
| designated certain methods as _constructors_ in your `.proto`, or a | ||
| _factory_, in your Zod schema. | ||
| designated certain methods as _constructors_ in your `.proto`, or as |
There was a problem hiding this comment.
Shall we remove the references to proto and Zod for now, since we are pushing for Pydantic/Python?
|
|
||
| `rbt dev run` will automatically generate code from your Zod schemas | ||
| or `.proto` files and reload your application when your API changes. | ||
| `rbt dev run` will automatically generate code from your Pydantic |
There was a problem hiding this comment.
How about from your API .... and reload your application when it changes?
|
|
||
| <Tabs groupId="language"> | ||
| <TabItem value="python" label="Python" default> | ||
| ```py |
There was a problem hiding this comment.
Can we make this be autodocs?
|
|
||
| Like calls, reads follow the workflow's | ||
| [idempotency rules](#retries-and-idempotency): by default `read()` behaves as | ||
| though you had used `.per_workflow()` (Python) / `.perWorkflow()` |
There was a problem hiding this comment.
Same question about Python vs Typescript docs.
|
|
||
| If you want your inline writer to execute _every time_, use | ||
| `.always()`, e.g., in TypeScript `this.state.always().write(context, ...)`. | ||
| `.always()`, e.g., in TypeScript |
There was a problem hiding this comment.
This one should be Python based definitely.
| retry policy). | ||
| - **Reboot's `at_least_once`** retries the wrapped block until it | ||
| succeeds. | ||
| - **Reboot's `at_least_once`** doesn't itself retry, but a block |
There was a problem hiding this comment.
That is still slightly confusing, shall we explicitly call out that the Workflow body is a thing which is auto-retried and at_most/least_once are memoization guards that might skip steps or fail forever?
| withdrawal. The error is itself defined as a type in your API and listed in the | ||
| method's `errors`: | ||
|
|
||
| <Tabs groupId="language"> |
There was a problem hiding this comment.
Any change for autodocs here?
This is a large, though fairly straightforward, AI-assisted edit of our docs. This is edit 1 of 3, the highest priority items first. Though AI-assisted, I have read through every line of this change. That said, it still could use multiple pair of eyes, so I'm requesting multiple reviewers.
These changes include fixing factual inaccuracies, including more links, grammar and syntax improvements.
Reviewing indivual commits might be helpful for their bevity, though reading it top to bottom should be just as easy to understand.
Fixes #3363