Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion docs/README-python-client.md
Original file line number Diff line number Diff line change
Expand Up @@ -527,6 +527,7 @@ asyncio.run(main())
The `rocketride` command is installed automatically with the package.

```bash
rocketride init # Scaffold .rocketride/ in the current directory
rocketride start pipeline.json # Start a pipeline
rocketride upload *.pdf --token <token> # Upload files to a running pipeline
rocketride status --token <token> # Monitor task progress
Expand All @@ -536,7 +537,8 @@ rocketride events ALL --token <token> # Stream task events
rocketride rrext_store get_all_projects # List stored projects
```

All commands accept `--uri` and `--apikey` flags, or read from environment variables.
`rocketride init` runs entirely offline — it creates `.rocketride/docs/`, installs agent stubs (CLAUDE.md, cursor rules, etc.) for any detected coding agents, and adds `.rocketride/` to `.gitignore`. Pass `--agent <name>` to force a specific stub or `--no-agents` to skip them.
All other commands accept `--uri` and `--apikey` flags, or read from environment variables.

## Configuration

Expand Down
6 changes: 5 additions & 1 deletion packages/client-python/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -75,4 +75,8 @@ where = ["src"]
include = ["rocketride*"]

[tool.setuptools.package-data]
rocketride = ["py.typed"]
rocketride = [
"py.typed",
"cli/templates/docs/*.md",
"cli/templates/stubs/*",
]
20 changes: 19 additions & 1 deletion packages/client-python/scripts/tasks.js
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,13 @@ const DOCS_DIR = path.join(PROJECT_ROOT, 'docs');
const README_SRC = path.join(DOCS_DIR, 'README-python-client.md');
const README_DEST = path.join(BUILD_DIR, 'README.md');

// Init ships the agent docs and stubs as wheel package data;
// Source of truth lives in the repo at docs/agents/ + docs/stubs/; the build
// copies them into BUILD_DIR so they end up at the package_data path declared
const AGENT_DOCS_SRC = path.join(DOCS_DIR, 'agents');
const AGENT_STUBS_SRC = path.join(DOCS_DIR, 'stubs');
const TEMPLATES_DEST_BASE = path.join(BUILD_DIR, 'src', 'rocketride', 'cli', 'templates');

// ============================================================================
// Action Factories
// ============================================================================
Expand All @@ -65,6 +72,16 @@ function makeCopyReadmeAction() {
};
}

function makeCopyInitTemplatesAction() {
return {
run: async (ctx, task) => {
const docsStats = await syncDir(AGENT_DOCS_SRC, path.join(TEMPLATES_DEST_BASE, 'docs'), { package: true });
const stubsStats = await syncDir(AGENT_STUBS_SRC, path.join(TEMPLATES_DEST_BASE, 'stubs'), { package: true });
task.output = `docs: ${formatSyncStats(docsStats)} | stubs: ${formatSyncStats(stubsStats)}`;
},
Comment on lines +79 to +83
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 | ⚡ Quick win

Prefix the unused action context with _.

ctx is never read in this action, so the new code drifts from the repo’s JS convention for unused variables.

♻️ Proposed fix
-		run: async (ctx, task) => {
+		run: async (_ctx, task) => {

As per coding guidelines, "Unused variables must be prefixed with underscore (_)."

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/client-python/scripts/tasks.js` around lines 79 - 83, The action
callback parameter `ctx` is unused and should follow the repo convention for
unused variables; rename the parameter in the `run` async function from `ctx` to
`_ctx` (i.e., change `run: async (ctx, task) => { ... }` to `run: async (_ctx,
task) => { ... }`) and ensure there are no remaining references to `ctx` in the
function body so linters pass.

};
}

function makeSyncClientPythonAction() {
return {
run: async (ctx, task) => {
Expand Down Expand Up @@ -223,6 +240,7 @@ module.exports = {
actions: [
// Internal actions
{ name: 'client-python:copy-readme', action: makeCopyReadmeAction },
{ name: 'client-python:copy-init-templates', action: makeCopyInitTemplatesAction },
{ name: 'client-python:sync-source', action: makeSyncClientPythonAction },
{ name: 'client-python:wheel-source', action: makeWheelSourceAction },
{ name: 'client-python:wheel-build', action: makeWheelBuildAction },
Expand All @@ -236,7 +254,7 @@ module.exports = {
name: 'client-python:build',
action: () => ({
description: 'Build Python client',
steps: ['server:build', 'client-python:sync-source', 'client-python:wheel-source', 'client-python:copy-readme', 'client-python:wheel-build', 'client-python:sync'],
steps: ['server:build', 'client-python:sync-source', 'client-python:wheel-source', 'client-python:copy-readme', 'client-python:copy-init-templates', 'client-python:wheel-build', 'client-python:sync'],
Comment thread
coderabbitai[bot] marked this conversation as resolved.
}),
},
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
from .events import EventsCommand
from .list import ListCommand
from .store import StoreCommand
from .init import InitCommand

__all__ = [
'StartCommand',
Expand All @@ -52,4 +53,5 @@
'EventsCommand',
'ListCommand',
'StoreCommand',
'InitCommand',
]
Loading
Loading