Modules@robinpath/rightplace
rightplace

@robinpath/rightplace

0.1.3OfficialVerifiedNode.jsPublic

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

  1. RIGHTPLACE_PORT + RIGHTPLACE_TOKEN environment variables (set by desktop app)
  2. ~/.rightplace/cli.json discovery 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.context to list all projects, resources, and capabilities
  • Manage WordPress sites -- Use rightplace.wpPosts, rightplace.wpCreatePost, rightplace.wpActivatePlugin to read and write WP data
  • Read and send email -- Use rightplace.emailMessages, rightplace.emailSend, rightplace.emailSearch for email operations
  • Work with files and code -- Use rightplace.readFile, rightplace.writeFile, rightplace.searchFiles for file I/O
  • Manage git repositories -- Use rightplace.gitStatus, rightplace.gitCommit, rightplace.gitBranch for version control
  • Work with spreadsheets -- Use rightplace.sheets, rightplace.grid, rightplace.writeCells for tabular data
  • Track tasks on kanban boards -- Use rightplace.stages, rightplace.addStageTask, rightplace.updateStageTask for task management
  • Run automations -- Use rightplace.automationRun, rightplace.automationCreate for RobinPath automation lifecycle
  • Manage documents -- Use rightplace.docsList, rightplace.docsGet, rightplace.docsCreate for document operations
  • Query databases -- Use rightplace.query for SELECT and rightplace.dbExecute for mutations
  • Execute shell commands -- Use rightplace.exec to run terminal commands
  • Search across all data -- Use rightplace.search for unified cross-type search
  • Manage WooCommerce -- Use rightplace.wcOrders, rightplace.wcProducts, rightplace.wcCustomers for e-commerce
  • Create and manage resources -- Use rightplace.createResource, rightplace.listResources for project resource lifecycle

Quick Reference

