diff --git a/README.md b/README.md index 5285ec8..b64bfdf 100644 --- a/README.md +++ b/README.md @@ -91,8 +91,8 @@ is available to every v2 command. `login`, `logout`, `whoami`, and global Create API keys for automation or other non-interactive clients. Keys belong to a user and carry explicit capabilities; use the smallest capability set the task needs. The `--workspace` option further restricts Kubernetes access to one -workspace. Capabilities describe *what* the key may do, while workspace scope -describes *where* its Kubernetes access applies; neither replaces the other. +workspace. Capabilities describe _what_ the key may do, while workspace scope +describes _where_ its Kubernetes access applies; neither replaces the other. Valid capabilities are `kubernetes:read`, `kubernetes:write`, `kubernetes:exec`, `users:read`, `users:write`, `sessions:revoke`, and @@ -458,6 +458,123 @@ your shell configuration. Fish and PowerShell are also supported through Lifecycle commands (`restart`, `stop`, `rollback`, `down`) are idempotent: identical requests are deduplicated server-side and tracked as operations. +When an API response advertises a newer kuber version, the CLI quietly starts a +cross-platform install with the current runtime's package manager and inherited +environment. The CLI waits for the result, bounded by 30 seconds, and reports +whether the update succeeded or a new version remains available. It does not +replay the command; rerun it yourself if needed. + +### Initialize a project or add an app + +`kuber init` creates a project Compose file and adds its first app. In an empty +directory, the default app uses `nginx:stable` as its image; initialization +always adds a service. Choose a different source or image with the app options: + +```bash +kuber init +kuber init --project my-site --name web --path apps/web --source image --image nginx:stable +``` + +With an interactive terminal, `init` prompts for missing project and app +details, and its default flow logs in automatically when needed. The project +trust is granted for the current directory as part of initialization, so a +first `kuber up` can proceed without separately running `kuber trust`. Use +`--non-interactive` to disable prompts; provide required values as flags. The +project name is optional and defaults from the current project context. If +project configuration already fixes a project name, `--project` must match it. + +`kuber add app` adds another service to an existing project without replacing +existing services. Its syntax and the shared app options are: + +```text +kuber add app [--name ] [--path ] + [--source image|auto|template] [--image ] [--template