Skip to content

Projects

A project maps to a single Flutter app and holds all its channels and deployments. Projects belong to a workspace.

List Projects

$ xc cloud project list [options]
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:

$ xc cloud project list -w "Appfluent"
$ xc cloud project list -v

Delete a Project

Delete a project and all its channels and deployments:

$ xc cloud project delete <project> [options]
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

$ xc cloud project rename <name> [new-name] [options]
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

$ xc cloud project keys [options]
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:

Project key: abc123...
Storage key: def456...

Rotate Project Key

Generate a new project key with a grace period for the old key:

$ xc cloud project rotate-key [options]
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:

  1. The CLI checks for xwidget_cloud.yaml in the current directory to read the project_id.
  2. 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.