@robinpath/rightplace
0.1.3OfficialVerifiedNode.jsPublicRightPlace integration — 130 functions for projects, WordPress, WooCommerce, email, files, git, spreadsheets, stages, docs, automations via rightplace-cli
RightPlace
Access RightPlace desktop app data — projects, WordPress, WooCommerce, email, files, git, spreadsheets, stages, docs, automations, database, terminal, and more via the rightplace-cli HTTP API.
Package: @robinpath/rightplace | Category: Productivity | Type: Integration
Authentication
No manual authentication needed. The module auto-discovers a running rightplace-cli server:
RIGHTPLACE_PORT+RIGHTPLACE_TOKENenvironment variables (set by desktop app)~/.rightplace/cli.jsondiscovery file (written by rightplace-cli on startup)
Start the RightPlace desktop app or run rightplace-cli to make the module available.
# Check connection
rightplace.status into $s
log $s.connected
No credentials to configure. The CLI manages auth tokens, encryption keys, and WordPress Ed25519 signing automatically.
Use Cases
Use the rightplace module when you need to:
- Get a workspace overview -- Use
rightplace.contextto list all projects, resources, and capabilities - Manage WordPress sites -- Use
rightplace.wpPosts,rightplace.wpCreatePost,rightplace.wpActivatePluginto read and write WP data - Read and send email -- Use
rightplace.emailMessages,rightplace.emailSend,rightplace.emailSearchfor email operations - Work with files and code -- Use
rightplace.readFile,rightplace.writeFile,rightplace.searchFilesfor file I/O - Manage git repositories -- Use
rightplace.gitStatus,rightplace.gitCommit,rightplace.gitBranchfor version control - Work with spreadsheets -- Use
rightplace.sheets,rightplace.grid,rightplace.writeCellsfor tabular data - Track tasks on kanban boards -- Use
rightplace.stages,rightplace.addStageTask,rightplace.updateStageTaskfor task management - Run automations -- Use
rightplace.automationRun,rightplace.automationCreatefor RobinPath automation lifecycle - Manage documents -- Use
rightplace.docsList,rightplace.docsGet,rightplace.docsCreatefor document operations - Query databases -- Use
rightplace.queryfor SELECT andrightplace.dbExecutefor mutations - Execute shell commands -- Use
rightplace.execto run terminal commands - Search across all data -- Use
rightplace.searchfor unified cross-type search - Manage WooCommerce -- Use
rightplace.wcOrders,rightplace.wcProducts,rightplace.wcCustomersfor e-commerce - Create and manage resources -- Use
rightplace.createResource,rightplace.listResourcesfor project resource lifecycle
Quick Reference
| Function | Description | Returns |
|---|---|---|
status | Check if rightplace-cli is running | {connected, version} |
context | Full workspace summary -- call FIRST | {projects, email_accounts, capabilities} |
reconnect | Clear cached connection | {reconnected: true} |
health | Server health check | {status, app, version} |
openapi | Get OpenAPI 3.1 spec | OpenAPI JSON |
metrics | Server metrics | Metrics text |
batch | Execute multiple operations | Array of results |
projects | List all projects | Array of projects |
getProject | Get project with resources | Project object |
createProject | Create a new project | {id, name} |
updateProject | Update project name/description | {id, updated} |
tasks | List tasks for a project | Array of tasks |
createTask | Create a task | {id, title} |
sheets | List spreadsheet sheets | Array of sheets |
grid | Read cell data | {rows, row_count} |
writeCells | Write cells | {updated: count} |
exportCsv | Export sheet as CSV | {csv, sheet_id} |
createSheet | Create a sheet | {name, created} |
renameSheet | Rename a sheet | {from, to} |
deleteSheet | Delete a sheet | {name, deleted} |
emailAccounts | List email accounts | Array of accounts |
emailMailboxes | List mailboxes | Array of mailboxes |
emailMessages | List messages | Array of messages |
emailGetMessage | Get full message | Message with body |
emailContacts | List contacts | Array of contacts |
emailSearch | Search emails | Array of messages |
emailSend | Send email via SMTP | Send result |
emailFlags | Set read/flagged | {updated: count} |
emailMove | Move messages | {moved: count} |
emailDraft | Save draft | Draft object |
files | List files | Array of files |
readFile | Read file content | {path, content} |
writeFile | Write file | {path, size} |
deleteFile | Delete file | {deleted: path} |
searchFiles | Search files | Array of matches |
gitStatus | Git status | {branch, files} |
gitLog | Commit log | Array of commits |
gitDiff | Git diff | {diff: string} |
gitBranches | List branches | Array of names |
gitStage | Stage files | {staged: files} |
gitCommit | Create commit | {hash, message} |
gitBranch | Create branch | {branch, checkout} |
gitCheckout | Switch branch | Result |
gitFileContent | Read file at ref | {file, content} |
exec | Shell command | {stdout, stderr, exit_code} |
query | SQL SELECT | Array of rows |
dbExecute | SQL mutation | {affected_rows} |
search | Search all data | Array of results |
activities | List activities | Array of activities |
activitiesUnread | Unread count | {count} |
stages | List kanban boards | Array of stages |
getStage | Get stage with tasks | Stage object |
addStageTask | Add task to board | {id, title} |
updateStageTask | Update task | {id, updated} |
deleteStageTask | Delete task | {id, deleted} |
createStage | Create board | {id, name} |
connections | List connections | Array of connections |
getConnection | Get connection | Connection object |
places | List places | Array of places |
placesByParent | List child places | Array of places |
automations | List scripts (legacy) | Array of scripts |
getAutomation | Get script (legacy) | {name, script} |
cron | List cron tasks | Array of tasks |
docsList | List documents | Array of docs |
docsGet | Get document | {path, content} |
docsSearch | Search docs | Array of matches |
docsCreate | Create document | {path, type} |
docsUpdate | Update document | {path, size} |
docsDelete | Delete document | {deleted: path} |
docsRename | Rename document | {from, to} |
docsMove | Move document | {from, to} |
qaListTests | List QA tests | Array of tests |
qaSaveTest | Save test case | {id, name} |
qaDeleteTest | Delete test | {id, deleted} |
logStatus | Log stream status | {streaming} |
logStart | Start log stream | Result |
automationsList | List automations | Array of automations |
automationCreate | Create automation | {id, name} |
automationGet | Get automation | Automation with script |
automationDelete | Delete automation | {id, deleted} |
automationReadScript | Read script | {script} |
automationWriteScript | Write script | {size} |
automationRun | Run automation | Execution result |
automationTemplates | List templates | Array of names |
listResources | List resources | Array of resources |
getResource | Get resource | Resource object |
createResource | Create resource | {id, name, type} |
deleteResource | Delete resource | {id, deleted} |
resourceTypes | List resource types | Categories object |
wpStatus | WP connection status | Status object |
wpContent | List WP content | Array of items |
wpGetContent | Get content item | Content object |
wpSearch | Search WP content | Array of results |
wpPosts | List posts | Array of posts |
wpGetPost | Get single post | Post object |
wpPages | List pages | Array of pages |
wpMedia | List media | Array of media |
wpCategories | List categories | Array of categories |
wpTags | List tags | Array of tags |
wpUsers | List WP users | Array of users |
wpThemes | List themes | Array of themes |
wpPlugins | List plugins | Array of plugins |
wpFunctions | List WP API functions | Function list |
wpSystemInfo | System info | Info object |
wpSchema | Site schema | Schema object |
wpCoreApi | Call any WP function | Function result |
wpCreatePost | Create post | Created post |
wpUpdatePost | Update post | Updated post |
wpCreatePage | Create page | Created page |
wpSideloadMedia | Upload media from URL | Media object |
wpCreateCategory | Create category | Category object |
wpActivatePlugin | Activate plugin | Result |
wpDeactivatePlugin | Deactivate plugin | Result |
wpUpdatePlugin | Update plugin | Result |
wpActivateTheme | Switch theme | Result |
wpUpdateUser | Update WP user | Updated user |
wpPasswordReset | Password reset email | Result |
wpExportCsv | Export posts to CSV | CSV content |
wpExportJson | Export posts to JSON | JSON data |
wpQuery | Custom WP query | Query results |
wpSync | Trigger sync | Sync result |
wpRest | Raw REST API call | API response |
wcProducts | List products | Array of products |
wcGetProduct | Get product | Product object |
wcOrders | List orders | Array of orders |
wcGetOrder | Get order | Order object |
wcCustomers | List customers | Array of customers |
wcGetCustomer | Get customer | Customer object |
Functions
status
Check if RightPlace CLI is running and reachable. Returns connection info without throwing errors.
Module: rightplace | Returns: object -- {connected, version, status}
rightplace.status into $s
log $s.connected
context
Get a complete workspace summary: projects with resources, email accounts, stages, and capabilities. Call this FIRST to discover what data is available.
Module: rightplace | Returns: object -- {projects: [{id, name, folder_path, resources}], email_accounts, capabilities}
rightplace.context into $ctx
log $ctx.projects
log $ctx.capabilities
reconnect
Clear cached connection and re-discover rightplace-cli on next call. Use after restarting the CLI or changing ports.
Module: rightplace | Returns: object -- {reconnected: true}
rightplace.reconnect
health
Get server health status.
Module: rightplace | Returns: object -- {status: "ok", app: "rightplace-cli", version}
rightplace.health into $h
log $h.version
openapi
Get the OpenAPI 3.1 specification describing all API endpoints.
Module: rightplace | Returns: object -- Full OpenAPI spec JSON
rightplace.openapi into $spec
log $spec.info.version
metrics
Get server metrics (uptime, request counts).
Module: rightplace | Returns: string -- Metrics in text format
rightplace.metrics into $m
log $m
batch
Execute multiple API operations in a single request.
Module: rightplace | Returns: array -- Array of results, one per operation
rightplace.batch [{method: "GET", path: "/projects"}, {method: "GET", path: "/stages"}] into $r
log $r
| Parameter | Type | Required | Description |
|---|---|---|---|
operations | array | Yes | Array of {method, path, body?} operation objects |
projects
List all projects with name, folder path, and timestamps.
Module: rightplace | Returns: array -- Array of {id, name, slug, description, folder_path, created_at, updated_at}
rightplace.projects into $list
for $p in $list
log $p.name + " — " + $p.folder_path
endfor
getProject
Get a single project by ID, including all its resources.
Module: rightplace | Returns: object -- Project with resources array
rightplace.getProject "project-uuid" into $p
log $p.name
for $r in $p.resources
log " " + $r.name + " (" + $r.resourceType + ")"
endfor
| Parameter | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | Project UUID |
createProject
Create a new project.
Module: rightplace | Returns: object -- {id, name}
rightplace.createProject "My Website" into $p
log "Created project: " + $p.id
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Project name |
description | string | No | Project description |
folderPath | string | No | Local folder path for the project |
updateProject
Update a project's name or description.
Module: rightplace | Returns: object -- {id, updated: true}
rightplace.updateProject "project-uuid" {name: "New Name", description: "Updated desc"}
| Parameter | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | Project UUID |
updates | object | Yes | {name?, description?} |
tasks
List tasks for a project (stored as markdown files in project folder).
Module: rightplace | Returns: array -- Array of task objects with id, title, status, priority
rightplace.tasks "project-uuid" into $t
for $task in $t
log $task.title + " [" + $task.status + "]"
endfor
| Parameter | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | Project UUID |
createTask
Create a task in a project.
Module: rightplace | Returns: object -- {id, title}
rightplace.createTask "project-uuid" "Fix login bug" {status: "pending", priority: "high"}
| Parameter | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | Project UUID |
title | string | Yes | Task title |
options | object | No | {status: "pending"|"in_progress"|"done", priority?, body?} |
sheets
List sheets in a spreadsheet resource.
Module: rightplace | Returns: array -- Array of {id, name, row_count, format}
rightplace.sheets "spreadsheet-uuid" into $s
for $sheet in $s
log $sheet.name + ": " + $sheet.row_count + " rows"
endfor
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Spreadsheet resource UUID |
grid
Read cell data from a spreadsheet sheet. Returns rows with cells keyed by column letter (A, B, C...).
Module: rightplace | Returns: object -- {rows: [{row_index, cells: {A: {raw}, B: {raw}}}], row_count}
rightplace.grid "spreadsheet-uuid" "Sheet1" into $data
for $row in $data.rows
log $row.cells.A.raw + " | " + $row.cells.B.raw
endfor
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Spreadsheet resource UUID |
sheetId | string | Yes | Sheet ID or name |
writeCells
Write cells to a spreadsheet. Supports both CSV and database-backed formats.
Module: rightplace | Returns: object -- {updated: count}
rightplace.writeCells "spreadsheet-uuid" [
{sheet_id: "Sheet1", col: 0, row: 0, value: "Name"},
{sheet_id: "Sheet1", col: 1, row: 0, value: "Age"},
{sheet_id: "Sheet1", col: 0, row: 1, value: "Alice"},
{sheet_id: "Sheet1", col: 1, row: 1, value: "30"}
] into $r
log "Updated " + $r.updated + " cells"
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Spreadsheet resource UUID |
edits | array | Yes | Array of {sheet_id, col (0-based), row (0-based), value} |
exportCsv
Export a spreadsheet sheet as raw CSV text.
Module: rightplace | Returns: object -- {csv: string, sheet_id}
rightplace.exportCsv "spreadsheet-uuid" "Sheet1" into $data
file.write "export.csv" $data.csv
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Spreadsheet resource UUID |
sheetId | string | Yes | Sheet ID or name |
createSheet
Create a new empty sheet in a spreadsheet resource.
Module: rightplace | Returns: object -- {name, created: true}
rightplace.createSheet "spreadsheet-uuid" "Revenue"
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Spreadsheet resource UUID |
name | string | Yes | New sheet name |
renameSheet
Rename an existing sheet.
Module: rightplace | Returns: object -- {from, to}
rightplace.renameSheet "spreadsheet-uuid" "Sheet1" "Summary"
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Spreadsheet resource UUID |
oldName | string | Yes | Current sheet name |
newName | string | Yes | New sheet name |
deleteSheet
Delete a sheet from a spreadsheet resource.
Module: rightplace | Returns: object -- {name, deleted: true}
rightplace.deleteSheet "spreadsheet-uuid" "OldSheet"
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Spreadsheet resource UUID |
name | string | Yes | Sheet name to delete |
emailAccounts
List all configured email accounts.
Module: rightplace | Returns: array -- Array of {id, email, display_name, provider, is_active}
rightplace.emailAccounts into $accounts
for $a in $accounts
log $a.email + " (" + $a.provider + ")"
endfor
emailMailboxes
List mailboxes (folders) for an email account — inbox, sent, drafts, trash, etc.
Module: rightplace | Returns: array -- Array of {id, name, path, role, total_messages, unseen_count}
rightplace.emailMailboxes "1" into $boxes
for $box in $boxes
log $box.name + ": " + $box.unseen_count + " unread"
endfor
| Parameter | Type | Required | Description |
|---|---|---|---|
accountId | string | Yes | Email account ID |
emailMessages
List email messages. Filter by mailbox ID, account ID, or get all.
Module: rightplace | Returns: array -- Array of {id, subject, from_address, date, snippet, is_seen}
rightplace.emailMessages {mailbox_id: "5", limit: "10"} into $msgs
for $m in $msgs
log $m.from_address + ": " + $m.subject
endfor
| Parameter | Type | Required | Description |
|---|---|---|---|
filter | object | No | {mailbox_id?, account_id?, limit?, offset?} or just a mailbox_id string |
emailGetMessage
Get a full email message with body text, HTML, headers, and attachments.
Module: rightplace | Returns: object -- Full message with body_text, body_html, attachments array
rightplace.emailGetMessage "123" into $msg
log $msg.subject
log $msg.body_text
| Parameter | Type | Required | Description |
|---|---|---|---|
messageId | string | Yes | Message ID |
emailContacts
List email contacts, optionally filtered by search query.
Module: rightplace | Returns: array -- Array of {email, name, frequency, last_seen}
rightplace.emailContacts "alice" into $c
for $contact in $c
log $contact.name + " <" + $contact.email + ">"
endfor
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | No | Search by name or email |
emailSearch
Full-text search across all emails (subject, body, addresses).
Module: rightplace | Returns: array -- Array of matching message summaries
rightplace.emailSearch "invoice Q4" into $results
log "Found " + length($results) + " matches"
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Full-text search query |
emailSend
Send an email via SMTP. Requires email account with SMTP configured.
Module: rightplace | Returns: object -- Send confirmation
rightplace.emailSend {
account_id: 1,
to: ["user@example.com"],
cc: ["team@example.com"],
subject: "Monthly Report",
body_text: "Please find the report attached.",
body_html: "<h1>Monthly Report</h1><p>See attached.</p>"
}
| Parameter | Type | Required | Description |
|---|---|---|---|
options | object | Yes | {account_id, to: [], cc?: [], bcc?: [], subject, body_text?, body_html?} |
emailFlags
Set read/unread or flagged/unflagged status on messages.
Module: rightplace | Returns: object -- {updated: count}
rightplace.emailFlags {message_ids: [1, 2, 3], mailbox_id: 5, is_seen: true}
| Parameter | Type | Required | Description |
|---|---|---|---|
options | object | Yes | {message_ids: number[], mailbox_id: number, is_seen?: boolean, is_flagged?: boolean} |
emailMove
Move messages between mailboxes (e.g. inbox to archive).
Module: rightplace | Returns: object -- {moved: count}
rightplace.emailMove {message_ids: [1, 2], from_mailbox_id: 5, to_mailbox_id: 8}
| Parameter | Type | Required | Description |
|---|---|---|---|
options | object | Yes | {message_ids: number[], from_mailbox_id: number, to_mailbox_id: number} |
emailDraft
Save an email draft.
Module: rightplace | Returns: object -- Saved draft with note about IMAP sync
rightplace.emailDraft {to: ["user@example.com"], subject: "WIP", body_text: "Draft..."}
| Parameter | Type | Required | Description |
|---|---|---|---|
draft | object | Yes | Draft object with to, subject, body fields |
files
List files and folders in a resource directory.
Module: rightplace | Returns: array -- Array of {name, type: "file"|"folder", size}
rightplace.files "resource-uuid" into $f
for $file in $f
log $file.name + " (" + $file.type + ", " + $file.size + " bytes)"
endfor
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Resource UUID |
path | string | No | Subdirectory path |
readFile
Read a file's text content.
Module: rightplace | Returns: object -- {path, content, size}
rightplace.readFile "resource-uuid" "config.json" into $f
log $f.content
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Resource UUID |
path | string | Yes | File path relative to resource root |
writeFile
Write content to a file. Creates parent directories automatically.
Module: rightplace | Returns: object -- {path, size}
rightplace.writeFile "resource-uuid" "notes/daily.md" "# Today\n\n- Task 1\n- Task 2"
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Resource UUID |
path | string | Yes | File path |
content | string | Yes | File content |
deleteFile
Delete a file or directory.
Module: rightplace | Returns: object -- {deleted: path}
rightplace.deleteFile "resource-uuid" "old-file.txt"
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Resource UUID |
path | string | Yes | Path to delete |
searchFiles
Search files by name or content within a resource.
Module: rightplace | Returns: array -- Array of matching files with match type
rightplace.searchFiles "resource-uuid" "TODO" true into $results
for $r in $results
log $r.name + " (matched by " + $r.match_type + ")"
endfor
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Resource UUID |
query | string | Yes | Search query |
content | boolean | No | Also search inside file content (default: false) |
gitStatus
Get git status: current branch and list of changed files.
Module: rightplace | Returns: object -- {branch, changed_count, files: []}
rightplace.gitStatus "git-uuid" into $g
log "On branch " + $g.branch + " with " + $g.changed_count + " changes"
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Git resource UUID |
gitLog
Get git commit history.
Module: rightplace | Returns: array -- Array of {hash, author, timestamp, message}
rightplace.gitLog "git-uuid" 5 into $log
for $commit in $log
log $commit.hash + " " + $commit.message
endfor
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Git resource UUID |
limit | number | No | Max commits to return (default: 20) |
gitDiff
Get git diff for all changes or a specific file.
Module: rightplace | Returns: object -- {diff: string}
rightplace.gitDiff "git-uuid" into $d
log $d.diff
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Git resource UUID |
file | string | No | Specific file to diff (omit for all changes) |
gitBranches
List all git branches (local and remote).
Module: rightplace | Returns: array -- Array of branch name strings
rightplace.gitBranches "git-uuid" into $b
for $branch in $b
log $branch
endfor
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Git resource UUID |
gitStage
Stage files for commit (git add).
Module: rightplace | Returns: object -- {staged: [file paths]}
rightplace.gitStage "git-uuid" ["src/main.rs", "README.md"]
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Git resource UUID |
files | array | Yes | File paths to stage, or a single path string |
gitCommit
Create a git commit with currently staged changes.
Module: rightplace | Returns: object -- {hash, message}
rightplace.gitStage "git-uuid" ["src/main.rs"]
rightplace.gitCommit "git-uuid" "fix: resolve login redirect bug" into $c
log "Committed: " + $c.hash
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Git resource UUID |
message | string | Yes | Commit message |
gitBranch
Create a new git branch, optionally switching to it.
Module: rightplace | Returns: object -- {branch, checkout}
rightplace.gitBranch "git-uuid" "feature/auth" true
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Git resource UUID |
name | string | Yes | New branch name |
checkout | boolean | No | Switch to the new branch (default: false) |
gitCheckout
Switch to a different branch.
Module: rightplace | Returns: object -- Checkout result
rightplace.gitCheckout "git-uuid" "main"
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Git resource UUID |
branch | string | Yes | Branch name to switch to |
gitFileContent
Read file content, optionally at a specific git ref (branch, tag, commit).
Module: rightplace | Returns: object -- {file, content, ref?}
rightplace.gitFileContent "git-uuid" "README.md" "v1.0" into $f
log $f.content
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Git resource UUID |
file | string | Yes | File path |
ref | string | No | Git ref — branch name, tag, or commit hash |
exec
Execute a shell command. Commands with shell metacharacters (;|&`$) are blocked for security.
Module: rightplace | Returns: object -- {stdout, stderr, exit_code, success}
rightplace.exec "ls -la /tmp" into $r
log $r.stdout
log "Exit: " + $r.exit_code
| Parameter | Type | Required | Description |
|---|---|---|---|
command | string | Yes | Shell command to execute |
cwd | string | No | Working directory |
query
Execute a read-only SQL SELECT query against the core database.
Module: rightplace | Returns: array -- Array of row objects
rightplace.query "SELECT id, name FROM projects WHERE name LIKE '%site%'" into $rows
for $row in $rows
log $row.id + ": " + $row.name
endfor
| Parameter | Type | Required | Description |
|---|---|---|---|
sql | string | Yes | SQL SELECT or PRAGMA query |
dbExecute
Execute a SQL mutation (INSERT, UPDATE, DELETE). DROP/ALTER/ATTACH are blocked.
Module: rightplace | Returns: object -- {affected_rows}
rightplace.dbExecute "UPDATE tasks SET status='done' WHERE id='abc'" into $r
log "Affected: " + $r.affected_rows
| Parameter | Type | Required | Description |
|---|---|---|---|
sql | string | Yes | SQL INSERT/UPDATE/DELETE statement |
search
Search across all data types: projects, resources, email, activities.
Module: rightplace | Returns: array -- Array of {id, name, category} results
rightplace.search "invoice" into $results
for $r in $results
log $r.category + ": " + $r.name
endfor
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Search query |
categories | array | No | Filter: ["projects", "email", "activities", "resources"] |
activities
List recent activities/notifications.
Module: rightplace | Returns: array -- Array of {id, kind, status, title, severity, created_at}
rightplace.activities {limit: "10"} into $a
for $act in $a
log $act.title + " [" + $act.status + "]"
endfor
| Parameter | Type | Required | Description |
|---|---|---|---|
options | object | No | {limit?, kind?, status?} or just a limit number |
activitiesUnread
Get the count of unread activities.
Module: rightplace | Returns: object -- {count}
rightplace.activitiesUnread into $u
log "Unread: " + $u.count
stages
List all stages/kanban boards across all projects.
Module: rightplace | Returns: array -- Array of {id, name, project_name}
rightplace.stages into $s
for $stage in $s
log $stage.name + " (" + $stage.project_name + ")"
endfor
getStage
Get a stage board with its full task tree.
Module: rightplace | Returns: object -- Stage with {id, title, tasks: [{id, title, status, content, labels}]}
rightplace.getStage "stage-uuid" into $stage
log $stage.title
for $task in $stage.tasks
log " [" + $task.status + "] " + $task.title
endfor
| Parameter | Type | Required | Description |
|---|---|---|---|
stageId | string | Yes | Stage UUID |
addStageTask
Add a task to a stage board.
Module: rightplace | Returns: object -- {id, title}
rightplace.addStageTask "stage-uuid" "Review PR #42" {status: "todo", labels: ["review"]}
| Parameter | Type | Required | Description |
|---|---|---|---|
stageId | string | Yes | Stage UUID |
title | string | Yes | Task title |
options | object | No | {status: "todo"|"in_progress"|"done", content?, labels?: string[]} |
updateStageTask
Update a task's title, status, content, or labels.
Module: rightplace | Returns: object -- {id, updated: true}
rightplace.updateStageTask "stage-uuid" "task-uuid" {status: "done"}
| Parameter | Type | Required | Description |
|---|---|---|---|
stageId | string | Yes | Stage UUID |
taskId | string | Yes | Task UUID |
updates | object | Yes | {title?, status?, content?, labels?} |
deleteStageTask
Remove a task from a stage board.
Module: rightplace | Returns: object -- {id, deleted: true}
rightplace.deleteStageTask "stage-uuid" "task-uuid"
| Parameter | Type | Required | Description |
|---|---|---|---|
stageId | string | Yes | Stage UUID |
taskId | string | Yes | Task UUID |
createStage
Create a new stage/kanban board in a project.
Module: rightplace | Returns: object -- {id, name}
rightplace.createStage "Sprint 1" "project-uuid" into $s
log "Created stage: " + $s.id
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Stage board name |
projectId | string | Yes | Project UUID |
connections
List all connections (API endpoints, SSH, FTP, etc.) across projects.
Module: rightplace | Returns: array -- Array of {id, project_id, name, connection_type, endpoint}
rightplace.connections into $c
for $conn in $c
log $conn.name + " (" + $conn.connection_type + ")"
endfor
getConnection
Get a single connection with full config details.
Module: rightplace | Returns: object -- Connection with config_json
rightplace.getConnection "connection-uuid" into $c
log $c.endpoint
| Parameter | Type | Required | Description |
|---|---|---|---|
connectionId | string | Yes | Connection UUID |
places
List all places.
Module: rightplace | Returns: array -- Array of {id, title, parent_id}
rightplace.places into $p
placesByParent
List places under a parent project.
Module: rightplace | Returns: array -- Array of child places
rightplace.placesByParent "project-uuid" into $p
| Parameter | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | Parent project UUID |
automations
List automation scripts for a resource (legacy single-file format).
Module: rightplace | Returns: array -- Array of {name} script entries
rightplace.automations "resource-uuid" into $a
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Resource UUID |
getAutomation
Get a single automation script content (legacy format).
Module: rightplace | Returns: object -- {name, script}
rightplace.getAutomation "resource-uuid" "main" into $a
log $a.script
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Resource UUID |
name | string | Yes | Automation script name |
cron
List cron tasks managed by the desktop app runtime.
Module: rightplace | Returns: array -- Array of cron task objects
rightplace.cron into $c
docsList
List all documents in a docs resource (recursive with folders).
Module: rightplace | Returns: array -- Array of {name, path, type: "file"|"folder", size}
rightplace.docsList "docs-uuid" into $docs
for $doc in $docs
log $doc.path + " (" + $doc.type + ")"
endfor
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Docs resource UUID |
docsGet
Get a document's content, or list children if it's a folder.
Module: rightplace | Returns: object -- {path, content, size} for files, {path, type: "folder", children} for folders
rightplace.docsGet "docs-uuid" "guide.md" into $doc
log $doc.content
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Docs resource UUID |
path | string | Yes | Document path |
docsSearch
Search documents by name or content.
Module: rightplace | Returns: array -- Array of matching documents
rightplace.docsSearch "docs-uuid" "API" into $results
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Docs resource UUID |
query | string | Yes | Search query |
docsCreate
Create a new document or folder.
Module: rightplace | Returns: object -- {path, type}
rightplace.docsCreate "docs-uuid" "guide/setup.md" {content: "# Setup Guide\n\n..."}
rightplace.docsCreate "docs-uuid" "archive" {is_folder: true}
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Docs resource UUID |
path | string | Yes | Document or folder path |
options | object | No | {content?: string, is_folder?: boolean} |
docsUpdate
Update a document's content.
Module: rightplace | Returns: object -- {path, size}
rightplace.docsUpdate "docs-uuid" "guide.md" "# Updated Guide\n\nNew content here."
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Docs resource UUID |
path | string | Yes | Document path |
content | string | Yes | New content |
docsDelete
Delete a document or folder.
Module: rightplace | Returns: object -- {deleted: path}
rightplace.docsDelete "docs-uuid" "old-file.md"
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Docs resource UUID |
path | string | Yes | Path to delete |
docsRename
Rename a document file.
Module: rightplace | Returns: object -- {from, to}
rightplace.docsRename "docs-uuid" "old-name.md" "new-name.md"
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Docs resource UUID |
path | string | Yes | Current filename |
newName | string | Yes | New filename |
docsMove
Move a document to a different location within the resource.
Module: rightplace | Returns: object -- {from, to}
rightplace.docsMove "docs-uuid" "file.md" "archive/file.md"
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Docs resource UUID |
path | string | Yes | Source path |
dest | string | Yes | Destination path |
qaListTests
List QA test cases for a resource.
Module: rightplace | Returns: array -- Array of test case objects
rightplace.qaListTests "qa-uuid" into $tests
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | QA resource UUID |
qaSaveTest
Create or update a QA test case.
Module: rightplace | Returns: object -- {id, name}
rightplace.qaSaveTest "qa-uuid" "Login flow" {config: {url: "/login", steps: ["fill email", "click submit"]}}
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | QA resource UUID |
name | string | Yes | Test case name |
options | object | No | {id?: string (for updates), config?: object} |
qaDeleteTest
Delete a QA test case.
Module: rightplace | Returns: object -- {id, deleted: true}
rightplace.qaDeleteTest "qa-uuid" "test-id"
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | QA resource UUID |
testId | string | Yes | Test case UUID |
logStatus
Check log streaming status for a resource.
Module: rightplace | Returns: object -- {streaming: boolean}
rightplace.logStatus "resource-uuid" into $s
log "Streaming: " + $s.streaming
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Resource UUID |
logStart
Start log streaming for a resource.
Module: rightplace | Returns: object -- Stream start result
rightplace.logStart "resource-uuid"
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Resource UUID |
automationsList
List automations for a resource (modern format with meta.json + index.rp).
Module: rightplace | Returns: array -- Array of {id, name, description, scriptSize, hasScript, createdAt}
rightplace.automationsList "resource-uuid" into $a
for $auto in $a
log $auto.name + " (" + $auto.scriptSize + " bytes)"
endfor
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Resource UUID |
automationCreate
Create a new automation with optional template or inline script.
Module: rightplace | Returns: object -- {id, name, scriptSize}
rightplace.automationCreate "resource-uuid" "Deploy Check" {template: "hello-world"} into $a
log "Created: " + $a.id
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Resource UUID |
name | string | Yes | Automation name |
options | object | No | {description?, template?: "hello-world"|"simple-arithmetic"|"start-empty", script?: string} |
automationGet
Get automation metadata and full script content.
Module: rightplace | Returns: object -- {id, name, description, script, scriptSize}
rightplace.automationGet "resource-uuid" "abc123" into $a
log $a.script
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Resource UUID |
automationId | string | Yes | Automation ID |
automationDelete
Delete an automation and its script files.
Module: rightplace | Returns: object -- {id, deleted: true}
rightplace.automationDelete "resource-uuid" "abc123"
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Resource UUID |
automationId | string | Yes | Automation ID |
automationReadScript
Read an automation's RobinPath script (index.rp).
Module: rightplace | Returns: object -- {automationId, script}
rightplace.automationReadScript "resource-uuid" "abc123" into $s
log $s.script
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Resource UUID |
automationId | string | Yes | Automation ID |
automationWriteScript
Write or update an automation's RobinPath script.
Module: rightplace | Returns: object -- {automationId, size}
$script = "@desc \"Health check\"\ndo\n rightplace.status into $s\n log $s\nenddo"
rightplace.automationWriteScript "resource-uuid" "abc123" $script
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Resource UUID |
automationId | string | Yes | Automation ID |
script | string | Yes | RobinPath script content |
automationRun
Execute an automation's script via RobinPath runtime.
Module: rightplace | Returns: object -- Execution result from RobinPath
rightplace.automationRun "resource-uuid" "abc123" into $result
log $result
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | Resource UUID |
automationId | string | Yes | Automation ID |
automationTemplates
List available automation templates.
Module: rightplace | Returns: array -- Template name strings
rightplace.automationTemplates into $t
log $t
listResources
List all resources in a project.
Module: rightplace | Returns: array -- Array of resource objects with id, name, resourceType, provider, status
rightplace.listResources "project-uuid" into $r
for $res in $r
log $res.name + " [" + $res.resourceType + "]"
endfor
| Parameter | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | Project UUID |
getResource
Get a single resource with full config.
Module: rightplace | Returns: object -- Resource with configJson, provider, environment, status
rightplace.getResource "project-uuid" "resource-uuid" into $r
log $r.resourceType
| Parameter | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | Project UUID |
resourceId | string | Yes | Resource UUID |
createResource
Create a new resource in a project. Automatically creates type-specific folders and configs.
Module: rightplace | Returns: object -- {id, name, resourceType, provider}
rightplace.createResource "project-uuid" "My Docs" "docs" into $r
log "Created: " + $r.id
| Parameter | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | Project UUID |
name | string | Yes | Resource name |
resourceType | string | Yes | Type: wordpress, docs, spreadsheets, automation, database, git_repo, terminal_session, code_editor, pages, qa, logs, project_email, task (Stage), design_tokens, canvas, storage, ftp, ssh, folder, website |
options | object | No | {provider?, environment?, config?} |
deleteResource
Delete a resource and its metadata files.
Module: rightplace | Returns: object -- {id, deleted: true}
rightplace.deleteResource "project-uuid" "resource-uuid"
| Parameter | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | Project UUID |
resourceId | string | Yes | Resource UUID |
resourceTypes
List all available resource types grouped by category.
Module: rightplace | Returns: object -- {web_cms: [...], development: [...], operations: [...], content: [...], data_storage: [...], infrastructure: [...]}
rightplace.resourceTypes into $types
log $types.web_cms
log $types.development
wpStatus
Get WordPress site connection status.
Module: rightplace | Returns: object -- Connection status with site URL
rightplace.wpStatus "wp-uuid" into $s
log $s
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
wpContent
List WordPress content by type — posts, pages, media, users, plugins, themes.
Module: rightplace | Returns: array -- Array of content items from wp_sync database
rightplace.wpContent "wp-uuid" {type: "posts"} into $c
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
options | object | No | {type?: "posts"|"pages"|"media"|"users"|"plugins"|"themes", limit?} |
wpGetContent
Get a specific WordPress content item by ID from the sync database.
Module: rightplace | Returns: object -- Content item with parsed data
rightplace.wpGetContent "wp-uuid" "123" into $c
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
contentId | string | Yes | Content item ID |
wpSearch
Search WordPress content by text across all synced data.
Module: rightplace | Returns: array -- Array of matching items
rightplace.wpSearch "wp-uuid" "pricing page" into $results
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
query | string | Yes | Search text |
wpPosts
List WordPress posts with optional filters.
Module: rightplace | Returns: array -- Array of post objects
rightplace.wpPosts "wp-uuid" into $posts
for $post in $posts
log $post.title
endfor
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
options | object | No | {status?, per_page?, page?} |
wpGetPost
Get a single WordPress post by ID.
Module: rightplace | Returns: object -- Full post object
rightplace.wpGetPost "wp-uuid" "42" into $post
log $post.title + " — " + $post.status
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
postId | string | Yes | Post ID |
wpPages
List WordPress pages.
Module: rightplace | Returns: array -- Array of page objects
rightplace.wpPages "wp-uuid" into $pages
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
options | object | No | Filter options |
wpMedia
List WordPress media library items.
Module: rightplace | Returns: array -- Array of media objects
rightplace.wpMedia "wp-uuid" into $media
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
wpCategories
List WordPress categories.
Module: rightplace | Returns: array -- Array of category objects
rightplace.wpCategories "wp-uuid" into $cats
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
wpTags
List WordPress tags.
Module: rightplace | Returns: array -- Array of tag objects
rightplace.wpTags "wp-uuid" into $tags
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
wpUsers
List WordPress users.
Module: rightplace | Returns: array -- Array of user objects
rightplace.wpUsers "wp-uuid" into $users
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
wpThemes
List WordPress themes with active/inactive status.
Module: rightplace | Returns: array -- Array of theme objects
rightplace.wpThemes "wp-uuid" into $themes
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
wpPlugins
List WordPress plugins with status.
Module: rightplace | Returns: array -- Array of plugin objects
rightplace.wpPlugins "wp-uuid" into $plugins
for $p in $plugins
log $p.name + " — " + $p.status
endfor
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
wpFunctions
List all available WordPress core API functions (130+).
Module: rightplace | Returns: array -- Function names and descriptions
rightplace.wpFunctions "wp-uuid" into $funcs
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
wpSystemInfo
Get WordPress server system info — PHP version, MySQL version, memory limits, etc.
Module: rightplace | Returns: object -- System information
rightplace.wpSystemInfo "wp-uuid" into $info
log "PHP: " + $info.php_version
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
wpSchema
Get WordPress site schema — post types, taxonomies, permalink structure.
Module: rightplace | Returns: object -- Schema definition
rightplace.wpSchema "wp-uuid" into $schema
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
wpCoreApi
Call any WordPress core API function by name. Supports 130+ functions (getPluginsQuery, changePluginStatus, getPosts, etc.).
Module: rightplace | Returns: object -- Function result
rightplace.wpCoreApi "wp-uuid" "getPosts" {limit: 5, status: "publish"} into $r
log $r
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
func | string | Yes | WP function name |
params | object | No | Function parameters |
wpCreatePost
Create a WordPress post.
Module: rightplace | Returns: object -- Created post
rightplace.wpCreatePost "wp-uuid" {title: "Hello World", content: "<p>First post!</p>", status: "draft"}
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
data | object | Yes | {title, content?, status?: "draft"|"publish"|"private", categories?: number[]} or just a title string |
wpUpdatePost
Update an existing WordPress post.
Module: rightplace | Returns: object -- Updated post
rightplace.wpUpdatePost "wp-uuid" "42" {title: "Updated Title", status: "publish"}
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
postId | string | Yes | Post ID |
data | object | Yes | Fields to update: {title?, content?, status?, categories?} |
wpCreatePage
Create a WordPress page.
Module: rightplace | Returns: object -- Created page
rightplace.wpCreatePage "wp-uuid" {title: "About Us", content: "<p>We are...</p>"}
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
data | object | Yes | {title, content?, status?} or just a title string |
wpSideloadMedia
Upload media to WordPress from an external URL (the server downloads it).
Module: rightplace | Returns: object -- Uploaded media object
rightplace.wpSideloadMedia "wp-uuid" "https://example.com/logo.png" "Company Logo"
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
url | string | Yes | Source URL to download from |
title | string | No | Media title |
wpCreateCategory
Create a WordPress category.
Module: rightplace | Returns: object -- Created category
rightplace.wpCreateCategory "wp-uuid" "News"
rightplace.wpCreateCategory "wp-uuid" "Sports" 5
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
name | string | Yes | Category name |
parent | number | No | Parent category ID (for nested categories) |
wpActivatePlugin
Activate a WordPress plugin by slug.
Module: rightplace | Returns: object -- Activation result
rightplace.wpActivatePlugin "wp-uuid" "woocommerce"
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
slug | string | Yes | Plugin slug (e.g. "woocommerce", "akismet") |
wpDeactivatePlugin
Deactivate a WordPress plugin.
Module: rightplace | Returns: object -- Deactivation result
rightplace.wpDeactivatePlugin "wp-uuid" "akismet"
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
slug | string | Yes | Plugin slug |
wpUpdatePlugin
Update a WordPress plugin to the latest version.
Module: rightplace | Returns: object -- Update result
rightplace.wpUpdatePlugin "wp-uuid" "woocommerce"
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
slug | string | Yes | Plugin slug |
wpActivateTheme
Switch the active WordPress theme.
Module: rightplace | Returns: object -- Activation result
rightplace.wpActivateTheme "wp-uuid" "twentytwentyfour"
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
slug | string | Yes | Theme slug |
wpUpdateUser
Update a WordPress user's profile.
Module: rightplace | Returns: object -- Updated user
rightplace.wpUpdateUser "wp-uuid" "1" {display_name: "Admin User", role: "administrator"}
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
userId | string | Yes | User ID |
data | object | Yes | {display_name?, email?, role?} |
wpPasswordReset
Send a password reset email to a WordPress user.
Module: rightplace | Returns: object -- Reset result
rightplace.wpPasswordReset "wp-uuid" "1"
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
userId | string | Yes | User ID |
wpExportCsv
Export WordPress posts to CSV format.
Module: rightplace | Returns: object -- CSV content
rightplace.wpExportCsv "wp-uuid" "post" "publish" into $csv
file.write "posts.csv" $csv
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
postType | string | No | Post type (default: "post") |
status | string | No | Filter by status |
wpExportJson
Export WordPress posts to JSON format.
Module: rightplace | Returns: object -- JSON export data
rightplace.wpExportJson "wp-uuid" into $data
file.writeJSON "posts.json" $data
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
postType | string | No | Post type (default: "post") |
status | string | No | Filter by status |
wpQuery
Execute a custom WordPress query (WP_Query style).
Module: rightplace | Returns: object -- Query results
rightplace.wpQuery "wp-uuid" {post_type: "product", posts_per_page: 10} into $r
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
params | object | No | WP_Query parameters |
wpSync
Trigger WordPress content synchronization between the site and local database.
Module: rightplace | Returns: object -- Sync result
rightplace.wpSync "wp-uuid"
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
wpRest
Make a raw WordPress REST API call with full control over method, endpoint, and body.
Module: rightplace | Returns: object -- Raw API response
rightplace.wpRest "wp-uuid" {endpoint: "/wp/v2/posts", method: "GET"} into $r
rightplace.wpRest "wp-uuid" {endpoint: "/wp/v2/settings", method: "POST", body: {title: "New Title"}} into $r
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
options | object | Yes | {endpoint, method?: "GET"|"POST"|"PUT"|"DELETE", body?: object} or just an endpoint string |
wcProducts
List WooCommerce products.
Module: rightplace | Returns: array -- Array of product objects
rightplace.wcProducts "wp-uuid" into $products
for $p in $products
log $p.name + " — $" + $p.price
endfor
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID (WooCommerce must be active) |
options | object | No | {category?, status?, search?} |
wcGetProduct
Get a single WooCommerce product by ID.
Module: rightplace | Returns: object -- Full product with price, stock, images, categories
rightplace.wcGetProduct "wp-uuid" "123" into $p
log $p.name + " — stock: " + $p.stock_quantity
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
productId | string | Yes | Product ID |
wcOrders
List WooCommerce orders.
Module: rightplace | Returns: array -- Array of order objects
rightplace.wcOrders "wp-uuid" {status: "processing"} into $orders
for $o in $orders
log "Order #" + $o.id + " — $" + $o.total
endfor
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
options | object | No | {status?: "processing"|"completed"|"pending", customer?} |
wcGetOrder
Get a single WooCommerce order by ID.
Module: rightplace | Returns: object -- Full order with line items, billing, shipping
rightplace.wcGetOrder "wp-uuid" "456" into $o
log "Order #" + $o.id + " — " + $o.billing.email
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
orderId | string | Yes | Order ID |
wcCustomers
List WooCommerce customers.
Module: rightplace | Returns: array -- Array of customer objects
rightplace.wcCustomers "wp-uuid" {search: "alice"} into $c
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
options | object | No | {email?, search?} |
wcGetCustomer
Get a single WooCommerce customer by ID.
Module: rightplace | Returns: object -- Full customer with orders_count, total_spent
rightplace.wcGetCustomer "wp-uuid" "789" into $c
log $c.first_name + " — " + $c.orders_count + " orders"
| Parameter | Type | Required | Description |
|---|---|---|---|
resourceId | string | Yes | WordPress resource UUID |
customerId | string | Yes | Customer ID |
Error Handling
| Error | Cause | Fix |
|---|---|---|
RightPlace CLI not found | rightplace-cli is not running | Start the desktop app or run rightplace-cli |
fetch failed | CLI server is down or unreachable | Check if CLI is running, try rightplace.reconnect |
PERMISSION_DENIED | CLI permission for this category is disabled | Enable in desktop app > Settings > CLI Permissions |
READ_ONLY | Write operation in read-only mode | Start CLI without --read-only flag |
UNAUTHORIZED | Invalid or expired auth token | Restart rightplace-cli to get a new token |
TOKEN_EXPIRED | Token older than 24 hours | Restart the CLI |
RATE_LIMITED | Too many requests per minute | Wait and retry, or increase --rate-limit |
Path traversal | File path tried to escape resource directory | Use relative paths without .. |
Recipes
1. Morning dashboard: email + orders + git status
@desc "Get workspace context"
do
rightplace.context into $ctx
log "Projects: " + length($ctx.projects)
enddo
@desc "Check unread emails"
do
rightplace.activitiesUnread into $u
log "Unread activities: " + $u.count
rightplace.emailMessages {limit: "5"} into $recent
for $msg in $recent
log " " + $msg.from_address + ": " + $msg.subject
endfor
enddo
@desc "Check WooCommerce orders"
do
rightplace.wcOrders "wp-uuid" {status: "processing"} into $orders
log "Pending orders: " + length($orders)
for $o in $orders
log " #" + $o.id + " — $" + $o.total
endfor
enddo
@desc "Check git status"
do
rightplace.gitStatus "git-uuid" into $g
log "Branch: " + $g.branch + ", changes: " + $g.changed_count
enddo
2. WordPress plugin health check
@desc "Check all plugins are active and up to date"
do
rightplace.wpPlugins "wp-uuid" into $plugins
$inactive = 0
for $p in $plugins
if $p.status != "active"
log "INACTIVE: " + $p.name
$inactive = $inactive + 1
endif
endfor
if $inactive == 0
log "All plugins active"
else
log $inactive + " plugins need attention"
endif
enddo
3. Backup spreadsheets to CSV files
@desc "Export all sheets to local CSV files"
do
rightplace.sheets "spreadsheet-uuid" into $sheets
for $sheet in $sheets
rightplace.exportCsv "spreadsheet-uuid" $sheet.id into $data
file.write `backup/${$sheet.name}.csv` $data.csv
log "Exported: " + $sheet.name
endfor
enddo
4. Git workflow: branch, stage, commit
@desc "Create feature branch and commit"
do
rightplace.gitBranch "git-uuid" "feature/new-login" true
rightplace.gitStatus "git-uuid" into $g
log "Switched to " + $g.branch
rightplace.gitStage "git-uuid" $g.files
rightplace.gitCommit "git-uuid" "feat: add new login page" into $c
log "Committed: " + $c.hash
enddo
5. Create automation and run it
@desc "Create and execute a health check automation"
do
rightplace.automationCreate "resource-uuid" "Health Check" {
script: "@desc \"Check\"\ndo\n rightplace.status into $s\n log $s\nenddo"
} into $a
log "Created automation: " + $a.id
rightplace.automationRun "resource-uuid" $a.id into $result
log "Result: " + $result
enddo
6. Cross-module: RightPlace + Slack notification
@desc "Send new WooCommerce orders to Slack"
do
rightplace.wcOrders "wp-uuid" {status: "processing"} into $orders
if length($orders) > 0
$msg = "New orders: " + length($orders)
for $o in $orders
$msg = $msg + "\n #" + $o.id + " — $" + $o.total
endfor
slack.send "default" "#orders" $msg
log "Notified Slack about " + length($orders) + " orders"
endif
enddo
7. Bulk WordPress post creation from spreadsheet
@desc "Read spreadsheet and create WordPress posts"
do
rightplace.grid "spreadsheet-uuid" "Posts" into $data
for $row in $data.rows
$title = $row.cells.A.raw
$content = $row.cells.B.raw
if $title != "" and $title != "Title"
rightplace.wpCreatePost "wp-uuid" {title: $title, content: $content, status: "draft"}
log "Created draft: " + $title
endif
endfor
enddo
8. Document search and report
@desc "Search docs and generate a summary"
do
rightplace.docsSearch "docs-uuid" "API" into $results
log "Found " + length($results) + " docs mentioning 'API'"
for $doc in $results
rightplace.docsGet "docs-uuid" $doc.path into $full
log " " + $doc.path + " (" + $full.size + " bytes)"
endfor
enddo
Related Modules
- @robinpath/slack -- Send RightPlace notifications to Slack channels
- @robinpath/csv -- Parse and generate CSV from spreadsheet exports
- @robinpath/github -- Combine RightPlace projects with GitHub repositories
- @robinpath/discord -- Send notifications to Discord
- @robinpath/google-sheets -- Sync data between RightPlace spreadsheets and Google Sheets
Versions (4)
| Version | Tag | Published |
|---|---|---|
| 0.1.3 | latest | 1 months ago |
| 0.1.2 | 1 months ago | |
| 0.1.1 | 1 months ago | |
| 0.1.0 | 1 months ago |
Related Modules
asana
JS@robinpathv0.1.2
Asana module for RobinPath.
google-sheets
JS@robinpathv0.1.1
Google Sheets module for RobinPath.
airtable
JS@robinpathv0.1.2
Airtable module for RobinPath.
basecamp
JS@robinpathv0.1.2
Basecamp module for RobinPath.
$ robinpath add @robinpath/rightplace
