CLI Overview
The j17 command-line client manages your j17 account, instances, API keys, and spec deployments from a terminal. It talks to the control plane at https://console.j17.dev; application data still goes through your instance's HTTP API.
Install
The CLI is currently available as part of the private alpha. Email hello@j17.dev to request either a binary for your platform or a source checkout.
If you receive a binary, put it somewhere on PATH, then verify it:
j17 version
If you receive the source, install Go 1.22 or newer and run:
cd j17
go build -o j17 .
install -m 0755 j17 ~/.local/bin/j17
First session
Log in, choose an instance and environment, then work against that saved context:
j17 login
j17 instance list
j17 use my-app --env test
j17 key list
j17 login opens a browser for approval. On a remote machine or when you want to open the link yourself, use:
j17 login --no-browser
See Login and Credentials for session storage, profiles, and environment overrides.
Commands
| Command | Purpose |
|---|---|
j17 login |
Authorize this machine through your browser |
j17 logout |
Revoke this machine's stored session |
j17 whoami |
Show the signed-in user |
j17 instance list |
List instances you can access |
j17 instance create NAME |
Create an instance |
j17 instance show NAME_OR_ID |
Show one instance |
j17 instance update NAME_OR_ID |
Change an instance's name and/or tier |
j17 use NAME_OR_ID --env ENV |
Save the current instance and environment |
j17 key list |
List API keys |
j17 key create NAME --scope SCOPE |
Create an API key |
j17 key rotate KEY_ID |
Rotate an API key |
j17 key revoke KEY_ID |
Revoke an API key |
j17 spec validate [PATH] |
Check that a spec file is valid JSON |
j17 spec deploy [PATH] |
Validate and deploy a spec on the server |
Run j17 --help to print the command summary. Unknown flags are rejected instead of being silently ignored.
Common flags
Flags are accepted only by commands that use them:
| Flag | Used by | Meaning |
|---|---|---|
--json |
Leaf commands | Emit result data as JSON where the command has a result |
--instance NAME_OR_ID |
Key commands, spec deploy |
Override the saved instance for this invocation |
| `--env prod\ | staging\ | test` |
--yes, -y |
key revoke, spec deploy |
Skip an interactive confirmation |
Flags may appear before or after positional arguments:
j17 key list --env staging
j17 key create deploy-bot --scope deploy --instance my-app --env test
What the CLI does not do
The CLI manages control-plane resources. It does not write events, read aggregates, query projections, or deploy projection definitions. Use the HTTP API and an environment-scoped API key for those operations.