FunctionDescriptionReturns
statusCheck if rightplace-cli is running{connected, version}
contextFull workspace summary -- call FIRST{projects, email_accounts, capabilities}
reconnectClear cached connection{reconnected: true}
healthServer health check{status, app, version}
openapiGet OpenAPI 3.1 specOpenAPI JSON
metricsServer metricsMetrics text
batchExecute multiple operationsArray of results
projectsList all projectsArray of projects
getProjectGet project with resourcesProject object
createProjectCreate a new project{id, name}
updateProjectUpdate project name/description{id, updated}
tasksList tasks for a projectArray of tasks
createTaskCreate a task{id, title}
sheetsList spreadsheet sheetsArray of sheets
gridRead cell data{rows, row_count}
writeCellsWrite cells{updated: count}
exportCsvExport sheet as CSV{csv, sheet_id}
createSheetCreate a sheet{name, created}
renameSheetRename a sheet{from, to}
deleteSheetDelete a sheet{name, deleted}
emailAccountsList email accountsArray of accounts
emailMailboxesList mailboxesArray of mailboxes
emailMessagesList messagesArray of messages
emailGetMessageGet full messageMessage with body
emailContactsList contactsArray of contacts
emailSearchSearch emailsArray of messages
emailSendSend email via SMTPSend result
emailFlagsSet read/flagged{updated: count}
emailMoveMove messages{moved: count}
emailDraftSave draftDraft object
filesList filesArray of files
readFileRead file content{path, content}
writeFileWrite file{path, size}
deleteFileDelete file{deleted: path}
searchFilesSearch filesArray of matches
gitStatusGit status{branch, files}
gitLogCommit logArray of commits
gitDiffGit diff{diff: string}
gitBranchesList branchesArray of names
gitStageStage files{staged: files}
gitCommitCreate commit{hash, message}
gitBranchCreate branch{branch, checkout}
gitCheckoutSwitch branchResult
gitFileContentRead file at ref{file, content}
execShell command{stdout, stderr, exit_code}
querySQL SELECTArray of rows
dbExecuteSQL mutation{affected_rows}
searchSearch all dataArray of results
activitiesList activitiesArray of activities
activitiesUnreadUnread count{count}
stagesList kanban boardsArray of stages
getStageGet stage with tasksStage object
addStageTaskAdd task to board{id, title}
updateStageTaskUpdate task{id, updated}
deleteStageTaskDelete task{id, deleted}
createStageCreate board{id, name}
connectionsList connectionsArray of connections
getConnectionGet connectionConnection object
placesList placesArray of places
placesByParentList child placesArray of places
automationsList scripts (legacy)Array of scripts
getAutomationGet script (legacy){name, script}
cronList cron tasksArray of tasks
docsListList documentsArray of docs
docsGetGet document{path, content}
docsSearchSearch docsArray of matches
docsCreateCreate document{path, type}
docsUpdateUpdate document{path, size}
docsDeleteDelete document{deleted: path}
docsRenameRename document{from, to}
docsMoveMove document{from, to}
qaListTestsList QA testsArray of tests
qaSaveTestSave test case{id, name}
qaDeleteTestDelete test{id, deleted}
logStatusLog stream status{streaming}
logStartStart log streamResult
automationsListList automationsArray of automations
automationCreateCreate automation{id, name}
automationGetGet automationAutomation with script
automationDeleteDelete automation{id, deleted}
automationReadScriptRead script{script}
automationWriteScriptWrite script{size}
automationRunRun automationExecution result
automationTemplatesList templatesArray of names
listResourcesList resourcesArray of resources
getResourceGet resourceResource object
createResourceCreate resource{id, name, type}
deleteResourceDelete resource{id, deleted}
resourceTypesList resource typesCategories object
wpStatusWP connection statusStatus object
wpContentList WP contentArray of items
wpGetContentGet content itemContent object
wpSearchSearch WP contentArray of results
wpPostsList postsArray of posts
wpGetPostGet single postPost object
wpPagesList pagesArray of pages
wpMediaList mediaArray of media
wpCategoriesList categoriesArray of categories
wpTagsList tagsArray of tags
wpUsersList WP usersArray of users
wpThemesList themesArray of themes
wpPluginsList pluginsArray of plugins
wpFunctionsList WP API functionsFunction list
wpSystemInfoSystem infoInfo object
wpSchemaSite schemaSchema object
wpCoreApiCall any WP functionFunction result
wpCreatePostCreate postCreated post
wpUpdatePostUpdate postUpdated post
wpCreatePageCreate pageCreated page
wpSideloadMediaUpload media from URLMedia object
wpCreateCategoryCreate categoryCategory object
wpActivatePluginActivate pluginResult
wpDeactivatePluginDeactivate pluginResult
wpUpdatePluginUpdate pluginResult
wpActivateThemeSwitch themeResult
wpUpdateUserUpdate WP userUpdated user
wpPasswordResetPassword reset emailResult
wpExportCsvExport posts to CSVCSV content
wpExportJsonExport posts to JSONJSON data
wpQueryCustom WP queryQuery results
wpSyncTrigger syncSync result
wpRestRaw REST API callAPI response
wcProductsList productsArray of products
wcGetProductGet productProduct object
wcOrdersList ordersArray of orders
wcGetOrderGet orderOrder object
wcCustomersList customersArray of customers
wcGetCustomerGet customerCustomer 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
ParameterTypeRequiredDescription
operationsarrayYesArray 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
ParameterTypeRequiredDescription
projectIdstringYesProject UUID

createProject

Create a new project.

Module: rightplace | Returns: object -- {id, name}

