feat(claude-do): „Claude Help Me"-Button: Claude-Session zur Setup-Fehlersuch

Der Button, der aus „Problem erkannt" ein „Problem gelöst" macht: startet eine interaktive Claude-Session, die dem Nutzer beim Einrichten hilft.

## Warum externes Terminal
Der ConPTY-Stack (`PtyTerminalSession`, `ConPtyPaneView`) liegt in `ClaudeDo.Ui` und ist Avalonia — der Installer ist WPF und referenziert nur Data/Releases/Localization. Beim Fresh Install sind `app\`/`worker\` außerdem noch n

ClaudeDo-Task: 4e196058-38a3-404f-9862-4cb0e90195da
This commit is contained in:
mika kuns
2026-08-06 08:25:36 +02:00
parent b3a8373c70
commit 09e0772673
16 changed files with 630 additions and 35 deletions
@@ -6,6 +6,7 @@ using ClaudeDo.Installer.Pages.ServicePage;
using ClaudeDo.Installer.Pages.SystemCheckPage;
using ClaudeDo.Installer.Pages.UiSettingsPage;
using ClaudeDo.Installer.Pages.WelcomePage;
using ClaudeDo.Installer.Tests.Core;
using ClaudeDo.Installer.Tests.Pages.SystemCheckPage;
using ClaudeDo.Installer.Views;
using Microsoft.Extensions.DependencyInjection;
@@ -20,7 +21,7 @@ public class WizardViewModelTests
return new IInstallerPage[]
{
new WelcomePageViewModel(context),
new SystemCheckPageViewModel(context, () => throw new InvalidOperationException("not needed for this test")),
new SystemCheckPageViewModel(context, () => throw new InvalidOperationException("not needed for this test"), TestClaudeHelpLauncher.Create()),
new PathsPageViewModel(context),
new ServicePageViewModel(context),
new UiSettingsPageViewModel(context),
@@ -65,7 +66,7 @@ public class WizardViewModelTests
? FakeEnvironmentCheck.Fail("git", CheckSeverity.Error)
: FakeEnvironmentCheck.Ok("git");
return new EnvironmentCheckService(new[] { check });
});
}, TestClaudeHelpLauncher.Create());
var resolver = new PageResolver(new IInstallerPage[]
{