个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Native Rust CLI and agent interface for the Sliplane cloud hosting and deployment API
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗A blazing fast, native command-line tool and agent interface for the Sliplane cloud hosting platform API (v0, OpenAPI spec 0.11.0). Built in Rust for developers and autonomous AI workflows.
sliplane login prompts for your token securely and saves it to native OS vaults (macOS Keychain, Linux Secret Service / Keyutils, Windows DPAPI).--json output, standardized error envelopes with stable exit codes, and explicit llms.txt agent guidance.cargo install --git https://github.com/SpaceCorps/Sliplane-Cli --locked
Download standalone binary archives directly from the GitHub Releases page:
| Platform | Architecture | Binary Package |
|---|---|---|
| macOS | Apple Silicon (aarch64) | sliplane-v1.2.0-aarch64-apple-darwin.tar.gz |
| macOS | Intel (x86_64) | sliplane-v1.2.0-x86_64-apple-darwin.tar.gz |
| Linux | x86_64 (musl static) | sliplane-v1.2.0-x86_64-unknown-linux-musl.tar.gz |
| Windows | x64 (MSVC) | sliplane-v1.2.0-x86_64-pc-windows-msvc.zip |
Run sliplane login to launch your browser, copy your API token, verify it against GET /v0/me, and store it in your OS keystore:
# Interactive browser login (saved under account 'default')
sliplane login
# Log in with a specific account name
sliplane login staging
# Headless / CI pipeline login (reads token from stdin with no shell history trace)
echo "$SLIPLANE_API_KEY" | sliplane login ci --api-key-stdin
# Verify your token identity
sliplane me -a default
# List all projects
sliplane projects list -a default
# View compute servers
sliplane servers list -a default
# Deploy a web service
sliplane services deploy --project-id prj_123 --service-id srv_abc -a default
# Stream live container logs
sliplane services logs --project-id prj_123 --service-id srv_abc -a default
Every command that accesses the API accepts --account <name> (short -a <name>).
| Command | Description |
|---|---|
sliplane login [name] | Interactively authenticate with your API token and save it to the OS keystore |
sliplane me | Query identity, organization and the token's scopes (e.g. services:write, secrets:read) |
sliplane accounts list [--check] | List configured accounts (pass --check to verify token validity) |
sliplane accounts test <name> | Test credentials for a specific account |
sliplane accounts add <name> | Manually add an account and API key to the keystore |
sliplane accounts remove <name> | Remove an account and purge its key from the local keystore |
| Command | Description |
|---|---|
sliplane projects list | List all projects |
sliplane projects create --name <name> | Create a new project |
sliplane projects update --project-id <id> --name <name> | Rename a project |
sliplane projects delete --project-id <id> | Delete an empty project |
sliplane servers list | List all servers with instance sizes and locations |
sliplane servers get --server-id <id> | Inspect server details and resource allocations |
sliplane servers create --name <n> --instance-type <t> --location <loc> | Provision a new compute server |
sliplane servers rescale --server-id <id> --instance-type <t> | Scale server instance size up |
sliplane servers rescale-disk --server-id <id> --disk-size <gb> | Expand server storage volume disk size |
sliplane servers metrics --server-id <id> [--range 1h | --from <ts> --to <ts>] | Query CPU, memory and disk utilization metrics |
sliplane servers volumes --server-id <id> | List attached persistent storage volumes |
sliplane servers rename-volume --server-id <id> --volume-id <v> --name <n> | Rename a volume (services are not redeployed) |
| Command | Description |
|---|---|
sliplane services list --project-id <id> | List services within a project |
sliplane services get --project-id <p> --service-id <s> | Fetch detailed service configuration |
sliplane services create --project-id <p> (--image <img> | --repo <r>) | Deploy a new container service |
sliplane services update --project-id <p> --service-id <s> | Update service deployment settings (see safeguards below) |
sliplane services deploy --project-id <p> --service-id <s> | Trigger immediate redeployment |
sliplane services logs --project-id <p> --service-id <s> [--to <ts>] | Read container logs (paginated, 500 lines per call) |
sliplane services pause / unpause | Pause or resume container execution |
sliplane services set-env --project-id <p> --service-id <s> --key <k> --value <v> | Safely set or update a single environment variable |
sliplane services delete-env --project-id <p> --service-id <s> --key <k> | Remove a single environment variable |
sliplane services add-domain / remove-domain | Configure custom domain routing |
sliplane services rotate-deploy-hook --project-id <p> --service-id <s> | New deploy hook URL; the old one stops working immediately (needs secrets:read) |
sliplane services attach-volume --project-id <p> --service-id <s> --volume <id-or-name>:/path | Mount a volume and redeploy |
sliplane services update-volume --project-id <p> --service-id <s> --volume-id <v> --mount-path /path | Change a mount path and redeploy |
sliplane services detach-volume --project-id <p> --service-id <s> --volume-id <v> |
| Command | Description |
|---|---|
sliplane postgres list | List all managed PostgreSQL instances |
sliplane postgres get --postgres-id <id> | Retrieve database connection endpoints and credentials |
sliplane postgres create --name <n> --instance-type <t> --region <r> | Provision a managed PostgreSQL instance |
sliplane postgres update --postgres-id <id> --ip-allow <cidr>=<label> | Update instance configuration or IP allowlist |
sliplane postgres rotate-credentials --postgres-id <id> | Rotate database access password |
sliplane postgres slow-queries / top-queries | Inspect query performance and call frequency |
sliplane postgres metrics --postgres-id <id> [--range 1h | --from <ts> --to <ts>] | CPU, memory, disk and connection history |
sliplane buckets list | List S3-compatible object storage buckets |
sliplane buckets create --name <n> --region <r> | Create an S3 object storage bucket |
sliplane buckets keys --bucket-id <id> | List S3 access keys |
sliplane buckets create-key --bucket-id <id> --name <label> | Generate scoped S3 access key and secret |
| Command | Description |
|---|---|
sliplane ssh-keys list | List your SSH public keys |
sliplane ssh-keys create --name <n> (--public-key <key> | --public-key-file <path>) [--expires-at <rfc3339>] | Register a public key (optionally self-deleting, 5 minutes to 30 days) |
sliplane ssh-keys delete --key-id <id> | Delete a key (detach it from every service first) |
sliplane services ssh-keys --project-id <p> --service-id <s> | List the keys attached to a service |
sliplane services attach-ssh-key --project-id <p> --service-id <s> --key-id <k> | Attach a key; prints the host, port and username to connect with |
sliplane services detach-ssh-key --project-id <p> --service-id <s> --key-id <k> | Detach a key |
sliplane pricing | Standard prices for servers, Postgres and object storage (excl. tax) |
Commands format stdout as clean YAML by default. Pass --json when parsing outputs with jq, Python, or LLM tool-calling loops:
# Parse status with jq
sliplane services get --project-id prj_123 --service-id srv_abc -a default --json | jq -r .status
Errors are output to stderr as structured envelopes with stable exit codes:
{
"code": "auth_required",
"message": "Token expired or missing.",
"remediation": "Run 'sliplane login default' to authenticate."
}
| Exit Code | Error Symbol | Handling Directive |
|---|---|---|
0 | ok | Command succeeded |
1 | error | General failure; unclassified |
2 | network | Network connectivity failure; retry once |
3 | auth_required | Unauthenticated; surface remediation to user |
4 | not_found | Resource does not exist; do not retry |
5 | rate_limited | API rate limit reached; back off before retrying |
6 | invalid_input | Parameter schema validation failed |
7 | no_account | Requested account not configured in keystore |
Inspect built-in agent guides directly from the CLI:
sliplane agent-readme # Human-readable markdown guide
sliplane agent-readme --json # Machine-readable rules and schemas
For web-based LLMs and crawlers, refer to llms.txt and llms-full.txt.
--env vs --merge-env):
--env to services update replaces the entire environment array. The CLI warns and aborts if unmentioned variables would be dropped.--merge-env to preserve unmentioned variables, or --replace-env if removal was intentional.services set-env to change a single variable safely.--merge-env safely retains existing secrets without exposing or overwriting them.--merge-env would overwrite plain variables with nothing. The CLI refuses that (auth_required) and points you to services set-env or a key with Secrets: Read. sliplane me lists a key's scopes, and accounts add / accounts test warn when secrets:read is missing.services update automatically carries over existing deployment parameters (branch, Dockerfile path, build context, path filters) so they do not inadvertently revert to defaults.--volume my-data:/data automatically binds to an existing server volume named my-data rather than creating duplicates.cmd.exe. Avoid Git Bash / MSYS, which automatically rewrites Unix-style path arguments (/health → C:/Program Files/Git/...).| Variable | Description | Default |
|---|---|---|
SLIPLANE_CONFIG_DIR | Custom directory path for config.yaml | ~/.config/sliplane (or OS equivalent) |
SLIPLANE_SECRET_STORE | Force specific credential store: dpapi, keychain, libsecret, plaintext | Auto-detected |
SLIPLANE_ALLOW_PLAINTEXT_STORE | Set to 1 to allow a chmod 0600 file store on headless Linux without DBus/SecretService | 0 |
SLIPLANE_API_URL | Override the API base URL (useful for integration testing against mocks) | https://ctrl.sliplane.io/v0 |
Contributions are welcome! Please submit issues and pull requests to SpaceCorps/Sliplane-Cli.
Dual-licensed under the MIT License.
| Unmount a volume and redeploy (the data is kept) |