Files
multica/apps/docs/content/docs/workspaces.mdx
Bohan Jiang 6e0f7b0f36 feat(settings): allow editing workspace issue prefix (MUL-2369) (#2809)
* feat(settings): allow editing workspace issue prefix (MUL-2369)

Workspace admins can now change the issue prefix from Settings → General.
The change is gated by a confirmation dialog that warns about external
references (PR titles, branch names, links) breaking, because issue
identifiers are rendered as `prefix-N` on the fly — changing the prefix
effectively renames every existing issue.

Refs https://github.com/multica-ai/multica/issues/2797

Co-authored-by: multica-agent <github@multica.ai>

* fix(settings): invalidate issue cache when workspace prefix changes (MUL-2369)

Issue identifiers (`MUL-123`) are recomputed from `workspace.issue_prefix`
at read time, so cached issues kept showing the old `OLD-N` keys after a
prefix change. Without invalidation the confirm dialog's "all issues will
be renumbered" promise was broken until a hard refresh — and other tabs
receiving the `workspace:updated` WS event saw the same drift.

- WorkspaceTab: after a prefix-changing save, invalidate `issueKeys.all`
  in addition to the workspace list. Non-prefix saves stay cheap.
- Realtime: split `workspace:updated` out of the generic `workspace`
  refresh into a specific handler that compares cached vs incoming
  `issue_prefix` and invalidates issues only when it actually changed.
- Docs: align the "uppercase" language with the actual UI/backend rule
  (uppercase letters and digits, up to 10 chars).

Co-authored-by: multica-agent <github@multica.ai>

---------

Co-authored-by: multica-agent <github@multica.ai>
2026-05-19 14:47:34 +08:00

57 lines
3.0 KiB
Plaintext

---
title: Workspaces
description: A workspace is the self-contained space where a group collaborates — every issue, member, comment, and agent belongs to one.
---
import { Callout } from "fumadocs-ui/components/callout";
A workspace is **the self-contained space where a group collaborates in Multica** — every [issue](/issues), [member](/members-roles), [comment](/comments), and [agent](/agents) belongs to one. The issue list, member roster, and agent configuration you see after logging in are all scoped to the current workspace; **switching workspaces replaces the entire view**.
## Creating a workspace
Three things get decided when you create a workspace:
- **Workspace name** — the display name members see. Spaces and non-ASCII characters are allowed. You can change it later.
- **Slug** — the string used in the workspace URL. Lowercase letters and digits only (joined with `-`). **It cannot be changed after creation**, so pick carefully. If the slug is taken or hits a system-reserved word, the create screen will ask you to choose another.
- **Issue prefix** — the prefix for every issue number in the workspace (the `MUL` in `MUL-123`). Uppercase letters and digits, up to 10 characters.
<Callout type="warning">
**Avoid changing the issue prefix.** Issue numbers are rendered with the current prefix — change it and `MUL-5` instantly becomes `NEW-5`. Every external link, Slack mention, and historical reference in comments breaks against the old number. Treat the issue prefix as "set at creation, never touched."
</Callout>
You can create a workspace from the web UI or from the command line:
```bash
multica workspace create
```
## Issue numbers
Every issue created in a workspace is automatically assigned a number in the format `<prefix>-<digits>` — `MUL-1`, `MUL-2`, `MUL-3`. A few properties:
- **Sequential and unique within a workspace** — each workspace keeps its own counter; workspaces don't interfere with each other.
- **Not manually assignable** — when you create an issue you only supply a title; the number is assigned by the system.
- **Never reclaimed on delete** — delete `MUL-5` and the next new issue is `MUL-6`, not `MUL-5`.
## Deleting a workspace
Only a workspace owner can delete the entire workspace. Deletion is **irreversible**.
<Callout type="warning">
Deleting a workspace wipes the following all at once:
- Every issue, project, comment, and reaction
- Every attachment
- Every membership and pending invitation
- Every agent configuration along with its task history
**Data cannot be recovered.** Export anything you need to keep before deleting.
</Callout>
If you're the last owner of a workspace and want to walk away from it, transfer the owner role to another member first, then have the new owner (or you) decide whether to delete. See [Members and roles](/members-roles).
## Next
- [Members and roles](/members-roles) — how to add people to a workspace, and what each of the three roles can do
- [Issues and projects](/issues) — the core work objects inside a workspace