Skip to content

docs: fix config wording, Rust SDK signature, add --timeout-ms#1369

Open
rohitg00 wants to merge 3 commits intomainfrom
fix/docs-config-wording-and-links
Open

docs: fix config wording, Rust SDK signature, add --timeout-ms#1369
rohitg00 wants to merge 3 commits intomainfrom
fix/docs-config-wording-and-links

Conversation

@rohitg00
Copy link
Copy Markdown
Contributor

@rohitg00 rohitg00 commented Mar 27, 2026

Summary

Fixes docs issues found during v0.10.0 DX audit.

1. Fix misleading "no config files" wording (docs/index.mdx)

The landing page said "No service registry, and no config files" but iii uses iii-config.yaml. Reworded to "No service registry needed" — preserves the accurate point about worker self-registration without the false claim about config.

2. Fix Rust SDK reference signature (docs/api-reference/sdk-rust.mdx)

The register_function section showed the old 2-arg signature:

register_function(message: RegisterFunctionMessage, handler: H) -> FunctionRef

Updated to match the actual v0.10.0 generic API:

register_function<R: IntoFunctionRegistration>(registration: R) -> FunctionRef

Lead example now uses the preferred RegisterFunction::new() builder. Tuple form kept as alternative.

3. Add --timeout-ms to CLI trigger docs (docs/how-to/trigger-functions-from-cli.mdx)

The --timeout-ms flag (added in v0.10.0 via #1340) was undocumented. Added to the flag table and error handling table.

4. Bump docs.json version

0.9.00.10.0

Test plan

  • Verify Mintlify renders correctly
  • Check --timeout-ms appears in flag table at /how-to/trigger-functions-from-cli
  • Check Rust SDK reference at /api-reference/sdk-rust shows new signature

Summary by CodeRabbit

  • Documentation

    • Bumped docs version to 0.10.0
    • Refined introductory wording and navigation entries
  • New Features

    • Added --timeout-ms to the CLI trigger command (default 30s) with timeout error handling
    • Default CLI trigger payload now defaults to {}
  • Chores

    • Updated Rust SDK API documentation to prefer a builder-style function registration example

…10.0

- Update Workers description to remove 'no config files' claim since
  iii does use iii-config.yaml for engine configuration. The intent was
  that adding new functions doesn't require config changes (workers
  self-register), so reworded to 'No service registry needed'.
- Bump docs.json version from 0.9.0 to 0.10.0 to match current release.
@mintlify
Copy link
Copy Markdown

mintlify bot commented Mar 27, 2026

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
iii 🟢 Ready View Preview Mar 27, 2026, 11:56 AM

@vercel
Copy link
Copy Markdown
Contributor

vercel bot commented Mar 27, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
iii-website Ready Ready Preview, Comment Mar 28, 2026 9:52am
motia-docs Ready Ready Preview, Comment Mar 28, 2026 9:52am

Request Review

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 27, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 5dca4218-5243-4f76-80b3-9a6756ade40c

📥 Commits

Reviewing files that changed from the base of the PR and between e8f9f73 and a5d8588.

📒 Files selected for processing (1)
  • docs/docs.json
✅ Files skipped from review due to trivial changes (1)
  • docs/docs.json

📝 Walkthrough

Walkthrough

Bumps docs version to 0.10.0, tweaks homepage wording, updates Rust SDK register_function docs to a generic/builder-based signature, and documents CLI iii trigger changes: default payload {} and a new --timeout-ms flag with timeout behavior.

Changes

Cohort / File(s) Summary
Documentation Navigation & Version
docs/docs.json
Bumped navigation.versions[0].version from 0.9.00.10.0.
Homepage Content
docs/index.mdx
Minor wording change in features bullet: removed "no config files" wording and rephrased service-registry line.
SDK Documentation (Rust)
docs/api-reference/sdk-rust.mdx
Docs updated to show register_function<R: IntoFunctionRegistration>(registration: R) and prefer RegisterFunction::new(...).description(...) builder usage; tuple-based low-level example retained as alternative.
CLI Documentation
docs/how-to/trigger-functions-from-cli.mdx
iii trigger docs: default --payload set to {}, added --timeout-ms flag (default 30000), and documented timeout error/exit behavior.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • sergiofilhowz
  • andersonleal

Poem

