using ClaudeDo.Data; using ClaudeDo.Installer.Core; namespace ClaudeDo.Installer.Steps; public sealed class InitDatabaseStep : IInstallStep { public string Name => "Initialize Database"; public Task ExecuteAsync(InstallContext ctx, IProgress progress, CancellationToken ct) { try { var expandedPath = Paths.Expand(ctx.DbPath); progress.Report($"Initializing database at {expandedPath}"); var factory = new SqliteConnectionFactory(expandedPath); SchemaInitializer.Apply(factory); progress.Report("Schema applied successfully"); return Task.FromResult(StepResult.Ok()); } catch (Exception ex) { return Task.FromResult(StepResult.Fail(ex.Message)); } } }