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
+1
View File
@@ -145,6 +145,7 @@ export const dict = {
'multirun.launcher.project.label': 'Project',
'multirun.launcher.project.placeholder': 'Select project',
'multirun.launcher.project.empty': 'Add a project first.',
'multirun.launcher.project.gitRequired': 'No worktree isolation: runs use the same directory.',
'multirun.launcher.groupName.label': 'Group name',
'multirun.launcher.groupName.info': 'Used for worktree directory and branch names',
'multirun.launcher.groupName.placeholder': 'feature-auth, bugfix-login',
+1
View File
@@ -146,6 +146,7 @@ export const dict: Record<I18nKey, string> = {
"multirun.launcher.project.label": "Proyecto",
"multirun.launcher.project.placeholder": "Seleccionar proyecto",
"multirun.launcher.project.empty": "Añade un proyecto primero.",
"multirun.launcher.project.gitRequired": "Sin aislamiento worktree: las ejecuciones usan el mismo directorio.",
"multirun.launcher.groupName.label": "Nombre del grupo",
"multirun.launcher.groupName.info": "Usado para el directorio de worktree y nombres de rama",
"multirun.launcher.groupName.placeholder": "feature-auth, bugfix-login",
+1
View File
@@ -146,6 +146,7 @@ export const dict: Record<I18nKey, string> = {
'multirun.launcher.project.label': '프로젝트',
'multirun.launcher.project.placeholder': '프로젝트 선택',
'multirun.launcher.project.empty': '먼저 프로젝트를 추가하세요.',
'multirun.launcher.project.gitRequired': 'worktree 격리 없음: 실행은 같은 디렉터리를 사용합니다.',
'multirun.launcher.groupName.label': '그룹 이름',
'multirun.launcher.groupName.info': '워크트리 디렉터리와 브랜치 이름에 사용됩니다',
'multirun.launcher.groupName.placeholder': 'feature-auth, bugfix-login',
+1
View File
@@ -221,6 +221,7 @@ export const dict: Record<I18nKey, string> = {
'multirun.launcher.project.label': 'Projekt',
'multirun.launcher.project.placeholder': 'Wybierz projekt',
'multirun.launcher.project.empty': 'Najpierw dodaj projekt.',
'multirun.launcher.project.gitRequired': 'Bez izolacji worktree: uruchomienia używają tego samego katalogu.',
'multirun.launcher.groupName.label': 'Nazwa grupy',
'multirun.launcher.groupName.info': 'Używane dla katalogu drzewa pracy i nazw gałęzi',
'multirun.launcher.groupName.placeholder': 'feature-auth, bugfix-login',
@@ -146,6 +146,7 @@ export const dict: Record<I18nKey, string> = {
"multirun.launcher.project.label": "Projeto",
"multirun.launcher.project.placeholder": "Selecionar projeto",
"multirun.launcher.project.empty": "Adicione um projeto primeiro.",
"multirun.launcher.project.gitRequired": "Sem isolamento por worktree: as execuções usam o mesmo diretório.",
"multirun.launcher.groupName.label": "Nome do grupo",
"multirun.launcher.groupName.info": "Usado para o diretório de worktree e nomes de branch",
"multirun.launcher.groupName.placeholder": "feature-auth, bugfix-login",
+1
View File
@@ -146,6 +146,7 @@ export const dict: Record<I18nKey, string> = {
"multirun.launcher.project.label": "Проєкт",
"multirun.launcher.project.placeholder": "Вибрати проєкт",
"multirun.launcher.project.empty": "Спочатку додайте проєкт.",
"multirun.launcher.project.gitRequired": "Без ізоляції worktree: запуски використовують ту саму директорію.",
"multirun.launcher.groupName.label": "Назва групи",
"multirun.launcher.groupName.info": "Використовується для імен каталогу та гілок worktree",
"multirun.launcher.groupName.placeholder": "feature-auth, bugfix-login",
@@ -146,6 +146,7 @@ export const dict: Record<I18nKey, string> = {
'multirun.launcher.project.label': '项目',
'multirun.launcher.project.placeholder': '选择项目',
'multirun.launcher.project.empty': '请先添加项目。',
'multirun.launcher.project.gitRequired': '无 worktree 隔离:运行将使用同一目录。',
'multirun.launcher.groupName.label': '组名',
'multirun.launcher.groupName.info': '用于工作树目录和分支名称',
'multirun.launcher.groupName.placeholder': 'feature-auth, bugfix-login',