docs: add end-to-end guide for authoring a new node#1025
Conversation
Add docs/README-authoring-a-node.md walking a contributor from fork through creating a node (using a new LLM provider as the worked example), loading it into the local engine (rebuild or copy), running it in a pipeline, adding a minimum test, and opening a PR. Includes a flow diagram and screenshots for the key steps. Closes rocketride-org#988
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughAdds an end‑to‑end documentation guide for creating a new pipeline node: repository setup and branching, templating a node from an existing provider, engine integration options (rebuild or copy), wiring into a ChangesNode Authoring Documentation
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
|
No description provided. |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/README-authoring-a-node.md`:
- Line 40: The guide contains two inconsistent branch-naming examples:
"feat/RR-<issue#>-<desc>" and "<type>/RR-<issue#>-<desc>"; choose one canonical
pattern (e.g., "<type>/RR-<issue#>-<desc>" or "feat/RR-<issue#>-<desc>") and
update all occurrences in the document to match it (including the lines showing
those examples), and adjust any explanatory text to reference that single
canonical rule so contributors see a consistent enforced pattern.
- Line 45: The branch-naming rule is inconsistent: the doc shows both
`feat/RR-<issue#>-<desc>` and a generic `<type>/RR-<issue#>-<desc>`; update the
README entry that contains the example `gh issue develop ... --name
"feat/RR-<issue#>-add-llm-acme" --checkout` to either (A) explicitly list
allowed values for `<type>` (e.g., feat, fix, chore, docs) and show the example
using a `<type>` placeholder, or (B) change the generic
`<type>/RR-<issue#>-<desc>` wording to `feat/RR-<issue#>-<desc>` so it matches
the example—pick one approach and apply it consistently throughout the file.
🪄 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: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: 6ea85753-5d0c-4b63-aba8-0398f1649dda
⛔ Files ignored due to path filters (4)
docs/images/connect.pngis excluded by!**/*.pngdocs/images/node-canvas.pngis excluded by!**/*.pngdocs/images/node-files.pngis excluded by!**/*.pngdocs/images/run.pngis excluded by!**/*.png
📒 Files selected for processing (1)
docs/README-authoring-a-node.md
Use the canonical <type>/RR-<issue#>-<desc> pattern in step 2 and list the allowed types, matching CONTRIBUTING.md and the Common Gotchas section. Addresses review feedback on inconsistent branch-naming examples.
There was a problem hiding this comment.
Actionable comments posted: 0
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (3)
docs/README-authoring-a-node.md (3)
74-87:⚠️ Potential issue | 🟠 Major | ⚡ Quick winMissing required schema authoring step (
.rocketride/schema/<node_name>.json).The guide explains
services.jsonand code files, but it does not document creating/updating the node schema file under.rocketride/schema/<node_name>.json(including required fields/profiles/capabilities). That gap can prevent contributors from getting a node fully recognized end-to-end.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/README-authoring-a-node.md` around lines 74 - 87, The docs miss instructing authors to create the node schema file under .rocketride/schema/<node_name>.json which is required for node registration; update the README-authoring-a-node.md to add a step after editing services.json and IInstance.py that shows creating/updating .rocketride/schema/<node_name>.json including required fields (id/name, title, protocol, path, classType, lanes), profiles/capabilities (at least custom and one named profile), and any validation shape references so the node is recognized end-to-end; reference the existing examples in llm_openai/services.json and the component reference (.rocketride/docs/ROCKETRIDE_COMPONENT_REFERENCE.md) and point to IInstance.py as the implementation hook.
120-129:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUse separate shell fences for Bash vs PowerShell commands.
This block is marked as
bashbut includesCopy-Item(PowerShell). Split into separatebashandpowershellcode fences to avoid copy/paste failures.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/README-authoring-a-node.md` around lines 120 - 129, The fenced example mixes Bash and PowerShell into a single ```bash``` block which will confuse users; split the combined block into two separate fences—one ```bash``` block containing the macOS and Linux cp commands and one ```powershell``` (or ```pwsh```) block containing the Copy-Item command—so each command is in the correct shell type (refer to the cp lines for macOS/Linux and the Copy-Item line for Windows/PowerShell).
21-21:⚠️ Potential issue | 🟠 MajorAdd backlink links to docs/README-authoring-a-node.md in acceptance-criteria docs
Repo-wide search finds no references to
README-authoring-a-node/authoring-a-node, including inCONTRIBUTING.mdanddocs/README-nodes.md, so the required “link back” backlinks to this new guide appear to be missing. [Please add those backlinks.]🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/README-authoring-a-node.md` at line 21, Add explicit backlinks to docs/README-authoring-a-node.md by editing the referenced docs: update docs/README-nodes.md and README-node-testing.md (and CONTRIBUTING.md) to include a relative link labeled "Authoring a node" (or similar) that points to docs/README-authoring-a-node.md, and add the same backlink into any acceptance-criteria markdown files under the docs/acceptance-criteria (or equivalent) directory so repo-wide searches find README-authoring-a-node; ensure link text is clear and the relative path is correct (docs/README-authoring-a-node.md) and commit the changes.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In `@docs/README-authoring-a-node.md`:
- Around line 74-87: The docs miss instructing authors to create the node schema
file under .rocketride/schema/<node_name>.json which is required for node
registration; update the README-authoring-a-node.md to add a step after editing
services.json and IInstance.py that shows creating/updating
.rocketride/schema/<node_name>.json including required fields (id/name, title,
protocol, path, classType, lanes), profiles/capabilities (at least custom and
one named profile), and any validation shape references so the node is
recognized end-to-end; reference the existing examples in
llm_openai/services.json and the component reference
(.rocketride/docs/ROCKETRIDE_COMPONENT_REFERENCE.md) and point to IInstance.py
as the implementation hook.
- Around line 120-129: The fenced example mixes Bash and PowerShell into a
single ```bash``` block which will confuse users; split the combined block into
two separate fences—one ```bash``` block containing the macOS and Linux cp
commands and one ```powershell``` (or ```pwsh```) block containing the Copy-Item
command—so each command is in the correct shell type (refer to the cp lines for
macOS/Linux and the Copy-Item line for Windows/PowerShell).
- Line 21: Add explicit backlinks to docs/README-authoring-a-node.md by editing
the referenced docs: update docs/README-nodes.md and README-node-testing.md (and
CONTRIBUTING.md) to include a relative link labeled "Authoring a node" (or
similar) that points to docs/README-authoring-a-node.md, and add the same
backlink into any acceptance-criteria markdown files under the
docs/acceptance-criteria (or equivalent) directory so repo-wide searches find
README-authoring-a-node; ensure link text is clear and the relative path is
correct (docs/README-authoring-a-node.md) and commit the changes.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: 5cc84596-070e-4eaa-9b33-870365f144f2
📒 Files selected for processing (1)
docs/README-authoring-a-node.md
Split the mixed Bash/PowerShell copy block in the engine step into separate bash and powershell fences. Add backlinks to the new authoring guide from README-nodes.md, README-node-testing.md, and CONTRIBUTING.md. Addresses review feedback.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/README-node-testing.md`:
- Around line 5-6: The blockquote in docs/README-node-testing.md contains a
blank line causing markdownlint rule MD028; remove the empty line so the
blockquote lines stay contiguous (specifically the lines starting with "> New to
building nodes? Start with [Authoring a Node](README-authoring-a-node.md)..."
and the following quoted line should be adjacent), or alternatively remove the
leading ">" from the note block—ensure the quote remains contiguous to fix the
lint error.
🪄 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: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: 73121169-fcc7-472b-9338-31bf5684a3df
📒 Files selected for processing (4)
CONTRIBUTING.mddocs/README-authoring-a-node.mddocs/README-node-testing.mddocs/README-nodes.md
|
Actionable comments posted: 0 |
Summary
docs/README-authoring-a-node.md— an end-to-end guide that walks a contributor from a blank slate to a working, engine-registered node: fork & branch → create the node → load it into the local engine → run it in a pipeline → add a minimum test → open a PR.llm_openai) as the worked example, with both engine paths covered: Option A rebuild via./builderand Option B copy into the installed engine (macOS/Windows/Linux paths).Type
docs
Testing
./builder testpassesChecklist
Linked Issue
Closes #988
Summary by CodeRabbit