Skip to content

docs: add end-to-end guide for authoring a new node#1025

Open
mithileshgau wants to merge 5 commits into
rocketride-org:developfrom
mithileshgau:docs/RR-988-authoring-a-node-guide
Open

docs: add end-to-end guide for authoring a new node#1025
mithileshgau wants to merge 5 commits into
rocketride-org:developfrom
mithileshgau:docs/RR-988-authoring-a-node-guide

Conversation

@mithileshgau
Copy link
Copy Markdown
Collaborator

@mithileshgau mithileshgau commented May 28, 2026

Summary

  • Add 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.
  • Use a new LLM provider as example(copied from llm_openai) as the worked example, with both engine paths covered: Option A rebuild via ./builder and Option B copy into the installed engine (macOS/Windows/Linux paths).
  • Add a Mermaid flow diagram and step screenshots (node files, deployment settings, node on canvas, pipeline run), plus a Common Gotchas section.

Type

docs

Testing

  • Tests added or updated
  • Tested locally
  • ./builder test passes

Checklist

  • Commit messages follow conventional commits
  • No secrets or credentials included
  • Wiki updated (if applicable)
  • Breaking changes documented (if applicable)

Linked Issue

Closes #988

Summary by CodeRabbit

  • Documentation
    • Added a comprehensive end-to-end guide for creating and integrating new pipeline nodes: forking/cloning and branch workflow, templating from an existing node, integration options, wiring nodes into pipelines, CI test requirements (including a minimal LLM smoke-case), PR submission rules, a “Common Gotchas” troubleshooting checklist, and a license reference.
    • Updated contributing and node docs to link to the new guide.

Review Change Stack

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
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 28, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 8c7c4d54-d21b-4000-9d5e-a17e2c820435

📥 Commits

Reviewing files that changed from the base of the PR and between a1ec788 and aaacf7e.

📒 Files selected for processing (1)
  • docs/README-node-testing.md

📝 Walkthrough

Walkthrough

Adds 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 .pipe, minimal CI services.json test, PR submission steps, and a common-gotchas checklist.

Changes

Node Authoring Documentation

Layer / File(s) Summary
Node Creation Foundation
docs/README-authoring-a-node.md (lines 1–89)
Document title, TOC, prerequisites, branch naming, and step-by-step instructions to create a new node by copying an existing provider folder and editing services.json and IInstance.py.
Engine Integration and Pipeline Execution
docs/README-authoring-a-node.md (lines 92–151)
Describes two integration workflows (rebuild via builder and copy into installed engine with macOS/Windows/Linux nodes/ paths and ln -s tip), then adding the node to a .pipe and running the pipeline.
Testing, PR Submission, and Troubleshooting
docs/README-authoring-a-node.md (lines 154–207)
Specifies minimal CI services.json test config for LLM nodes with a smoke-case, ./builder nodes:test command, git/PR creation steps and PR-body template, CI gating requirements, common gotchas with fixes, and MIT license link.
Repository doc links
CONTRIBUTING.md, docs/README-node-testing.md, docs/README-nodes.md
Adds pointers from CONTRIBUTING and node docs to the new end‑to‑end “Authoring a Node” guide.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Suggested labels

module:nodes

Suggested reviewers

  • jmaionchi
  • stepmikhaylov
  • Rod-Christensen

Poem

🐰 I hopped through docs with tiny paws,
I copied nodes and fixed the laws.
A smoke-case runs, the CI grins,
The pipeline hums — a cascade begins.
Hooray, a node — carrots for wins!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: adding an end-to-end authoring guide for creating pipeline nodes.
Linked Issues check ✅ Passed The PR addresses all key objectives from issue #988: end-to-end walkthrough, repo layout documentation, step-by-step tasks, common gotchas section, references to existing docs, and discoverable from CONTRIBUTING.md and README-nodes.md.
Out of Scope Changes check ✅ Passed All changes are directly in scope: new authoring guide documentation and cross-references added to existing docs to improve discoverability as required.
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

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.

@github-actions
Copy link
Copy Markdown

No description provided.

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: 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

📥 Commits

Reviewing files that changed from the base of the PR and between 980be0a and 71bd67c.

⛔ Files ignored due to path filters (4)
  • docs/images/connect.png is excluded by !**/*.png
  • docs/images/node-canvas.png is excluded by !**/*.png
  • docs/images/node-files.png is excluded by !**/*.png
  • docs/images/run.png is excluded by !**/*.png
📒 Files selected for processing (1)
  • docs/README-authoring-a-node.md

Comment thread docs/README-authoring-a-node.md Outdated
Comment thread docs/README-authoring-a-node.md
@mithileshgau mithileshgau changed the title Docs/rr 988 authoring a node guide docs: add end-to-end guide for authoring a new node May 28, 2026
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.
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: 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 win

Missing required schema authoring step (.rocketride/schema/<node_name>.json).

The guide explains services.json and 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 win

Use separate shell fences for Bash vs PowerShell commands.

This block is marked as bash but includes Copy-Item (PowerShell). Split into separate bash and powershell code 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 | 🟠 Major

Add 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 in CONTRIBUTING.md and docs/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

📥 Commits

Reviewing files that changed from the base of the PR and between 71bd67c and 2f83116.

📒 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.
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 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

📥 Commits

Reviewing files that changed from the base of the PR and between 2f83116 and a1ec788.

📒 Files selected for processing (4)
  • CONTRIBUTING.md
  • docs/README-authoring-a-node.md
  • docs/README-node-testing.md
  • docs/README-nodes.md

Comment thread docs/README-node-testing.md Outdated
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 28, 2026

Actionable comments posted: 0

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

Labels

docs Documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Docs: end-to-end guide for authoring a new pipeline node (hackathon-ready walkthrough)

1 participant