CLI reference¶
All commands are available via rp (or repster). Cloud commands walk you through login/registration inline if you haven't authenticated yet; you never need to run rp login before your first rp deploy.
Local commands¶
| Command | Description |
|---|---|
rp dev |
Start the local scheduler; fires cron-scheduled flows according to their @rp.flow(schedule=...) expressions |
rp run <flow> |
Run a flow now (local execution) |
rp list |
List all discovered flows with their schedule and next run time |
rp status [<flow>] [--profile] |
Show last N runs and next scheduled run; merges local and cloud runs when a profile is configured |
rp logs [--flow <name>] [--run <id>] [--profile] |
View captured log output for a run |
rp retry [--flow <name>] [--run <id>] [--profile] |
Re-run a flow, linked to the run it retries |
Schedules are declared in @rp.flow(schedule=...) in code, not set via the CLI.
Cloud commands¶
| Command | Description |
|---|---|
rp login [FLAGS] |
Authenticate with Repster Cloud; interactive email-first flow: logs in if you have an account, offers to register if it doesn't recognize the address. Writes a profile to ~/.repster/config.toml. See Non-interactive login for driving it from CI or an agent. |
rp deploy [--profile NAME] |
Package the project and push to the control plane; immutable and content-addressed; deploying the same code twice is a no-op |
rp run --cloud <flow> [--profile NAME] |
Trigger a cloud run of the latest deployment; fails with a helpful message if no deployment exists |
rp cancel <run-id> [--yes] [--profile NAME] |
Cancel (kill) an in-flight cloud run; admin only; --yes skips confirmation |
rp usage [--profile NAME] |
Show this org's run count, compute, and estimated spend for the current month (vs the monthly cost cap) |
rp secrets push [--profile NAME] |
Read .env and store its values in the cloud secrets vault |
rp secrets list [--profile NAME] |
List secret key names stored in the vault for this project (values are never returned) |
rp secrets delete KEY [--yes] [--profile NAME] |
Delete a secret from the vault for this project; prompts for confirmation unless --yes |
Org management¶
| Command | Description |
|---|---|
rp org create <slug> --name NAME [--profile] |
Create a new org (you become its admin). Prints its first API key once — it is also saved as a profile named <slug>, so rp org switch <slug> works straight away |
rp org list [--profile] |
List all orgs you belong to (slug, name, role, joined date) |
rp org switch <slug> |
Set the default profile to a different org |
rp org invite <email> [--role member\|admin] [--profile] |
Add someone to this org. They must have registered already — see Manage your team |
rp org members [--profile] |
List members (email, role, joined date) |
rp org members promote <email> [--profile] |
Promote a member to admin |
rp org members remove <email> [--yes] [--profile] |
Remove a member; --yes skips confirmation |
Legal terms¶
Most users never need these: when terms are outstanding, any cloud command prompts to accept them inline before it does any work. These commands cover the cases that flow can't — checking what was accepted, and accepting from a machine with no terminal.
| Command | Description |
|---|---|
rp terms show [--profile] |
Show which terms version is in force, whether this org has accepted it, and links to both documents |
rp terms accept [--yes] [--profile] |
Accept the current terms on behalf of this org; admin only. Requires typing accept unless --yes is passed (for automation) |
Key management¶
| Command | Description |
|---|---|
rp keys list [--profile] |
List API keys for this org (prefix, name, status, last-used, created) |
rp keys create [--name NAME] [--profile] |
Create a new API key; raw key is printed once |
rp keys revoke <key-id-or-prefix> [--yes] [--profile] |
Revoke a key; --yes skips confirmation |
Non-interactive login¶
rp login prompts only for what you did not pass, and only when there is a terminal to
prompt on. With no terminal it exits naming the flag it needed, rather than hanging on a
prompt nobody can answer.
| Flag | Description |
|---|---|
--email ADDRESS |
Account email |
--password SECRET |
Account password, at least 12 characters when registering. Prefer REPSTER_PASSWORD — it keeps the secret out of the command line and your shell history |
--register |
Create the account rather than logging in; fails if the address is already registered |
--org-slug SLUG |
The org to create when registering, or to select when you belong to several |
--org-name NAME |
Display name for a new org (defaults to the slug) |
--accept-terms |
Accept the terms in force on behalf of the org |
--token rpk_... |
Authenticate with an existing API key instead; no password involved |
--service-url URL |
Point at a specific Repster Cloud host (persisted into the profile) |
Register an account and its org in one non-interactive command:
REPSTER_PASSWORD=... rp login \
--email [email protected] --register \
--org-slug acme --org-name "Acme" --accept-terms
Register an account with no org — for someone who will be added to an existing one.
Omitting --org-slug is what selects this:
REPSTER_PASSWORD=... rp login --email [email protected] --register
The account can do nothing until an admin runs rp org invite [email protected], or until
you create an org of your own. Then rp login again.
If you already have a key, rp login --token rpk_... is the shortest path and needs no
password. See Manage API keys.
Global flags¶
All commands that talk to the cloud accept:
| Flag | Description |
|---|---|
--profile NAME |
Use a named profile from ~/.repster/config.toml |
Environment variables REPSTER_CLOUD_URL and REPSTER_API_TOKEN are also accepted and override the profile.
rp login never prompts for the service URL: it resolves --service-url, then
REPSTER_CLOUD_URL, then a [defaults] entry, then the profile, and finally the hosted
service. See Configuration for the full resolution chain.