rightplace.createProject "My Website" into $p
log "Created project: " + $p.id
ParameterTypeRequiredDescription
namestringYesProject name
descriptionstringNoProject description
folderPathstringNoLocal 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"}
ParameterTypeRequiredDescription
projectIdstringYesProject UUID
updatesobjectYes{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
ParameterTypeRequiredDescription
projectIdstringYesProject 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"}
ParameterTypeRequiredDescription
projectIdstringYesProject UUID
titlestringYesTask title
optionsobjectNo{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
ParameterTypeRequiredDescription
resourceIdstringYesSpreadsheet 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
ParameterTypeRequiredDescription
resourceIdstringYesSpreadsheet resource UUID
sheetIdstringYesSheet 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"
ParameterTypeRequiredDescription
resourceIdstringYesSpreadsheet resource UUID
editsarrayYesArray 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
ParameterTypeRequiredDescription
resourceIdstringYesSpreadsheet resource UUID
sheetIdstringYesSheet 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"
ParameterTypeRequiredDescription
resourceIdstringYesSpreadsheet resource UUID
namestringYesNew sheet name

renameSheet

Rename an existing sheet.

Module: rightplace | Returns: object -- {from, to}

rightplace.renameSheet "spreadsheet-uuid" "Sheet1" "Summary"
ParameterTypeRequiredDescription
resourceIdstringYesSpreadsheet resource UUID
oldNamestringYesCurrent sheet name
newNamestringYesNew sheet name

deleteSheet

Delete a sheet from a spreadsheet resource.

Module: rightplace | Returns: object -- {name, deleted: true}

rightplace.deleteSheet "spreadsheet-uuid" "OldSheet"
ParameterTypeRequiredDescription
resourceIdstringYesSpreadsheet resource UUID
namestringYesSheet 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
ParameterTypeRequiredDescription
accountIdstringYesEmail 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
ParameterTypeRequiredDescription
filterobjectNo{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
ParameterTypeRequiredDescription
messageIdstringYesMessage 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
ParameterTypeRequiredDescription
querystringNoSearch 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"
ParameterTypeRequiredDescription
querystringYesFull-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>"
}
ParameterTypeRequiredDescription
optionsobjectYes{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}
ParameterTypeRequiredDescription
optionsobjectYes{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}
ParameterTypeRequiredDescription
optionsobjectYes{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..."}
ParameterTypeRequiredDescription
draftobjectYesDraft 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
ParameterTypeRequiredDescription
resourceIdstringYesResource UUID
pathstringNoSubdirectory 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
ParameterTypeRequiredDescription
resourceIdstringYesResource UUID
pathstringYesFile 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"
ParameterTypeRequiredDescription
resourceIdstringYesResource UUID
pathstringYesFile path
contentstringYesFile content

deleteFile

Delete a file or directory.

Module: rightplace | Returns: object -- {deleted: path}

rightplace.deleteFile "resource-uuid" "old-file.txt"
ParameterTypeRequiredDescription
resourceIdstringYesResource UUID
pathstringYesPath 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
ParameterTypeRequiredDescription
resourceIdstringYesResource UUID
querystringYesSearch query
contentbooleanNoAlso 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"
ParameterTypeRequiredDescription
resourceIdstringYesGit 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
ParameterTypeRequiredDescription
resourceIdstringYesGit resource UUID
limitnumberNoMax 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
ParameterTypeRequiredDescription
resourceIdstringYesGit resource UUID
filestringNoSpecific 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
ParameterTypeRequiredDescription
resourceIdstringYesGit 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"]
ParameterTypeRequiredDescription
resourceIdstringYesGit resource UUID
filesarrayYesFile 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
ParameterTypeRequiredDescription
resourceIdstringYesGit resource UUID
messagestringYesCommit message

gitBranch

Create a new git branch, optionally switching to it.

Module: rightplace | Returns: object -- {branch, checkout}

rightplace.gitBranch "git-uuid" "feature/auth" true
ParameterTypeRequiredDescription
resourceIdstringYesGit resource UUID
namestringYesNew branch name
checkoutbooleanNoSwitch to the new branch (default: false)

gitCheckout

Switch to a different branch.

Module: rightplace | Returns: object -- Checkout result

rightplace.gitCheckout "git-uuid" "main"
ParameterTypeRequiredDescription
resourceIdstringYesGit resource UUID
branchstringYesBranch 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
ParameterTypeRequiredDescription
resourceIdstringYesGit resource UUID
filestringYesFile path
refstringNoGit 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
ParameterTypeRequiredDescription
commandstringYesShell command to execute
cwdstringNoWorking 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
ParameterTypeRequiredDescription
sqlstringYesSQL 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
ParameterTypeRequiredDescription
sqlstringYesSQL 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
ParameterTypeRequiredDescription
querystringYesSearch query
categoriesarrayNoFilter: ["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
ParameterTypeRequiredDescription
optionsobjectNo{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
ParameterTypeRequiredDescription
stageIdstringYesStage 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"]}
ParameterTypeRequiredDescription
stageIdstringYesStage UUID
titlestringYesTask title
optionsobjectNo{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"}
ParameterTypeRequiredDescription
stageIdstringYesStage UUID
taskIdstringYesTask UUID
updatesobjectYes{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"
ParameterTypeRequiredDescription
stageIdstringYesStage UUID
taskIdstringYesTask 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
ParameterTypeRequiredDescription
namestringYesStage board name
projectIdstringYesProject 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
ParameterTypeRequiredDescription
connectionIdstringYesConnection 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
ParameterTypeRequiredDescription
projectIdstringYesParent 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
ParameterTypeRequiredDescription
resourceIdstringYesResource 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
ParameterTypeRequiredDescription
resourceIdstringYesResource UUID
namestringYesAutomation 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
ParameterTypeRequiredDescription
resourceIdstringYesDocs 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
ParameterTypeRequiredDescription
resourceIdstringYesDocs resource UUID
pathstringYesDocument path

docsSearch

Search documents by name or content.

Module: rightplace | Returns: array -- Array of matching documents

rightplace.docsSearch "docs-uuid" "API" into $results
ParameterTypeRequiredDescription
resourceIdstringYesDocs resource UUID
querystringYesSearch 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}
ParameterTypeRequiredDescription
resourceIdstringYesDocs resource UUID
pathstringYesDocument or folder path
optionsobjectNo{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."
ParameterTypeRequiredDescription
resourceIdstringYesDocs resource UUID
pathstringYesDocument path
contentstringYesNew content

docsDelete

Delete a document or folder.

Module: rightplace | Returns: object -- {deleted: path}

rightplace.docsDelete "docs-uuid" "old-file.md"
ParameterTypeRequiredDescription
resourceIdstringYesDocs resource UUID
pathstringYesPath to delete

docsRename

Rename a document file.

Module: rightplace | Returns: object -- {from, to}

rightplace.docsRename "docs-uuid" "old-name.md" "new-name.md"
ParameterTypeRequiredDescription
resourceIdstringYesDocs resource UUID
pathstringYesCurrent filename
newNamestringYesNew 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"
ParameterTypeRequiredDescription
resourceIdstringYesDocs resource UUID
pathstringYesSource path
deststringYesDestination path

qaListTests

List QA test cases for a resource.

Module: rightplace | Returns: array -- Array of test case objects

rightplace.qaListTests "qa-uuid" into $tests
ParameterTypeRequiredDescription
resourceIdstringYesQA 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"]}}
ParameterTypeRequiredDescription
resourceIdstringYesQA resource UUID
namestringYesTest case name
optionsobjectNo{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"
ParameterTypeRequiredDescription
resourceIdstringYesQA resource UUID
testIdstringYesTest 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
ParameterTypeRequiredDescription
resourceIdstringYesResource UUID

logStart

Start log streaming for a resource.

Module: rightplace | Returns: object -- Stream start result

rightplace.logStart "resource-uuid"
ParameterTypeRequiredDescription
resourceIdstringYesResource 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
ParameterTypeRequiredDescription
resourceIdstringYesResource 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
ParameterTypeRequiredDescription
resourceIdstringYesResource UUID
namestringYesAutomation name
optionsobjectNo{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
ParameterTypeRequiredDescription
resourceIdstringYesResource UUID
automationIdstringYesAutomation ID

automationDelete

Delete an automation and its script files.

Module: rightplace | Returns: object -- {id, deleted: true}

rightplace.automationDelete "resource-uuid" "abc123"
ParameterTypeRequiredDescription
resourceIdstringYesResource UUID
automationIdstringYesAutomation 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
ParameterTypeRequiredDescription
resourceIdstringYesResource UUID
automationIdstringYesAutomation 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
ParameterTypeRequiredDescription
resourceIdstringYesResource UUID
automationIdstringYesAutomation ID
scriptstringYesRobinPath 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
ParameterTypeRequiredDescription
resourceIdstringYesResource UUID
automationIdstringYesAutomation 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
ParameterTypeRequiredDescription
projectIdstringYesProject 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
ParameterTypeRequiredDescription
projectIdstringYesProject UUID
resourceIdstringYesResource 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
ParameterTypeRequiredDescription
projectIdstringYesProject UUID
namestringYesResource name
resourceTypestringYesType: 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
optionsobjectNo{provider?, environment?, config?}

deleteResource

Delete a resource and its metadata files.

Module: rightplace | Returns: object -- {id, deleted: true}

rightplace.deleteResource "project-uuid" "resource-uuid"
ParameterTypeRequiredDescription
projectIdstringYesProject UUID
resourceIdstringYesResource 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
ParameterTypeRequiredDescription
resourceIdstringYesWordPress 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
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID
optionsobjectNo{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
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID
contentIdstringYesContent 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
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID
querystringYesSearch 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
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID
optionsobjectNo{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
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID
postIdstringYesPost ID

wpPages

List WordPress pages.

Module: rightplace | Returns: array -- Array of page objects

rightplace.wpPages "wp-uuid" into $pages
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID
optionsobjectNoFilter options

wpMedia

List WordPress media library items.

Module: rightplace | Returns: array -- Array of media objects

rightplace.wpMedia "wp-uuid" into $media
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID

wpCategories

List WordPress categories.

Module: rightplace | Returns: array -- Array of category objects

rightplace.wpCategories "wp-uuid" into $cats
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID

wpTags

List WordPress tags.

Module: rightplace | Returns: array -- Array of tag objects

rightplace.wpTags "wp-uuid" into $tags
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID

wpUsers

List WordPress users.

Module: rightplace | Returns: array -- Array of user objects

rightplace.wpUsers "wp-uuid" into $users
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID

wpThemes

List WordPress themes with active/inactive status.

Module: rightplace | Returns: array -- Array of theme objects

rightplace.wpThemes "wp-uuid" into $themes
ParameterTypeRequiredDescription
resourceIdstringYesWordPress 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
ParameterTypeRequiredDescription
resourceIdstringYesWordPress 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
ParameterTypeRequiredDescription
resourceIdstringYesWordPress 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
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID

wpSchema

Get WordPress site schema — post types, taxonomies, permalink structure.

Module: rightplace | Returns: object -- Schema definition

rightplace.wpSchema "wp-uuid" into $schema
ParameterTypeRequiredDescription
resourceIdstringYesWordPress 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
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID
funcstringYesWP function name
paramsobjectNoFunction 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"}
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID
dataobjectYes{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"}
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID
postIdstringYesPost ID
dataobjectYesFields 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>"}
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID
dataobjectYes{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"
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID
urlstringYesSource URL to download from
titlestringNoMedia title

wpCreateCategory

Create a WordPress category.

Module: rightplace | Returns: object -- Created category

rightplace.wpCreateCategory "wp-uuid" "News"
rightplace.wpCreateCategory "wp-uuid" "Sports" 5
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID
namestringYesCategory name
parentnumberNoParent category ID (for nested categories)

wpActivatePlugin

Activate a WordPress plugin by slug.

Module: rightplace | Returns: object -- Activation result

rightplace.wpActivatePlugin "wp-uuid" "woocommerce"
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID
slugstringYesPlugin slug (e.g. "woocommerce", "akismet")

wpDeactivatePlugin

Deactivate a WordPress plugin.

Module: rightplace | Returns: object -- Deactivation result

rightplace.wpDeactivatePlugin "wp-uuid" "akismet"
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID
slugstringYesPlugin slug

wpUpdatePlugin

Update a WordPress plugin to the latest version.

Module: rightplace | Returns: object -- Update result

rightplace.wpUpdatePlugin "wp-uuid" "woocommerce"
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID
slugstringYesPlugin slug

wpActivateTheme

Switch the active WordPress theme.

Module: rightplace | Returns: object -- Activation result

rightplace.wpActivateTheme "wp-uuid" "twentytwentyfour"
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID
slugstringYesTheme 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"}
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID
userIdstringYesUser ID
dataobjectYes{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"
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID
userIdstringYesUser 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
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID
postTypestringNoPost type (default: "post")
statusstringNoFilter 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
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID
postTypestringNoPost type (default: "post")
statusstringNoFilter 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
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID
paramsobjectNoWP_Query parameters

wpSync

Trigger WordPress content synchronization between the site and local database.

Module: rightplace | Returns: object -- Sync result

rightplace.wpSync "wp-uuid"
ParameterTypeRequiredDescription
resourceIdstringYesWordPress 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
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID
optionsobjectYes{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
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID (WooCommerce must be active)
optionsobjectNo{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
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID
productIdstringYesProduct 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
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID
optionsobjectNo{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
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID
orderIdstringYesOrder ID

wcCustomers

List WooCommerce customers.

Module: rightplace | Returns: array -- Array of customer objects

rightplace.wcCustomers "wp-uuid" {search: "alice"} into $c
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID
optionsobjectNo{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"
ParameterTypeRequiredDescription
resourceIdstringYesWordPress resource UUID
customerIdstringYesCustomer ID

Error Handling

ErrorCauseFix
RightPlace CLI not foundrightplace-cli is not runningStart the desktop app or run rightplace-cli
fetch failedCLI server is down or unreachableCheck if CLI is running, try rightplace.reconnect
PERMISSION_DENIEDCLI permission for this category is disabledEnable in desktop app > Settings > CLI Permissions
READ_ONLYWrite operation in read-only modeStart CLI without --read-only flag
UNAUTHORIZEDInvalid or expired auth tokenRestart rightplace-cli to get a new token
TOKEN_EXPIREDToken older than 24 hoursRestart the CLI
RATE_LIMITEDToo many requests per minuteWait and retry, or increase --rate-limit
Path traversalFile path tried to escape resource directoryUse 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)

VersionTagPublished
0.1.3latest1 months ago
0.1.21 months ago
0.1.11 months ago
0.1.01 months ago
Install
$ robinpath add @robinpath/rightplace

Collaborators

D
Dima Balaban
@dima
View all @robinpath modules
Version0.1.3
LicenseMIT
Unpacked Size49.7 KB
Versions4
Weekly Downloads31
Total Downloads31
Stars0
Last Publish1 months ago
Created1 months ago

Category

productivity