> For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.

# Workspaces

Workspaces within Tessl make managing it easy to create, share and manage your team's context.

## Setting up a new workspace

### create

To create a workspace, run `tessl workspace create <name>`

```
tessl workspace create engteam

> ✔ Created workspace engteam (019b324b-...)
```

### list

Verify that your workspace has been created using `tessl workspace list`.

```
tessl workspace list

> ╔════════════╤══════════════════════════════════════╗
  ║ Name       │ ID                                   ║
  ╟────────────┼──────────────────────────────────────╢
  ║ engteam    │ 019952d9-...                         ║
  ╚════════════╧══════════════════════════════════════╝
```

## How workspaces appear in the Registry

When you publish plugins to a workspace, they appear in the Tessl Registry with URLs that follow this pattern:

```
https://tessl.io/registry/<workspace>/<pluginname>/<version>
```

**Example:** If you publish a plugin with:

- Workspace name: `engteam`
- Plugin name: `api-patterns`
- Version: `1.0.0`

Your plugin will be available at:

```
https://tessl.io/registry/engteam/api-patterns/1.0.0
```

:::info

The workspace name and plugin name are determined by the `"name"` field in your `.tessl-plugin/plugin.json` file:

- `"name": "engteam/api-patterns"` where `engteam` is the workspace and `api-patterns` is the plugin name
- This is independent of your GitHub repository organization or name

:::

The version in the URL is optional - if omitted, the latest version will be displayed.

## Configuring workspace users

### add-member

Add a new member to a workspace using:

`tessl workspace add-member --workspace <workspace-name> --username <username> --role <role>`

```
tessl workspace add-member --workspace engteam --username macebake --role publisher
```

Check out our supported [roles](/administrators/roles.md) to see which are appropriate for your users.

### list-members

Verify that your users were added correctly using `tessl workspace list-members <workspace-name>`

```
tessl workspace list-members engteam
```

### remove-members

Remove members using `tessl workspace remove-member --workspace <workspace-name> --username <username>`

```
tessl workspace remove-member --workspace engteam --username macebake
```

## Managing your workspace

### archive

Archive a workspace using `tessl workspace archive --reason <text> [workspace-name]`. The `--reason` flag is required. An archived workspace won't be available to publish to or read from, but can be unarchived later.

```
tessl workspace archive --reason "deprecated" engteam
```

### unarchive

To unarchive an archived workspace, making it active again, use `tessl workspace unarchive <workspace-name>`.

```
tessl workspace unarchive engteam
```

### delete

Delete a workspace entirely using `tessl workspace delete <workspace-name>`. Note: this will delete all content in a workspace, and cannot be undone! Use `archive` above as a safer alternative.

```
tessl workspace delete engteam
```

If a workspace has published a public plugin, deleting it permanently reserves its name: the name cannot be used again, in this organization or any other. To move a workspace between organizations, do not delete it. Email [support@tessl.io](mailto:support@tessl.io) and we can move it for you after a review.
