Workspace Module
Multi-repository workspace management with team collaboration, documentation, and AI-assisted development
Overview
The Workspace module provides a full-screen overlay for managing multi-repo projects. It groups repositories under a single workspace with:
- Multi-page wiki for workspace notes and documentation
- Multi-repo documentation browser
- Discord-like channel messaging (Feed)
- Draggable repo tiles with persistent order
- Automatic cloning of linked repositories
- Team member management with role-based permissions
- Repo sharing with individual users
- Workspace-hosted Git repos (via Gitea)
- GitHub collaboration invitation notifications
- Workspace Agent (Claude Mode) for AI-assisted development across repos
Accessing Workspaces
Click the Workspace icon in the module switcher. The workspace overlay opens on top of your current module.
Creating a Workspace
- Click Create Workspace in the left panel
- Enter a workspace name and optional description
- Optionally add an avatar URL
- Click Create
You are automatically assigned as the owner.
Workspace Navigation
Left Panel
- Workspace Selector - Switch between your workspaces via dropdown menu
- Linked Repositories - View all repos in the current workspace
- Plans (Claude Mode) - Access saved execution plans
- Settings - Workspace settings and danger zone
Main Area
Tabs:
| Tab | Description |
|---|---|
| Home | Multi-page wiki for workspace notes and documentation |
| Overview | Workspace stats, quick actions, member summary |
| Repos | Draggable tile grid of all linked repositories |
| Docs | Multi-repo documentation browser (published from repo
docs/ folders) |
| Feed | Discord-like channel messaging for team communication |
| Notifications | Pending GitHub collaboration invitations for workspace repos |
Right Panel
- Members List - View workspace members and roles
- Agent Terminals (Claude Mode) - Monitor AI agent sessions
Linking Repositories
To add a repository to your workspace:
- Click Link Repository in the workspace overview or repos tab
- Select a repository from the dropdown (shows GitHub and Gitea repos)
- The repository is linked and automatically cloned if not already local
Auto-Clone
When a workspace is selected, any linked repos that aren’t cloned locally are automatically cloned in the background. Green/grey dots on repo tiles indicate clone status:
- Green dot - Cloned locally and ready
- Grey dot - Not yet cloned (cloning in background or remote-only)
Organizing Repositories
Draggable Tiles
The Repos tab displays repositories as tiles in a grid. Drag tiles to rearrange them:
- Click and hold a tile
- Drag past the threshold to start dragging
- Drop on another tile to swap positions
Tile order is saved per workspace and persists across sessions.
Opening a Repository
- Single click — Sets the repo as the active project (same as selecting it from the sidebar)
- Double click — Sets the repo as active and closes the workspace overlay, returning you to the code editor
Repository Dashboard
Click any repo tile to open its dashboard with tabs:
| Tab | Description |
|---|---|
| Overview | Clone status, quick actions (Open in Code, Open Terminal) |
| Subrepos | Git submodule management - fetch, pull, push submodules |
| Database | Coming soon |
| Settings | Coming soon |
Member Management
Adding Members
- Click Add Member in the members list
- Search for a user by GitHub username or display name
- Select a role
- Click Add
When a member is added, they are automatically added as a GitHub collaborator on all linked repos with the appropriate permission level.
Member Roles
| Role | GitHub Permission | Can manage members/repos? |
|---|---|---|
| Owner | admin | Yes (full control) |
| Mod | push | Yes (admin-lite) |
| Member | push | No |
| Guest | pull | No |
Only one owner per workspace.
GitHub Collaborator Sync
Workspace member changes are automatically synced to GitHub:
- Add member — member is added as collaborator on all linked GitHub repos
- Link repo — all existing members are added as collaborators on the new repo
- Remove member — a dialog lets you choose which repos to remove collaborator access from
All sync operations are best-effort — GitHub API failures are logged but don’t block the workspace operation.
Removing Members
Owners and mods can remove members by clicking the remove button next to their name. A dialog appears with a checklist of all linked GitHub repos (all checked by default). Uncheck repos to keep the member’s collaborator access on those specific repos.
Wiki (Home Tab)
The Home tab is a multi-page wiki for workspace notes, onboarding guides, and internal documentation. Pages are stored in the cloud and visible to all workspace members.
When an admin first opens the Home tab on a workspace with no pages, a Welcome page is automatically created with a tutorial showcasing all available block types.
Pages
The left sidebar lists all wiki pages. The first page created is automatically marked as the index page (shown with a home icon). Click any page to view it.
- Create — Owners and mods can click “New Page” at the bottom of the sidebar. Enter a title and the page is created with an auto-generated URL slug.
- Edit — Click the edit button on a page header to enter the block editor. Click Save or Cancel when done.
- Delete — Click the delete button to remove a page. If the deleted page was the index, the next page is promoted.
- Reorder — Pages can be reordered (sort order persisted in the cloud).
Block Editor
Pages use a block-based editor rather than raw markdown. Each page is composed of blocks that are serialized to a custom markdown format for storage. Supported block types:
| Block | Description | Markdown Syntax |
|---|---|---|
| Text | Free-form markdown (headings, lists, code, etc.) | Plain markdown |
| Code | Fenced code block with language label | ```js ... ``` |
| Callout | Colored alert box (info, warning, tip, success, danger) | :::info ... ::: |
| Details | Collapsible section with summary | :::details Summary ... ::: |
| Tabs | Tabbed content with named tabs | :::tabs :::tab Name ... ::: ::: |
| Cards | Grid of titled cards | :::cards :::card Title ... ::: ::: |
| Button | Styled link buttons with color options | ::button[Label]{href="url" color="primary"} |
| YouTube | Embedded YouTube video with live preview | ::youtube[VIDEO_ID] |
| Embed | Arbitrary iframe with configurable height | ::embed[URL]{height="400"} |
| Repo | Repository reference badge | ::repo[owner/repo] |
| TOC | Auto-generated table of contents | [[toc]] |
Each block can be moved up/down, copied, or deleted via action buttons. New blocks are inserted between existing blocks using the “+” button that appears on hover.
Permissions
- Read: All workspace members
- Create / Edit / Delete: Owners and mods only
Documentation (Docs Tab)
The Docs tab is a multi-repo documentation browser. Workspace
members can publish markdown files from each repo’s
docs/ folder to the cloud, making them readable by
all workspace members regardless of local repo access.
Publishing Docs
Any workspace member with access to a repo can publish its documentation:
- Open the Docs tab
- Click the Publish dropdown button in the sidebar footer
- Select the repository to publish
- All
.mdfiles from the repo’sdocs/folder are uploaded to the cloud
Publishing is a full sync — new files are added, existing files are updated, and removed files are deleted. Files larger than 5MB are skipped.
Browsing Docs
Dashboard View
When no document is selected, the Docs tab shows a tiled dashboard of all repositories that have published docs. Each tile displays the repo name and document count. Click a tile to expand its file tree in the sidebar and load its README.
Sidebar
The left sidebar shows a collapsible tree of all repos with published docs:
- Click a repo name to expand/collapse its file list
- Click a file to view it in the content area
- Repos are collapsed by default
- A badge shows the number of published docs per repo
Content Area
- Toolbar — Back button and breadcrumb
(
RepoName / file_path) - Rendered markdown — Uses the shared MarkdownRenderer component
- Relative link navigation — Clicking a
relative
.mdlink (e.g.,[Setup](setup.md)) navigates within the docs viewer instead of opening externally - Back button — Navigate through previously viewed docs
Feed (Feed Tab)
The Feed tab is a Discord-like messaging system for team communication within a workspace. Messages are organized into channels and support full markdown rendering.
Channels
Channels organize conversations by topic. Each channel has a
name (prefixed with #) and an optional
description.
When an admin first opens the Feed tab on a workspace with no channels, a #general channel is automatically created.
- Create — Owners and mods can click “New
Channel” at the bottom of the sidebar. Channel names are
auto-formatted to lowercase with hyphens (e.g., “Design Updates”
→
design-updates). - Edit — Admins can rename a channel or update its description via the edit button in the channel header.
- Delete — Admins can delete a channel and all its messages. The workspace switches to the next available channel.
- Switch — Click any channel in the sidebar to load its messages.
Messaging
Any workspace member can read and post messages in any channel.
- Posting — Type in the composer at the bottom. Press Enter for a newline. Press Enter twice (double Enter) to send the message.
- Markdown — Messages support full markdown: bold, italic, code blocks, links, lists, etc. Content is rendered using the shared MarkdownRenderer.
- Edit — Hover over your own message and click the edit icon. An inline editor replaces the rendered content with save/cancel buttons. Edited messages show “(edited)”.
- Delete — Hover and click the delete icon. Authors can delete their own messages; owners and mods can delete any message.
Pagination
Messages load newest-first (50 at a time). Scrolling to the top of the message list automatically loads older messages if more are available.
Layout
┌─ Sidebar (220px) ──────────┬─ Main Area ────────────────────────────┐
│ │ │
│ CHANNELS │ # general │
│ │ Description text │
│ # general (active) │ ────────────────────────────────────── │
│ # dev │ │
│ # design │ avatar · author · 2m ago │
│ │ Hey team, pushed the new **feature** │
│ ───────────────────── │ │
│ [+ New Channel] (admin) │ avatar · author · 1m ago │
│ │ Looks great! `npm test` passes │
│ │ │
│ │ ┌──────────────────────────────────┐ │
│ │ │ Type a message... [Send] │ │
│ │ └──────────────────────────────────┘ │
└─────────────────────────────┴────────────────────────────────────────┘
Permissions
- All members can read and post messages, and edit/delete their own
- Owners and mods can additionally delete any message, and create/edit/delete channels
Notifications (Notifications Tab)
The Notifications tab shows pending GitHub collaboration invitations for repositories linked to the current workspace. When a workspace member is added, GitHub sends a repo collaboration invite — this tab lets users accept those invitations.
- Badge — A badge on the Notifications tab shows the count of pending invitations
- Accept — Click “Accept” next to an invitation to accept it
- Accept All — When multiple invitations are pending, click “Accept All” to accept them all at once
- Empty state — When no invitations are pending, shows “No pending notifications”
Invitations are automatically fetched when the workspace loads and filtered to only show invitations for repos linked to the current workspace.
Repo Sharing
Share individual repositories with other TeamIDE users, independent of workspace membership.
- Share — Share a repo with a specific user by their TeamIDE account, choosing a permission level (view, edit, or admin)
- View shared repos — See repos shared with you and repos you’ve shared with others
- Revoke — The repo owner can revoke a share at any time
Workspace-Hosted Repos (Gitea)
Workspaces can create Git repositories hosted on TeamIDE’s Gitea server, in addition to linking external GitHub repos.
- Create — Admins can create a new Gitea-hosted repo for the workspace, optionally linking it to a companion GitHub repo
- Privacy — Repos can be public or private
- Member access — Workspace members automatically get access; individual members can be excluded
Standard Mode vs Claude Mode
Toggle between modes using the switch in the workspace navigation.
Standard Mode
The default workspace experience for: - Viewing workspace overview and stats - Managing members and repositories - Publishing and browsing documentation
Claude Mode (Workspace Agent)
An AI-assisted development mode that provides:
Plan Mode
Create YAML execution plans that are reviewed before running: 1. Write or edit a plan in the plan editor 2. Review the planned actions 3. Approve and execute
Plans are stored locally at
~/.teamide/workspaces/{workspaceId}/plans/.
Execute Mode
Run commands directly with the AI agent (requires explicit approval for dangerous operations).
Agent Terminals
- Main Terminal - Orchestrates work across repositories
- Repository Terminals - Dedicated terminal per repository being modified
Terminal sessions persist across app restarts via stable tmux session IDs.
Session status indicators: - Idle - Ready for commands - Working - Currently executing - Complete - Task finished successfully - Error - Execution failed - Blocked - Waiting for user input
Workspace Settings
Access workspace settings by clicking the gear icon in the workspace navigation.
General Settings
- Workspace name
- Description
- Avatar URL
Danger Zone
- Delete Workspace - Permanently removes the workspace and unlinks all repositories (Owner only)
Persistence
Workspace state is saved automatically: - Active tab (Home/Overview/Repos/Docs/Feed/Notifications) persists across sessions - Claude Mode toggle persists - Repo tile order persists per workspace - Terminal sessions persist via tmux - Published docs persist in cloud database
Requirements
- GitHub Account - Required to create workspaces and link repositories
- TeamIDE Cloud Account - Workspace data is stored in TeamIDE cloud
Related
- Git Module - Repository dashboard independent of workspaces
- Authentication - Setting up GitHub accounts
- Subrepos - Symlink-based repo linking
- Settings - TeamIDE subscription settings
- Code Module - Working with repository files
Changelog
| Date | Changes |
|---|---|
| 2026-03-16 | Documentation audit — add Notifications, Repo Sharing, Gitea sections; fix Feed composer UX |
| 2026-03-16 | Add Feed tab — Discord-like channel messaging with markdown, pagination, inline editing |
| 2026-03-16 | Add code block type to wiki editor, auto-create welcome page for new workspaces |
| 2026-03-16 | Add Docs tab — multi-repo documentation browser with publish, sidebar tree, link navigation |
| 2026-03-15 | Add Home tab — multi-page wiki with block editor |
| 2026-03-15 | Add mod role, GitHub collaborator auto-sync, remove member dialog |
| 2026-03-15 | Update for overlay architecture, draggable tiles, auto-clone, persistence |
| 2026-02-02 | Initial documentation |