> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ankra.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# ankra project

> Manage the organisation's projects: a team-sized scope for clusters, applications and cost

## ankra project

Manage the organisation's projects.

A project is a scope inside an organisation. Clusters, applications,
environments, stack profiles, pipeline repositories and AI automations each
belong to exactly one project; credentials, registries, backup vaults,
buckets, organisation variables, notification routes and DNS zones belong to
one project or are organisation-wide (visible in every project). Members,
roles, billing and settings stay organisation-wide. Every organisation has a
default project, and until an administrator creates another one nothing
changes.

Which project a command acts in: the global `--project` \<id|slug> flag (or
ANKRA\_PROJECT) for one invocation, else the selection 'ankra project switch'
saves on this machine, else the current project the platform remembers for
you (the one the portal shows). 'ankra project current' says which applies.

Not to be confused with 'ankra registry projects', which are the projects of
the organisation's container registry (a Harbor concept).

Projects are turned on per organisation. While they are off, every project
command exits 3 saying so.

## ankra project create

Create a project. The slug is derived from the name unless `--slug` names one:
lowercase letters, digits and hyphens, at most 63 characters. It never
changes afterwards - it ends up in kubeconfig entries, CLI selections and
deep links - so pick it deliberately.

```bash theme={null}
ankra project create <name> [flags]
```

**Examples**

```bash theme={null}
ankra project create "Platform team"
ankra project create "Platform team" --slug platform --description "Shared infrastructure clusters"
```

**Flags**

| Flag | Default | Description |
| - | - | - |
| `--description` | | What the project is for |
| `-o`, `--output` | | Output format: json or yaml (default: human-readable) |
| `--slug` | | The project's slug (default: derived from the name); lowercase letters, digits and hyphens, immutable |

## ankra project current

Show the project this CLI acts in, and why (flag, saved selection or the platform's current project)

```bash theme={null}
ankra project current [flags]
```

**Examples**

```bash theme={null}
ankra project current
ankra project current -o json
ankra --project platform-team project current
```

**Flags**

| Flag | Default | Description |
| - | - | - |
| `-o`, `--output` | | Output format: json or yaml (default: human-readable) |

## ankra project delete

Delete a project. The default project cannot be deleted, and a project that
still holds resources is refused: move them with 'ankra project move' (or make
the shared ones organisation-wide) first. Members whose current project it was
are pointed back at the default project; tokens pinned to it stop working.

```bash theme={null}
ankra project delete <project> [flags]
```

**Examples**

```bash theme={null}
ankra project delete old-team
ankra project delete old-team --yes
```

**Flags**

| Flag | Default | Description |
| - | - | - |
| `-o`, `--output` | | Output format: json or yaml (default: human-readable) |
| `-y`, `--yes` | `false` | Skip the confirmation prompt |

## ankra project get

Show one project by slug, name or id

```bash theme={null}
ankra project get <project> [flags]
```

**Examples**

```bash theme={null}
ankra project get platform-team
ankra project get platform-team -o json
```

**Flags**

| Flag | Default | Description |
| - | - | - |
| `-o`, `--output` | | Output format: json or yaml (default: human-readable) |

## ankra project list

List the organisation's projects, the current one marked

```bash theme={null}
ankra project list [flags]
```

**Examples**

```bash theme={null}
ankra project list
ankra project list -o json
```

**Flags**

| Flag | Default | Description |
| - | - | - |
| `-o`, `--output` | | Output format: json or yaml (default: human-readable) |

## ankra project members

List who reaches a project, and how (organisation role or project-scoped assignment)

```bash theme={null}
ankra project members <project> [flags]
```

**Examples**

```bash theme={null}
ankra project members platform-team
ankra project members platform-team -o json
```

**Flags**

| Flag | Default | Description |
| - | - | - |
| `-o`, `--output` | | Output format: json or yaml (default: human-readable) |

## ankra project move

Move one resource to another project of the organisation (needs
projects.manage).

`--kind` names what moves: cluster, application, environment, stack\_profile, pipeline\_repository, ai\_automation, ai\_workspace
(each belongs to exactly one project), or credential, registry, backup\_vault, object\_storage\_bucket, organisation\_variable, notification\_route, dns\_zone
(which may also be organisation-wide). `--id` is the resource's id; for a
cluster or an application its name works too. `--to` is the destination
project by slug, name or id, or 'org-wide' to make a shared resource
visible in every project.

A cluster carries its DNS zones, incidents and tickets along; an application
carries its connected repositories; a stack profile carries its drafts. A
cluster with operations still running is refused until they finish, and a DNS
zone bound to a cluster follows that cluster instead of moving on its own.
Role assignments scoped to a project keep their project: a cluster that
leaves it is no longer reached by them.

```bash theme={null}
ankra project move --kind <kind> --id <id> --to <project|org-wide> [flags]
```

**Examples**

```bash theme={null}
ankra project move --kind cluster --id prod-eu --to platform-team
ankra project move --kind application --id 7d2a1c6e-... --to default
ankra project move --kind credential --id 0b7c4d1e-... --to org-wide
```

**Flags**

| Flag | Default | Description |
| - | - | - |
| `--id` | | The resource's id (a cluster or application name works too) |
| `--kind` | | What moves: cluster, application, environment, stack\_profile, pipeline\_repository, ai\_automation, ai\_workspace, credential, registry, backup\_vault, object\_storage\_bucket, organisation\_variable, notification\_route, dns\_zone |
| `-o`, `--output` | | Output format: json or yaml (default: human-readable) |
| `--to` | | Destination project (slug, name or id), or org-wide for a shared resource |

## ankra project rename

Rename a project. The slug never changes; pass `--description` to change the
description in the same call.

```bash theme={null}
ankra project rename <project> <new-name> [flags]
```

**Examples**

```bash theme={null}
ankra project rename platform-team "Platform engineering"
ankra project rename platform-team "Platform engineering" --description "Shared clusters"
```

**Flags**

| Flag | Default | Description |
| - | - | - |
| `--description` | | Replace the description as well |
| `-o`, `--output` | | Output format: json or yaml (default: human-readable) |

## ankra project switch

Switch to another project of the organisation. The platform's current project
moves with you (the portal follows), and the choice is saved on this machine
beside the organisation selection, so later commands act in it until you
switch again or run 'ankra org switch'. A token pinned to a project cannot
switch; pass `--project` for a single command instead.

```bash theme={null}
ankra project switch <project> [flags]
```

**Examples**

```bash theme={null}
ankra project switch platform-team
ankra project switch 071d45b1-f8fe-4f47-b13a-4f13a01689f1
```

**Flags**

| Flag | Default | Description |
| - | - | - |
| `-o`, `--output` | | Output format: json or yaml (default: human-readable) |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.