feat: support multi-run for non-Git projects

Creates non-Git multi-runs in the same project directory
Shows concise footer info when worktree isolation is unavailable
Displays default model variants with a friendly label
This commit is contained in:
Bohdan Triapitsyn
2026-05-14 23:33:10 +03:00
parent 8056fae275
commit a1777689e7
11 changed files with 65 additions and 20 deletions
@@ -587,7 +587,12 @@ export const MultiRunLauncher: React.FC<MultiRunLauncherProps> = ({
};
const isValid = Boolean(
name.trim() && prompt.trim() && selectedModels.length >= 2 && worktreeBaseBranch && isGitRepository && !isLoadingWorktreeBaseBranches
name.trim() &&
prompt.trim() &&
selectedModels.length >= 2 &&
selectedProjectDirectory &&
!isLoadingWorktreeBaseBranches &&
(isGitRepository === false || (isGitRepository === true && worktreeBaseBranch))
);
const configuredSetupCount = setupCommands.filter(cmd => cmd.trim()).length;
@@ -929,6 +934,12 @@ export const MultiRunLauncher: React.FC<MultiRunLauncherProps> = ({
{/* ── Fixed footer ── */}
<div className="shrink-0 px-4 sm:px-6 py-3">
<div className="mx-auto w-full max-w-2xl flex items-center justify-end gap-2">
{isGitRepository === false ? (
<div className="mr-auto flex min-w-0 items-center gap-1.5 typography-micro text-muted-foreground">
<Icon name="information" className="h-3.5 w-3.5 shrink-0" />
<span className="truncate">{t('multirun.launcher.project.gitRequired')}</span>
</div>
) : null}
<Button
type="button"
variant="ghost"