Skip to content

CLI reference

Each section is what jiayang <command> --help prints.

Deploy apps, share them like a doc, and see who used them.
Usage: jiayang [OPTIONS] <COMMAND>
Commands:
login Sign in, by approving this computer in your browser
logout End this computer's session and forget it
whoami Show who you're signed in as, and your workspaces
workspace Create workspaces and manage their members and allowed domains
app Create, list, inspect and delete apps
deploy Upload a directory as a new version and put it live. Workers apps upload their modules; container apps build the Dockerfile and push the image
detect Say what `jiayang deploy` would make of a directory, without deploying or building anything
dockerfile Print the Dockerfile a container app would be built with, or write it into the project
versions List an app's versions
rollback Put an earlier version live again
share Give someone access to an app. Takes effect within 60 seconds
unshare Take someone's access away. Ends within 60 seconds, including open connections
access List who has access to an app
token Bypass tokens: credentials for scripts and services to call an app
secret Third-party credentials, added to an app's outbound requests by the platform
env An app's configuration: plain values. Credentials belong in `jiayang secret set`
db An app's database: a SQL dump of it, or one statement run on it
audit Show a workspace's audit log (owners and admins), newest first
watch Follow a workspace's or app's requests and changes as they happen
logs Show what an app printed and the exceptions it threw, oldest first
top A live dashboard: your apps, who has access, and the request stream
curl Make a request to an app through the edge, as you or with a bypass token
open Print an app's URL
dev Run your app locally behind the platform's front door, signed in as whoever you like
mcp Serve this CLI to an agent over MCP, as whoever is signed in here
help Print this message or the help of the given subcommand(s)
Options:
--json
Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR>
Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help
Print help (see a summary with '-h')
-V, --version
Print version
Getting started:
jiayang login
jiayang workspace create acme
jiayang deploy acme/hello ./my-app --create
jiayang share acme/hello someone@example.com
An app is named <workspace>/<app> everywhere. `jiayang <command> --help` says more about each.
Environment:
The CLI takes its environment as your own settings, the way git, gh and the AWS CLI do.
JIAYANG_API, JIAYANG_APPS_URL, JIAYANG_CONFIG_DIR, XDG_CONFIG_HOME, HTTP_PROXY, HTTPS_PROXY,
ALL_PROXY, NO_PROXY, JIAYANG_CA_FILE and SSL_CERT_FILE decide where it connects, what it trusts
and where your session is kept, so set them only to values you chose. That includes what a tool
like direnv loads from a project's .envrc. The CLI never reads a .env file itself, never sends a
token to another machine over plain http, never sends traffic for this machine (localhost and
loopback addresses) through a proxy, and `jiayang login` says which API it's signing in through
whenever that isn't https://api.jiayang.cloud.
Sign in, by approving this computer in your browser
Usage: jiayang login [OPTIONS]
Options:
--api <API> The control-plane API (default: https://api.jiayang.cloud, or the local one with --dev) [env: JIAYANG_API]
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
--dev <EMAIL> Local only: sign in as this email, with the code from the local platform's inbox
--inbox <URL> Local only: the local platform's inbox (default: http://inbox.jiayang.localhost on the API's port)
--no-browser Print the approval address instead of opening a browser
-h, --help Print help
End this computer's session and forget it
Usage: jiayang logout [OPTIONS]
Options:
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
Show who you're signed in as, and your workspaces
Usage: jiayang whoami [OPTIONS]
Options:
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
Create workspaces and manage their members and allowed domains
Usage: jiayang workspace [OPTIONS] <COMMAND>
Commands:
create Create a workspace to deploy apps into. You own it
list List the workspaces you're in, with your role and each one's plan
show Show one workspace: your role in it, its plan, and who may join it
members List a workspace's members and their roles
add Add a member, or change their role
remove Remove a member
domains Restrict members and sharing to these email domains (comma-separated), or --clear
help Print this message or the help of the given subcommand(s)
Options:
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
Create a workspace to deploy apps into. You own it
Usage: jiayang workspace create [OPTIONS] <SLUG>
Arguments:
<SLUG> What it's known by, and the first half of every app's name: lowercase letters, digits and single dashes
Options:
--json Print machine-readable JSON instead of text
--name <NAME> A display name (default: the slug)
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
List the workspaces you're in, with your role and each one's plan
Usage: jiayang workspace list [OPTIONS]
Options:
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
Show one workspace: your role in it, its plan, and who may join it
Usage: jiayang workspace show [OPTIONS] <WORKSPACE>
Arguments:
<WORKSPACE> The workspace, by its slug: acme, say
Options:
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
List a workspace's members and their roles
Usage: jiayang workspace members [OPTIONS] <WORKSPACE>
Arguments:
<WORKSPACE> The workspace, by its slug: acme, say
Options:
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
Add a member, or change their role
Usage: jiayang workspace add [OPTIONS] <WORKSPACE> <EMAIL>
Arguments:
<WORKSPACE>
The workspace, by its slug: acme, say
<EMAIL>
Their email address
Options:
--json
Print machine-readable JSON instead of text
--role <ROLE>
What they may do in the workspace
Possible values:
- member: Uses what's shared with them, or with the whole workspace
- admin: Also manages every app, the members and the audit log
- owner: Also adds and removes owners
[default: member]
--config-dir <CONFIG_DIR>
Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help
Print help (see a summary with '-h')
Remove a member
Usage: jiayang workspace remove [OPTIONS] <WORKSPACE> <EMAIL>
Arguments:
<WORKSPACE> The workspace, by its slug: acme, say
<EMAIL> Their email address
Options:
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
Restrict members and sharing to these email domains (comma-separated), or --clear
Usage: jiayang workspace domains [OPTIONS] <WORKSPACE> [DOMAINS]
Arguments:
<WORKSPACE> The workspace, by its slug: acme, say
[DOMAINS] The domains, comma-separated: example.com,example.org, say
Options:
--clear Let any email domain in again
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
Create, list, inspect and delete apps
Usage: jiayang app [OPTIONS] <COMMAND>
Commands:
create Create an app with nothing deployed to it. `jiayang deploy --create` does this for you
list List the apps in a workspace that you can see, or with --shared the apps shared with you in workspaces you aren't in
show Show one app: its URL, what runs it, what's live and your role
visibility private: only people you share with. workspace: every workspace member, as a viewer
delete Delete an app, with its versions, data, secrets and tokens
public-paths Paths anyone can reach with no sign-in, and how each is verified. Changed in the dashboard only
help Print this message or the help of the given subcommand(s)
Options:
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
Create an app with nothing deployed to it. `jiayang deploy --create` does this for you
Usage: jiayang app create [OPTIONS] <WORKSPACE/APP>
Arguments:
<WORKSPACE/APP>
The app, as <workspace>/<app>: acme/payroll, say
Options:
--json
Print machine-readable JSON instead of text
--name <NAME>
A display name (default: the app's slug)
--config-dir <CONFIG_DIR>
Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
--driver <DRIVER>
What runs it. It can't change once the app exists
Possible values:
- workers: JS/TS and static files, on Workers
- containers: An image, run as a container
[default: workers]
--visibility <VISIBILITY>
Who can reach it
Possible values:
- private: Only people it's shared with
- workspace: Every member of the workspace, as a viewer
[default: private]
-h, --help
Print help (see a summary with '-h')
List the apps in a workspace that you can see, or with --shared the apps shared with you in workspaces you aren't in
Usage: jiayang app list [OPTIONS] [WORKSPACE]
Arguments:
[WORKSPACE] The workspace, by its slug: acme, say
Options:
--json Print machine-readable JSON instead of text
--shared Apps shared with you in workspaces you aren't in, which no workspace's list shows you
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
Show one app: its URL, what runs it, what's live and your role
Usage: jiayang app show [OPTIONS] <WORKSPACE/APP>
Arguments:
<WORKSPACE/APP> The app, as <workspace>/<app>: acme/payroll, say
Options:
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
private: only people you share with. workspace: every workspace member, as a viewer
Usage: jiayang app visibility [OPTIONS] <WORKSPACE/APP> <VISIBILITY>
Arguments:
<WORKSPACE/APP>
The app, as <workspace>/<app>: acme/payroll, say
<VISIBILITY>
Who can reach it
Possible values:
- private: Only people it's shared with
- workspace: Every member of the workspace, as a viewer
Options:
--json
Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR>
Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help
Print help (see a summary with '-h')
Delete an app, with its versions, data, secrets and tokens
Usage: jiayang app delete [OPTIONS] <WORKSPACE/APP>
Arguments:
<WORKSPACE/APP> The app, as <workspace>/<app>: acme/payroll, say
Options:
--json Print machine-readable JSON instead of text
--yes Confirm: this removes the app, its data and its tokens
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
Paths anyone can reach with no sign-in, and how each is verified. Changed in the dashboard only
Usage: jiayang app public-paths [OPTIONS] <WORKSPACE/APP>
Arguments:
<WORKSPACE/APP> The app, as <workspace>/<app>: acme/payroll, say
Options:
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
Upload a directory as a new version and put it live. Workers apps upload their modules; container apps build the Dockerfile and push the image
Usage: jiayang deploy [OPTIONS] <WORKSPACE/APP> [DIR]
Arguments:
<WORKSPACE/APP>
The app, as <workspace>/<app>: acme/payroll, say
[DIR]
The directory to deploy
[default: .]
Options:
--json
Print machine-readable JSON instead of text
--kind <KIND>
Deploy it as this, when the directory doesn't say clearly enough
Possible values:
- static: Files served as they are
- worker: JavaScript on Workers
- container: An image, run as a container
--config-dir <CONFIG_DIR>
Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
--create
Create the app if it isn't there yet, as whatever the directory turns out to be
--visibility <VISIBILITY>
With --create: private (default) or workspace
Possible values:
- private: Only people it's shared with
- workspace: Every member of the workspace, as a viewer
[default: private]
--dry-run
Say what would be deployed and stop
--no-build
Deploy what's already built, without running the project's build
--main <MAIN>
Workers apps: the entry module (default: index.js, src/index.js, dist/index.js, ...)
--compatibility-date <COMPATIBILITY_DATE>
Workers apps: the compatibility date
--port <PORT>
Container apps: the port the image listens on (default: jiayang.json's "port", else the live version's, else 8080)
--instance-type <INSTANCE_TYPE>
Container apps: the size to run at (default: jiayang.json's "instance_type", else the live version's, else basic). Each plan runs some sizes; `jiayang workspace show` lists them
[possible values: lite, basic, standard-1, standard-2, standard-3, standard-4]
-h, --help
Print help (see a summary with '-h')
Say what `jiayang deploy` would make of a directory, without deploying or building anything
Usage: jiayang detect [OPTIONS] [DIR]
Arguments:
[DIR]
The directory to look at
[default: .]
Options:
--json
Print machine-readable JSON instead of text
--kind <KIND>
Take it as this, the way `jiayang deploy --kind` would
Possible values:
- static: Files served as they are
- worker: JavaScript on Workers
- container: An image, run as a container
--config-dir <CONFIG_DIR>
Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help
Print help (see a summary with '-h')
Print the Dockerfile a container app would be built with, or write it into the project
Usage: jiayang dockerfile [OPTIONS] [DIR]
Arguments:
[DIR] The app's directory [default: .]
Options:
--json Print machine-readable JSON instead of text
--write Write it as ./Dockerfile, so the app builds from your copy from now on
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
List an app's versions
Usage: jiayang versions [OPTIONS] <WORKSPACE/APP>
Arguments:
<WORKSPACE/APP> The app, as <workspace>/<app>: acme/payroll, say
Options:
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
Put an earlier version live again
Usage: jiayang rollback [OPTIONS] <WORKSPACE/APP> <VERSION>
Arguments:
<WORKSPACE/APP> The app, as <workspace>/<app>: acme/payroll, say
<VERSION> The version's number, as `jiayang versions` lists it
Options:
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
Give someone access to an app. Takes effect within 60 seconds
Usage: jiayang share [OPTIONS] <WORKSPACE/APP> <EMAIL>
Arguments:
<WORKSPACE/APP>
The app, as <workspace>/<app>: acme/payroll, say
<EMAIL>
Their email address: one person. To let every member of the workspace in, use `jiayang app visibility <workspace>/<app> workspace`
Options:
--json
Print machine-readable JSON instead of text
--role <ROLE>
What they may do with it
Possible values:
- viewer: Uses the app
- editor: Also deploys it, and manages its configuration, secrets and tokens
- owner: Also shares it, and can delete it
[default: viewer]
--config-dir <CONFIG_DIR>
Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help
Print help (see a summary with '-h')
Take someone's access away. Ends within 60 seconds, including open connections
Usage: jiayang unshare [OPTIONS] <WORKSPACE/APP> <EMAIL>
Arguments:
<WORKSPACE/APP> The app, as <workspace>/<app>: acme/payroll, say
<EMAIL> Their email address
Options:
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
List who has access to an app
Usage: jiayang access [OPTIONS] <WORKSPACE/APP>
Arguments:
<WORKSPACE/APP> The app, as <workspace>/<app>: acme/payroll, say
Options:
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
Bypass tokens: credentials for scripts and services to call an app
Usage: jiayang token [OPTIONS] <COMMAND>
Commands:
create Create a bypass token for machine access. The secret is shown once
list List an app's tokens, never their secrets
revoke Revoke a token. Effective on the next request
help Print this message or the help of the given subcommand(s)
Options:
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
Create a bypass token for machine access. The secret is shown once
Usage: jiayang token create [OPTIONS] <WORKSPACE/APP> <NAME>
Arguments:
<WORKSPACE/APP> The app, as <workspace>/<app>: acme/payroll, say
<NAME> What it's for, to know it by later: ci or nightly-sync, say
Options:
--json Print machine-readable JSON instead of text
--role <ROLE> The role the app is told its caller has [default: viewer] [possible values: viewer, editor]
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
--days <DAYS> How many days it works for, 30 at most. It ends when this session does, so it may be sooner; a longer-lived token is made in the dashboard [default: 30]
-h, --help Print help
List an app's tokens, never their secrets
Usage: jiayang token list [OPTIONS] <WORKSPACE/APP>
Arguments:
<WORKSPACE/APP> The app, as <workspace>/<app>: acme/payroll, say
Options:
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
Revoke a token. Effective on the next request
Usage: jiayang token revoke [OPTIONS] <WORKSPACE/APP> <ID>
Arguments:
<WORKSPACE/APP> The app, as <workspace>/<app>: acme/payroll, say
<ID> The token's id, bt_..., as `jiayang token list` shows it
Options:
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
Third-party credentials, added to an app's outbound requests by the platform
Usage: jiayang secret [OPTIONS] <COMMAND>
Commands:
set Store a credential for the app's outbound requests. Pasted at a prompt that doesn't show it, or piped in on stdin, unless --value is given
list List an app's secrets: their names and where each is sent, never their values
rm Remove a secret. The app's requests stop carrying it within 10 seconds
help Print this message or the help of the given subcommand(s)
Options:
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
Store a credential for the app's outbound requests. Pasted at a prompt that doesn't show it, or piped in on stdin, unless --value is given
Usage: jiayang secret set [OPTIONS] --host <HOST> --header <HEADER> <WORKSPACE/APP> <NAME>
Arguments:
<WORKSPACE/APP> The app, as <workspace>/<app>: acme/payroll, say
<NAME> The secret's name, in UPPER_SNAKE_CASE: STRIPE_KEY, say
Options:
--host <HOST> Inject only into requests to exactly this host
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
--header <HEADER> The header that carries it: Authorization, say
--format <FORMAT> How the header value is built, e.g. "Bearer {value}"
--value <VALUE> The secret itself. Prefer piping it on stdin: a flag lands in shell history
-h, --help Print help
List an app's secrets: their names and where each is sent, never their values
Usage: jiayang secret list [OPTIONS] <WORKSPACE/APP>
Arguments:
<WORKSPACE/APP> The app, as <workspace>/<app>: acme/payroll, say
Options:
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
Remove a secret. The app's requests stop carrying it within 10 seconds
Usage: jiayang secret rm [OPTIONS] <WORKSPACE/APP> <NAME>
Arguments:
<WORKSPACE/APP> The app, as <workspace>/<app>: acme/payroll, say
<NAME> The secret's name
Options:
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
An app's configuration: plain values. Credentials belong in `jiayang secret set`
Usage: jiayang env [OPTIONS] <COMMAND>
Commands:
set Set one or more NAME=value pairs. The live version is pushed again with them; what a build bakes in changes on the next deploy
unset Remove variables. The live version is pushed again without them; what a build baked in stays until the next deploy
list List an app's variables and their values
help Print this message or the help of the given subcommand(s)
Options:
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
Set one or more NAME=value pairs. The live version is pushed again with them; what a build bakes in changes on the next deploy
Usage: jiayang env set [OPTIONS] <WORKSPACE/APP> <PAIRS>...
Arguments:
<WORKSPACE/APP> The app, as <workspace>/<app>: acme/payroll, say
<PAIRS>... NAME=value. Repeat for more than one
Options:
--allow-sensitive-name Set a value that reads like a credential. Never allows one we're sure about
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
Remove variables. The live version is pushed again without them; what a build baked in stays until the next deploy
Usage: jiayang env unset [OPTIONS] <WORKSPACE/APP> <NAMES>...
Arguments:
<WORKSPACE/APP> The app, as <workspace>/<app>: acme/payroll, say
<NAMES>... The variables' names
Options:
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
List an app's variables and their values
Usage: jiayang env list [OPTIONS] <WORKSPACE/APP>
Arguments:
<WORKSPACE/APP> The app, as <workspace>/<app>: acme/payroll, say
Options:
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
An app's database: a SQL dump of it, or one statement run on it
Usage: jiayang db [OPTIONS] <COMMAND>
Commands:
export Export an app's database as SQL, to a file or to stdout. Workspace owners only. The database pauses for the export, so run it when the app is quiet
exec Run one SQL statement on an app's database and print what it returns. Workspace owners run any statement; admins only a DELETE, DROP TABLE or DROP INDEX, which is all anyone runs while the databases are over the plan's limit
help Print this message or the help of the given subcommand(s)
Options:
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
Export an app's database as SQL, to a file or to stdout. Workspace owners only. The database pauses for the export, so run it when the app is quiet
Usage: jiayang db export [OPTIONS] <WORKSPACE/APP>
Arguments:
<WORKSPACE/APP> The app, as <workspace>/<app>: acme/payroll, say
Options:
--json Print machine-readable JSON instead of text
-o, --out <OUT> Where to write it (default: <workspace>-<app>.sql in the current directory)
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
--stdout Write the dump to stdout instead of a file
-h, --help Print help
Run one SQL statement on an app's database and print what it returns. Workspace owners run any statement; admins only a DELETE, DROP TABLE or DROP INDEX, which is all anyone runs while the databases are over the plan's limit
Usage: jiayang db exec [OPTIONS] <WORKSPACE/APP> <STATEMENT>
Arguments:
<WORKSPACE/APP> The app, as <workspace>/<app>: acme/payroll, say
<STATEMENT> The statement, quoted: one statement, no comments
Options:
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
Show a workspace's audit log (owners and admins), newest first
Usage: jiayang audit [OPTIONS] <WORKSPACE>
Arguments:
<WORKSPACE> The workspace, by its slug: acme, say
Options:
--app <APP> Only this app: its slug, or <workspace>/<app>
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
--limit <LIMIT> How many entries, newest first [default: 50]
--before <BEFORE> Only what happened before this: a date (2026-09-01, its start in UTC) or an RFC 3339 time. The command prints the flags for the next page back when there is one
--before-id <BEFORE_ID> With --before, the id of the last entry you have, so entries at the same time aren't skipped
-h, --help Print help
Follow a workspace's or app's requests and changes as they happen
Usage: jiayang watch [OPTIONS] <TARGET>
Arguments:
<TARGET> A workspace, or one app as workspace/app
Options:
--denies Only requests that were refused
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
--tail <TAIL> How many recent events to show before following [default: 20]
--seconds <SECONDS> Stop after this many seconds instead of following until interrupted
-h, --help Print help
Show what an app printed and the exceptions it threw, oldest first.
A container app's output too. For the app's editors and owners, and the workspace's owners and admins.
Usage: jiayang logs [OPTIONS] <WORKSPACE/APP>
Arguments:
<WORKSPACE/APP>
The app, as <workspace>/<app>: acme/payroll, say
Options:
-f, --follow
Keep printing new lines as they come, until interrupted
--json
Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR>
Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
--since <SINCE>
How far back to start: 15m, 2h, 1d, or an RFC 3339 time (default: 1h). Your plan sets how far back there is
--level <LEVEL>
Only lines at this level or louder: debug, info, warn or error
--version <VERSION>
Only lines written while this version was live
--search <SEARCH>
Only lines with this text in them. Not case-sensitive
--limit <LIMIT>
The most lines to show before following, newest kept (at most 500)
[default: 100]
--seconds <SECONDS>
With --follow, stop after this many seconds
-h, --help
Print help (see a summary with '-h')
A live dashboard: your apps, who has access, and the request stream
Usage: jiayang top [OPTIONS] [WORKSPACE]
Arguments:
[WORKSPACE] The workspace to open on. Defaults to your first
Options:
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
Make a request to an app through the edge, as you or with a bypass token
Usage: jiayang curl [OPTIONS] <WORKSPACE/APP> [PATH]
Arguments:
<WORKSPACE/APP> The app, as <workspace>/<app>: acme/payroll, say
[PATH] The path and query: /api/items?page=2, say [default: /]
Options:
--json Print machine-readable JSON instead of text
-X, --request <METHOD> The request's method (default: GET, or POST when there's a body, as curl does)
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-d, --data <DATA> The request body
--data-stdin Read the request body from stdin, so it never appears in the process list
-H, --header <HEADERS> A request header, as 'Name: value'. Repeat for more than one
--token <TOKEN> Call as a bypass token instead of yourself. Prefer the env var: a flag lands in shell history [env: JIAYANG_TOKEN]
--apps-url <URL> Where to send a bypass token (default: the address `jiayang login` learned, else production's, https://jiayang-apps.cloud). Without --token it must be the address login learned: your session goes nowhere else [env: JIAYANG_APPS_URL]
--fail Exit non-zero on a 4xx or 5xx, like curl --fail
-h, --help Print help
Print an app's URL
Usage: jiayang open [OPTIONS] <WORKSPACE/APP>
Arguments:
<WORKSPACE/APP> The app, as <workspace>/<app>: acme/payroll, say
Options:
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help Print help
Run your app locally behind the platform's front door, signed in as whoever you like
Usage: jiayang dev [OPTIONS] [DIR] [-- <COMMAND>...]
Arguments:
[DIR] The project to run (default: the current directory) [default: .]
[COMMAND]... What starts your app. Defaults to whatever `jiayang detect` finds
Options:
--as <EMAIL> Who to be. Change it at http://127.0.0.1:<port>/.jiayang while it runs [default: you@example.com]
--json Print machine-readable JSON instead of text
--config-dir <CONFIG_DIR> Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
--role <ROLE> What they may do [default: owner] [possible values: viewer, editor, owner]
--port <PORT> Where to answer requests, as the edge would [default: 8787]
--app-port <APP_PORT> Where your app listens. It's told, as PORT [default: 8788]
--app-id <APP_ID> The app id tokens are made out to, which your app checks as the audience [default: 00000000-0000-4000-8000-000000000000]
-h, --help Print help
Serve this CLI to an agent over MCP, as whoever is signed in here.
Your agent runs this itself and talks to it over stdio: add `jiayang mcp` to Claude Code, Codex or Cursor the way https://jiayang.cloud/docs/agents/ shows.
Usage: jiayang mcp [OPTIONS]
Options:
--json
Print machine-readable JSON instead of text
--roots <DIR>
The only directory deploys may read from
[env: JIAYANG_MCP_ROOTS]
--config-dir <CONFIG_DIR>
Where settings and the session live (default: $JIAYANG_CONFIG_DIR, else $XDG_CONFIG_HOME/jiayang, else ~/.config/jiayang; %APPDATA%\jiayang on Windows)
-h, --help
Print help (see a summary with '-h')