Skip to content

docs(readme): refresh registry README sources for npm, PyPI, and the VS Code marketplaces - #1736

Draft
charliegillet wants to merge 2 commits into
developfrom
docs/release-registry-readmes
Draft

docs(readme): refresh registry README sources for npm, PyPI, and the VS Code marketplaces#1736
charliegillet wants to merge 2 commits into
developfrom
docs/release-registry-readmes

Conversation

@charliegillet

@charliegillet charliegillet commented Jul 29, 2026

Copy link
Copy Markdown
Collaborator

Closes #1735

The npm, PyPI (both packages), VS Code Marketplace, and Open VSX pages show stale content. Each page is published verbatim from a docs/README-*.md source at build time, so this PR updates those sources; the next release republishes all five pages with no extra publish step.

Scope: a factual refresh plus an explicit OSS-first deployment framing. Each README keeps its "developer-native AI pipeline platform" framing. Self-hosted is presented first everywhere; RocketRide Cloud is mentioned once per page as the managed alternative (listed second, last in each Links section), and all example URIs point at a local engine.

Changes

All surfaces

Rows apply to all four READMEs unless noted.

Before After
Banner and inline images load from the nonexistent main branch Load from the develop branch
"50+ ready-to-use nodes" "115+ pipeline nodes: 16 LLM providers, 9 vector databases" (counted against nodes/src/nodes/ on this branch)
"Deploy anywhere: locally, on-premises, or self-hosted with Docker", plus "You build your .pipe and you run it against the fastest AI runtime available." (npm, PyPI rocketride, VS Code) Two run paths, self-hosted first (free, MIT, e.g. ws://localhost:5565), then RocketRide Cloud (managed hosting, https://api.rocketride.ai); the superlative is removed
C++ engine bullet: "production-grade speed and reliability" Reworded per surface to lead with native multithreading for AI and data workloads
Links section has no RocketRide Cloud entry RocketRide Cloud (cloud.rocketride.ai) added as the last entry
"DAP" used without expansion Expanded to "DAP (Debug Adapter Protocol)" on first use per page
Manifest URLs point at github.com/rocketride-ai (packages/client-python/pyproject.toml [project.urls], apps/vscode/package.json repository/homepage/bugs), and packages/client-mcp/pyproject.toml points at the dead rocketride/rocketride-clients All point at github.com/rocketride-org/rocketride-server

npm (rocketride)

Before After
Quick start uri: 'https://api.rocketride.ai' with no comment uri: 'ws://localhost:5565' with a comment noting the RocketRide Cloud alternative; all example URIs use the local engine; a note explains where the API key comes from (extension-written .env for self-hosted, cloud.rocketride.ai for Cloud); a minimal runnable pipeline.pipe snippet is included with project_id explained
Bullet "Deploy anywhere..." (see shared table) Its slot is now "Full TypeScript support: complete type definitions, works in Node.js and the browser"
(absent) Optional onSSE callback for incremental server-sent output on chat(), send(), and pipe() (feature bullet, signatures, and streamed-answer example)
(absent) New feature bullets: server filesystem API, monitoring, namespaced APIs (client.account, client.billing, client.database, client.deploy, client.log), bundled rocketride CLI, pointer to the full reference at docs.rocketride.org
auth and uri "set later with setConnectionParams() before connect()" Passed per call: credential to connect() or login(), URI via connect(credential, { uri }) or attach(uri); auth is "API key or token"; example port fixed from 8080 to 5565
Connection API: connect(), disconnect(), isConnected() only Layered attach(), login(), logout(), detach() plus isAttached() and isAuthenticated(); connect()/disconnect() described as convenience wrappers
connect() "opens the WebSocket and performs DAP auth" "Attach + login in one call"; credential also accepts rr_* user tokens; returns the authenticated identity (userId, organizations, apps, teams)
persist retries with "exponential backoff (250ms to 2500ms)" until maxRetryTime or success Linear backoff (250ms increments, 15s cap) until connected or detach(); auth failures stop the retry loop
maxRetryTime: "Max time in ms to keep retrying connection", recommended at 300000 in examples Accepted for backward compatibility but ignored; dropped from all examples
(absent) New config properties documented: public (unauthenticated connection), wsPath, clientName, clientVersion
onConnectError receives (message: string) Receives (error: ConnectionException) with structured details such as status codes
env config: the client substitutes ${ROCKETRIDE_*} in pipeline config ROCKETRIDE_* values are forwarded with use(); the server resolves ${ROCKETRIDE_*} from its merged environment (falls back to process.env)
use() options end at ttl; filepath is "path to a JSON file" Adds pipelineTraceLevel, name, env, teamId; filepath accepts .pipe files (wrapper unwrapped automatically)
Examples pass filepath: './pipeline.json' and pipeline: { pipeline: config } Pass filepath: './pipeline.pipe' and pipeline: config (double wrapping removed)
validate() returns Record<string, unknown> Returns typed ValidationResult (valid, errors, warnings)
getServices() and getService() return Record<string, any> Return typed ServicesResponse and ServiceDefinition; example destructures { services }
getTaskStatus(token) Gains options?: { timeout?: number | false }
setEvents(token, eventTypes) Gains optional pipeId?: number parameter
(absent) restart(), getTaskToken(), getTaskPipeline() noted as also available
Section "Services, validation, and ping" Retitled "Services, monitoring, and ping"; adds getDashboard(), listConnections(), listTasks()
(absent) "Server filesystem" section: fsRead(), fsWrite(), fsListDir() and friends, replacing the removed project store methods
(absent) Low-level one-shot call<T>() helper documented
(absent) Static getServerInfo(uri) documented: probes a server without authenticating (version, public apps)
Chat: "The pipeline must support the chat provider for that token." "Works with chat, webhook, and dropper sources."
DataPipe failure behavior undocumented open(), write(), close() throw PipeException carrying the full DAP response body
(absent) Question.addGoal() documented
"Answer" section documenting the Answer class and Answer.parsePython (removed, class no longer exported); chat example parses with JSON.parse
Types: PipelineConfig includes name; no ConnectResult, ValidationResult, ServicesResponse Adds ConnectResult, ValidationResult, ServicesResponse, ServiceDefinition; PipelineConfig no longer lists name
Exceptions: only AuthenticationException described Full hierarchy: DAPException to RocketRideException, with ConnectionException, AuthenticationException, PipeException, ExecutionException, ValidationException

PyPI (rocketride, rocketride-mcp)

Package Before After
rocketride Intro describes the platform only Adds "This package is the Python SDK: it connects your application to a RocketRide engine and runs your .pipe pipelines."
rocketride (absent) Optional on_sse callback for incremental server-sent output on chat(), send(), and pipe()
rocketride Feature bullet "Project storage: save, retrieve, and version-control pipelines on the server" Replaced by "Run logs and traces" via client.log and "File store" via fs_open(), fs_read(), fs_write(), fs_list_dir() and friends
rocketride persist=True retries with exponential backoff; max_retry_time is "Max time in ms to keep retrying", used at 300000 in examples Linear backoff (0.25s increments, 15s cap) that never gives up except on auth failure; max_retry_time deprecated and ignored; dropped from examples
rocketride Connection methods: connect and disconnect only Adds attach(), login(), logout(), detach(), is_attached(), is_authenticated(); connect()/disconnect() described as wrappers
rocketride use() options end at ttl; "The client substitutes ${ROCKETRIDE_*} from its env" Adds pipelineTraceLevel, name, env, team_id; ${ROCKETRIDE_*} resolved server-side, with per-call env overrides
rocketride (absent) New "Run logs (client.log)" section: chapters(), read(), segment(), delete(), DVR-style open_event_stream(), with a console and trace tailing example
rocketride Answer.getJson() "returns None if not valid JSON"; isJson() is "whether the answer contains valid JSON" setAnswer() documented (raises ValueError on invalid JSON when expectJson=True); getJson() raises ValueError on invalid text; isJson() returns the expectJson flag; chat example updated
rocketride Example passes pipeline={'pipeline': config} Passes pipeline=config (double wrapping removed)
rocketride CLI: rocketride rrext_store get_all_projects to list stored projects rocketride store dir to list the account file store
rocketride ROCKETRIDE_URI: "Server URI (e.g. wss://api.rocketride.ai or ws://localhost:5565)" "e.g. ws://localhost:5565 for a self-hosted engine, or https://api.rocketride.ai for RocketRide Cloud"
rocketride Links: no npm link Adds TypeScript SDK (npm) link
rocketride-mcp (absent) uvx rocketride-mcp documented as a no-install run option, including the config-snippet variant ("command": "uvx" with "args": ["rocketride-mcp"])
rocketride-mcp Client Configuration has no Cloud guidance Note added: examples target a local engine; for Cloud set ROCKETRIDE_URI to https://api.rocketride.ai and use a Cloud API token as ROCKETRIDE_AUTH
rocketride-mcp ROCKETRIDE_URI: "WebSocket URI of the RocketRide engine (e.g. ws://localhost:5565)" "Engine URI: ws://localhost:5565 for a local engine, https://api.rocketride.ai for RocketRide Cloud"
rocketride-mcp MIT bullet: "fully open-source, OSI-compliant" "fully open source, OSI-compliant, no lock-in"

VS Code Marketplace + Open VSX (RocketRide.rocketride)

Before After
Badges: GitHub, Discord, MIT only Adds a VS Code Marketplace version badge
Quick Start step 1: "Install the RocketRide extension from the VS Code Marketplace" Links to both the VS Code Marketplace and Open VSX
Quick Start has no engine selection step New step: pick how to run the engine: Local (recommended, no extra setup), Docker, an on-premises server, or RocketRide Cloud
Intro does not describe the pipeline format Adds "Pipelines are portable JSON (.pipe files) executed by a multithreaded C++ engine."
(absent) Feature bullet "Server Monitor: real-time dashboard of connections, running tasks, and aggregate engine metrics"
(absent) Feature bullet "Pipeline variables: manage ROCKETRIDE_* variables per connection, with autocomplete for ${ROCKETRIDE_*} in node config fields"
(absent) Feature bullet "Coding agent ready: auto-detects GitHub Copilot, Claude Code, Cursor, and Windsurf and installs RocketRide documentation for them"
Settings tables document local.debugOutput and local.engineArgs for both development and deployment connections (removed: these settings no longer exist)
(absent) New General settings documented: rocketride.pipelineTTL (default 900), rocketride.pipelineTraceLevel (default "summary"), rocketride.taskArguments, rocketride.pipelineDebugOutput
rocketride.development.hostUrl described as "Host URL for on-prem or direct connections" "Host URL for the development connection"
MIT bullet: "fully open-source, OSI-compliant" "the self-hosted engine is free, fully open source, and OSI-compliant"
Links: Documentation, Discord, GitHub, Contributing Adds Home (rocketride.org)

Verification

  • All links and images are absolute URLs (registry pages render off GitHub); every referenced raw.githubusercontent path exists on develop.
  • No rocketride-ai references remain in the diff.
  • API claims were checked against package sources (packages/client-typescript/src, packages/client-python/src, packages/client-mcp/src, apps/vscode/package.json), not just prose.

Second commit: fixes from a multi-perspective review

748c6486 applies the outcome of a structured review (newcomer onboarding, coding-agent readability, ICP fit, minimalist, docs-maintainer, plus an adversarial verification pass):

  • OSS-first framing across all four pages, as described above; "(now live)" and "no lock-in" removed as marketing residue.
  • Python example 7: get_services() returns {'services': ..., 'version': ...}, so the example now indexes into services before listing names (mirrors the TS example, verified against mixins/services.py).
  • Python chat section: chat() works with chat, webhook, and dropper sources (verified against mixins/chat.py), now identical to the TS wording.
  • TS example 6: JSON.parse guarded against an empty answer, matching the Python example.
  • Placeholder signatures completed: client.log read/segment/delete now carry full signatures with their typed results, and the TS server-filesystem section documents the seven core fs* methods in a table instead of a bare name list.
  • MCP page: key-hygiene note beside the committed-config snippets, claude mcp add shown with -e flags, garbled deployment bullet rewritten.
  • onSSE callback type inlined in the TS signature cells; both SDK pages note that http(s)/ws(s) URI schemes are accepted and normalized.
  • packages/client-mcp/pyproject.toml [project.urls] fixed (previously listed as out of scope; it publishes on the same PyPI page this PR rewrites).

Out of scope, tracked in #1735

  • packages/client-mcp/pyproject.toml stale version field (1.2.0).
  • Docs-site copies with the same old content (packages/client-typescript/docs/guide/index.md, packages/client-mcp/docs/index.md, apps/vscode/docs/index.md).
  • Root README.md intro says "50+ pipeline nodes" while its Features table says 85+ (both wrong; current count is 115+). Should be fixed before the release that publishes these pages, since every rewritten page links to it.

🤖 Generated with Claude Code

@coderabbitai

coderabbitai Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 3c6ba757-c080-4905-b45a-59b5d2cb8c2f

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

@github-actions github-actions Bot added docs Documentation module:client-python Python SDK and MCP client module:vscode VS Code extension labels Jul 29, 2026
@github-actions

Copy link
Copy Markdown
Contributor
🤖 Internal: Discord sync marker

Auto-managed by the Discord notification workflow. Stores the linked Discord message ID and forum thread ID. Do not edit or delete.

…VS Code marketplaces

The four registry READMEs drifted from current product state. Update
the facts while keeping the existing positioning: RocketRide Cloud as
a live run path, 85+ nodes, images fixed to the develop branch, dead
rocketride-ai org URLs replaced (including the PyPI sidebar and
Marketplace listing links), and API documentation corrected against
the 3.3.0 SDK sources.

Refs #1735

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ixes

Follow-up from a multi-perspective review of the registry README sources.

- Lead with self-hosted everywhere; RocketRide Cloud is mentioned once per
  page, listed second, with 'now live' and 'no lock-in' removed
- Correct node counts on all four pages: 115+ nodes, 16 LLM providers,
  9 vector databases (counted against nodes/src/nodes on this branch)
- Python example 7: get_services() returns {'services', 'version'}; index
  into 'services' before listing names (matches the TS example)
- Python chat section: chat() works with chat, webhook, and dropper
  sources (per mixins/chat.py), matching the TS page
- TS example 6: guard JSON.parse against an empty answer
- Complete the placeholder signatures: client.log read/segment/delete
  (typed results from rocketride.types) and a table for the core fs methods
- Quick starts: minimal .pipe snippet on the npm page, project_id
  explained, where API keys come from on both SDK pages
- MCP page: key-hygiene note for committed config files, claude mcp add
  shown with -e flags, garbled deployment bullet rewritten
- Expand DAP (Debug Adapter Protocol) on first use per page; document that
  http(s)/ws(s) URI schemes are normalized; inline the onSSE callback type
- packages/client-mcp/pyproject.toml: fix [project.urls] to rocketride-org
  (was dead rocketride/rocketride-clients), matching the other manifests

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Documentation module:client-mcp module:client-python Python SDK and MCP client module:vscode VS Code extension

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs: registry package pages are badly out of date (npm, PyPI, VS Code Marketplace, Open VSX)

1 participant