Skip to content

feat(cli): open workspace files in desktop app - #267

Merged
LoganRupe merged 3 commits into
LoganRupe:multi-repo-workspacesfrom
Tr1Fecta-7:feat/t3-app-workspace-files
Sep 18, 2026
Merged

LoganRupe merged 3 commits into
LoganRupe:multi-repo-workspacesfrom
Tr1Fecta-7:feat/t3-app-workspace-files

Conversation

@Tr1Fecta-7

Copy link
Copy Markdown

What Changed

t3 app now accepts a .code-workspace file as well as a project directory.
The CLI treats that path as workspaceFile and uses the file’s directory as workspaceRoot. The desktop renderer reads the file with the existing filesystem.readWorkspaceFile query and passes workspaceFile / repoRoots into project.create, the same path the command palette already uses. An existing project at that path is reused.

Why

t3 app only took a directory, so a multi-root workspace could not be opened from the terminal. The server stores workspaceFile and repoRoots as given, so the client has to resolve the file before create. That work already exists for the palette; this wires the same inputs through the CLI activation request instead of adding a second create path.

Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:M labels Sep 16, 2026
@Tr1Fecta-7

Copy link
Copy Markdown
Author

Hey @LoganRupe let me know if you need any more info from me or any changes :)

@LoganRupe LoganRupe left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, this is neat and small. Reusing readWorkspaceFile and the existing project.create path is what I'd have hoped for.

I gave it a spin against a dev desktop build and it works nicely. A .code-workspace with a couple of repos opens straight into a multi-root project, and a missing folder gets a clear warning instead of breaking anything. Plain directories still open exactly as before.

One small thing: the palette names a workspace project after the file (platform.code-workspace → "platform"), but this path uses inferProjectTitleFromPath(workspaceRoot). So a file sitting in ~/code gets titled "code". Could we pass the file-derived title through so both entry points agree?

Opening a .code-workspace with t3 app titled the project after the
directory holding the file, which is often a generic parent such as
~/code. The command palette already titles it after the file, so share
that rule in one helper and use it on both paths.
@LoganRupe
LoganRupe merged commit 1a4807a into LoganRupe:multi-repo-workspaces Sep 18, 2026
5 checks passed
LoganRupe pushed a commit that referenced this pull request Sep 18, 2026
`t3 app` now accepts a .code-workspace file as well as a project directory. The CLI sends the file as workspaceFile and its parent as workspaceRoot; the desktop renderer resolves repoRoots through the existing filesystem.readWorkspaceFile query and creates the project the same way the command palette does.

Workspace projects opened from the CLI are titled after the file, matching the palette.
LoganRupe pushed a commit that referenced this pull request Sep 22, 2026
`t3 app` now accepts a .code-workspace file as well as a project directory. The CLI sends the file as workspaceFile and its parent as workspaceRoot; the desktop renderer resolves repoRoots through the existing filesystem.readWorkspaceFile query and creates the project the same way the command palette does.

Workspace projects opened from the CLI are titled after the file, matching the palette.
LoganRupe pushed a commit that referenced this pull request Sep 24, 2026
`t3 app` now accepts a .code-workspace file as well as a project directory. The CLI sends the file as workspaceFile and its parent as workspaceRoot; the desktop renderer resolves repoRoots through the existing filesystem.readWorkspaceFile query and creates the project the same way the command palette does.

Workspace projects opened from the CLI are titled after the file, matching the palette.
LoganRupe pushed a commit that referenced this pull request Sep 26, 2026
`t3 app` now accepts a .code-workspace file as well as a project directory. The CLI sends the file as workspaceFile and its parent as workspaceRoot; the desktop renderer resolves repoRoots through the existing filesystem.readWorkspaceFile query and creates the project the same way the command palette does.

Workspace projects opened from the CLI are titled after the file, matching the palette.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants