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

  1. Click Create Workspace in the left panel
  2. Enter a workspace name and optional description
  3. Optionally add an avatar URL
  4. 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:

  1. Click Link Repository in the workspace overview or repos tab
  2. Select a repository from the dropdown (shows GitHub and Gitea repos)
  3. 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:

  1. Click and hold a tile
  2. Drag past the threshold to start dragging
  3. 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

  1. Click Add Member in the members list
  2. Search for a user by GitHub username or display name
  3. Select a role
  4. 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:

  1. Open the Docs tab
  2. Click the Publish dropdown button in the sidebar footer
  3. Select the repository to publish
  4. All .md files from the repo’s docs/ 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.

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 .md link (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

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