🐰 hop, hop — docs anew tonight,
Version bumped and examples bright.
Builders bloom where tuples slept,
Timeouts guard the CLI kept,
A tiny hop — the docs feel light.

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes all four main changes: documentation wording fix, Rust SDK signature update, CLI --timeout-ms flag addition, and version bump.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/docs-config-wording-and-links

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

- Update register_function signature in sdk-rust.mdx to show the actual
  v0.10.0 generic IntoFunctionRegistration API instead of the old 2-arg
  form. Lead example with RegisterFunction::new() builder pattern.
- Add --timeout-ms flag to trigger-functions-from-cli.mdx flag table
  and error handling table (added in v0.10.0 via PR #1340).
@rohitg00 rohitg00 force-pushed the fix/docs-config-wording-and-links branch from 5dc8222 to e8f9f73 Compare March 27, 2026 12:11
@rohitg00 rohitg00 changed the title docs: fix config wording, rename to intuitive URLs, fix SDK reference, add --timeout-ms docs: fix config wording, Rust SDK signature, add --timeout-ms Mar 27, 2026
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/how-to/trigger-from-cli.mdx`:
- Line 28: Update the docs table entry for the CLI flag to reflect that the
--payload flag is not required when a default is provided: change "Required:
Yes" to "Required: No" (or add a clarifying note) to match the engine
declaration #[arg(long, default_value = "{}")] and the behavior of the --payload
flag; reference the --payload flag name and the #[arg(long, default_value =
"{}")] attribute so reviewers can locate and verify the change.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: b23cd57f-8d1a-43fa-9a97-03e6dc0df44a

📥 Commits

Reviewing files that changed from the base of the PR and between f85505a and 5dc8222.

📒 Files selected for processing (25)
  • docs/advanced/adapters.mdx
  • docs/api-reference/node.mdx
  • docs/api-reference/python.mdx
  • docs/api-reference/rust.mdx
  • docs/architecture/modules.mdx
  • docs/architecture/queues.mdx
  • docs/architecture/trigger-types.mdx
  • docs/console/index.mdx
  • docs/docs.json
  • docs/how-to/define-request-response-formats.mdx
  • docs/how-to/react-to-state-changes.mdx
  • docs/how-to/trigger-actions.mdx
  • docs/how-to/trigger-from-cli.mdx
  • docs/how-to/use-channels.mdx
  • docs/how-to/use-cron.mdx
  • docs/how-to/use-dead-letter-queues.mdx
  • docs/how-to/use-functions-and-triggers.mdx
  • docs/how-to/use-queues.mdx
  • docs/how-to/use-state.mdx
  • docs/how-to/use-streams.mdx
  • docs/modules/queue.mdx
  • docs/modules/state.mdx
  • engine/install.sh
  • frameworks/motia/MIGRATION_GUIDE.md
  • frameworks/motia/docs/content/docs/getting-started/migration-guide.mdx
✅ Files skipped from review due to trivial changes (16)
  • docs/advanced/adapters.mdx
  • docs/console/index.mdx
  • docs/how-to/use-state.mdx
  • frameworks/motia/docs/content/docs/getting-started/migration-guide.mdx
  • engine/install.sh
  • docs/how-to/react-to-state-changes.mdx
  • docs/how-to/trigger-actions.mdx
  • docs/architecture/trigger-types.mdx
  • docs/architecture/modules.mdx
  • docs/how-to/use-functions-and-triggers.mdx
  • docs/how-to/use-channels.mdx
  • frameworks/motia/MIGRATION_GUIDE.md
  • docs/how-to/define-request-response-formats.mdx
  • docs/modules/queue.mdx
  • docs/how-to/use-queues.mdx
  • docs/architecture/queues.mdx
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/docs.json

@@ -25,9 +25,10 @@ iii trigger \
| Flag | Required | Default | Description |
|------|----------|---------|-------------|
| `--function-id` | Yes | — | The ID of the function to invoke (e.g. `iii::queue::redrive`, `orders::process`) |
| `--payload` | Yes | | A JSON string passed as the function's input |
| `--payload` | Yes | `{}` | A JSON string passed as the function's input |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Inconsistency: "Required: Yes" conflicts with having a default value.

The --payload flag is marked as "Required: Yes" but also shows a default of {}. Per the engine code (#[arg(long, default_value = "{}")]), clap treats arguments with default_value as optional—users can omit them and the default applies. Consider changing "Required" to "No" for accuracy, or clarify the intent (e.g., "always used, defaults to {}").

Proposed fix
-| `--payload` | Yes | `{}` | A JSON string passed as the function's input |
+| `--payload` | No | `{}` | A JSON string passed as the function's input |
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
| `--payload` | Yes | `{}` | A JSON string passed as the function's input |
| `--payload` | No | `{}` | A JSON string passed as the function's input |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/how-to/trigger-from-cli.mdx` at line 28, Update the docs table entry for
the CLI flag to reflect that the --payload flag is not required when a default
is provided: change "Required: Yes" to "Required: No" (or add a clarifying note)
to match the engine declaration #[arg(long, default_value = "{}")] and the
behavior of the --payload flag; reference the --payload flag name and the
#[arg(long, default_value = "{}")] attribute so reviewers can locate and verify
the change.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (2)
docs/how-to/trigger-functions-from-cli.mdx (1)

25-31: Inconsistent "Required" column for --payload.

Line 28 marks --payload as "Required: Yes" while also showing a default of {}. Other flags with defaults (--address, --port, --timeout-ms) are correctly marked "Required: No". Since the CLI will accept the command without --payload (using the default {}), consider changing this to "No" for consistency.

Suggested fix
 | Flag | Required | Default | Description |
 |------|----------|---------|-------------|
 | `--function-id` | Yes | — | The ID of the function to invoke (e.g. `iii::queue::redrive`, `orders::process`) |
-| `--payload` | Yes | `{}` | A JSON string passed as the function's input |
+| `--payload` | No | `{}` | A JSON string passed as the function's input |
 | `--address` | No | `localhost` | The hostname or IP of the engine |
 | `--port` | No | `49134` | The engine's WebSocket port |
 | `--timeout-ms` | No | `30000` | Max time in milliseconds to wait for the invocation result |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/how-to/trigger-functions-from-cli.mdx` around lines 25 - 31, Update the
flags table so the `--payload` row correctly reflects that it is optional:
change the "Required" value for the `--payload` flag from "Yes" to "No" (since a
default `{}` is provided). Edit the table entry for `--payload` in the flags
table (the row containing `--payload`, Default `{}`, Description "A JSON string
passed as the function's input") so it matches the other flags with defaults and
shows "Required: No".
docs/api-reference/sdk-rust.mdx (1)

138-138: Remove unused iii_fn import.

The iii_fn import is not used in this example code block. Keeping it may confuse readers about when iii_fn is needed.

Suggested fix
-use iii_sdk::{register_worker, InitOptions, RegisterFunction, RegisterFunctionMessage, iii_fn};
+use iii_sdk::{register_worker, InitOptions, RegisterFunction, RegisterFunctionMessage};
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/api-reference/sdk-rust.mdx` at line 138, The import list in the example
includes an unused symbol iii_fn; remove iii_fn from the use statement (the line
containing use iii_sdk::{register_worker, InitOptions, RegisterFunction,
RegisterFunctionMessage, iii_fn};) so the example only imports register_worker,
InitOptions, RegisterFunction, and RegisterFunctionMessage; then verify the
snippet compiles or runs cargo check to ensure there are no remaining unused
imports.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@docs/api-reference/sdk-rust.mdx`:
- Line 138: The import list in the example includes an unused symbol iii_fn;
remove iii_fn from the use statement (the line containing use
iii_sdk::{register_worker, InitOptions, RegisterFunction,
RegisterFunctionMessage, iii_fn};) so the example only imports register_worker,
InitOptions, RegisterFunction, and RegisterFunctionMessage; then verify the
snippet compiles or runs cargo check to ensure there are no remaining unused
imports.

In `@docs/how-to/trigger-functions-from-cli.mdx`:
- Around line 25-31: Update the flags table so the `--payload` row correctly
reflects that it is optional: change the "Required" value for the `--payload`
flag from "Yes" to "No" (since a default `{}` is provided). Edit the table entry
for `--payload` in the flags table (the row containing `--payload`, Default
`{}`, Description "A JSON string passed as the function's input") so it matches
the other flags with defaults and shows "Required: No".

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: a2376937-f6ff-43db-808d-da0c24935087

📥 Commits

Reviewing files that changed from the base of the PR and between 5dc8222 and e8f9f73.

📒 Files selected for processing (2)
  • docs/api-reference/sdk-rust.mdx
  • docs/how-to/trigger-functions-from-cli.mdx

@@ -115,30 +115,27 @@ iii.register(

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this file is auto generated from code

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, Should I drop the fix then?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants