Skip to content

Commit 1b9a330

Browse files
feat: add multi-repo workspace support
Allow a task to have multiple workspaces, one per repository. This enables cross-repo work (e.g., posthog + posthog-js + posthog.com) in a single conversation. Changes: - DB migration: drop UNIQUE on workspaces.taskId, add label column, add index - WorkspaceRepository: add findAllByTaskId for multi-workspace queries - WorkspaceService: createWorkspace accepts additionalRepos, returns array - Workspace schemas: add label field, RepoWorkspaceConfig, array outputs - Task type: add repositories[] alongside deprecated repository field - Sidebar: add additionalRepositories to TaskData for multi-repo badge - useWorkspace hook: backward-compatible single-workspace access + new useTaskWorkspaces/useAllWorkspaces for multi-repo consumers - Archive/suspension services: handle multi-workspace per task - Fix downstream consumers (code editor, DraggableTab) for array workspace API Generated-By: PostHog Code Task-Id: 230ec8e6-6781-43b4-ae30-ea24faa410dc
1 parent ea2b062 commit 1b9a330

17 files changed

Lines changed: 1050 additions & 247 deletions

File tree

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
-- Drop the unique constraint on task_id to allow multiple workspaces per task
2+
DROP INDEX IF EXISTS `workspaces_taskId_unique`;--> statement-breakpoint
3+
-- Add a non-unique index for query performance
4+
CREATE INDEX `workspaces_task_id_idx` ON `workspaces` (`task_id`);--> statement-breakpoint
5+
-- Add label column for display name (e.g., "posthog-js")
6+
ALTER TABLE `workspaces` ADD `label` text;

0 commit comments

Comments
 (0)