Projects
A project maps to a single Flutter app and holds all its channels and deployments. Projects belong to a workspace.
List Projects
| Option | Abbr | Description |
|---|---|---|
--workspace |
-w |
Workspace to query |
--verbose |
-v |
Show additional details (ID, description, timestamps) |
Default output columns: Project, Created At, Updated At.
Verbose output columns: ID, Project, Created At, Updated At, Description.
Example:
Delete a Project
Delete a project and all its channels and deployments:
| Argument | Required | Description |
|---|---|---|
<project> |
Yes | Project name to delete |
| Option | Abbr | Description |
|---|---|---|
--workspace |
-w |
Workspace containing the project |
The CLI prompts for confirmation before deleting.
Danger
This permanently deletes the project, all its channels, and all deployments. This action cannot be undone.
Rename a Project
| Argument | Required | Description |
|---|---|---|
<name> |
Yes | Current project name |
[new-name] |
No | New name (prompted if not provided) |
| Option | Abbr | Description |
|---|---|---|
--workspace |
-w |
Workspace containing the project |
Project names must be 64 characters or less. The new name must not already exist in the workspace.
Retrieve Project Keys
| Option | Abbr | Description |
|---|---|---|
--workspace |
-w |
Workspace to use |
--project |
-p |
Project to retrieve keys for |
Displays the project's project key and storage key. These are used by the client SDK for authentication and content access.
Example output:
Rotate Project Key
Generate a new project key with a grace period for the old key:
| Option | Abbr | Description |
|---|---|---|
--workspace |
-w |
Workspace to use |
--project |
-p |
Project to rotate the key for |
--grace |
-g |
Days the old key remains valid (0–90, default 7) |
The grace period gives you time to update client apps with the new key. During this window, both the old and new keys are accepted. After the grace period expires, the old key is invalidated.
If --grace is not provided, the CLI prompts for a value.
Example:
# Rotate with a 14-day grace period
$ xc cloud project rotate-key -p "my-app" -g 14
# Interactive — prompts for project and grace period
$ xc cloud project rotate-key
Project Resolution
When a command requires a project and you don't specify one:
- The CLI checks for
xwidget_cloud.yamlin the current directory to read theproject_id. - If no config file is found, the CLI prompts you to select a workspace and then a project.
This means most commands work without --project when run from your Flutter project
directory.