From 4132cb03e274311e571d405bf3391082ec1c142d Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 23 Apr 2026 17:17:06 +0000 Subject: [PATCH] rebase: add import ScarfCore to templates feature Mac files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The v2.2.0 templates/config/catalog feature (introduced on main after M0 branched) added 18 Mac-target files that reference types now living in ScarfCore — ServerContext, ProjectEntry, ProjectDashboardService, etc. After rebasing scarf-mobile-development onto main, those files need `import ScarfCore` the same way the M0a/M0c/M0d extractions added it to the ~100 pre-existing Mac files. Unblocks Xcode compile of the scarf (Mac) target on this branch; no behavior change. https://claude.ai/code/session_019yMRP6mwZWfzVrPTqevx2y --- scarf/scarf/Core/Models/ProjectTemplate.swift | 1 + scarf/scarf/Core/Models/TemplateConfig.swift | 1 + scarf/scarf/Core/Services/ProjectConfigService.swift | 1 + scarf/scarf/Core/Services/ProjectTemplateExporter.swift | 1 + scarf/scarf/Core/Services/ProjectTemplateInstaller.swift | 1 + scarf/scarf/Core/Services/ProjectTemplateService.swift | 1 + scarf/scarf/Core/Services/ProjectTemplateUninstaller.swift | 1 + .../Templates/ViewModels/TemplateConfigEditorViewModel.swift | 1 + .../Templates/ViewModels/TemplateConfigViewModel.swift | 1 + .../Templates/ViewModels/TemplateExporterViewModel.swift | 1 + .../Templates/ViewModels/TemplateInstallerViewModel.swift | 1 + .../Templates/ViewModels/TemplateUninstallerViewModel.swift | 1 + scarf/scarf/Features/Templates/Views/ConfigEditorSheet.swift | 1 + scarf/scarf/Features/Templates/Views/TemplateConfigSheet.swift | 1 + .../scarf/Features/Templates/Views/TemplateInstallSheet.swift | 3 ++- .../Features/Templates/Views/TemplateUninstallSheet.swift | 1 + scarf/scarfTests/ProjectTemplateTests.swift | 1 + scarf/scarfTests/TemplateConfigTests.swift | 1 + 18 files changed, 19 insertions(+), 1 deletion(-) diff --git a/scarf/scarf/Core/Models/ProjectTemplate.swift b/scarf/scarf/Core/Models/ProjectTemplate.swift index 3f8702b..9dc4a8a 100644 --- a/scarf/scarf/Core/Models/ProjectTemplate.swift +++ b/scarf/scarf/Core/Models/ProjectTemplate.swift @@ -1,4 +1,5 @@ import Foundation +import ScarfCore // MARK: - Manifest (what lives inside the .scarftemplate zip) diff --git a/scarf/scarf/Core/Models/TemplateConfig.swift b/scarf/scarf/Core/Models/TemplateConfig.swift index 458ce8d..7f8ffca 100644 --- a/scarf/scarf/Core/Models/TemplateConfig.swift +++ b/scarf/scarf/Core/Models/TemplateConfig.swift @@ -1,4 +1,5 @@ import Foundation +import ScarfCore // MARK: - Schema (ships inside template.json as manifest.config) diff --git a/scarf/scarf/Core/Services/ProjectConfigService.swift b/scarf/scarf/Core/Services/ProjectConfigService.swift index 091acda..77b1b31 100644 --- a/scarf/scarf/Core/Services/ProjectConfigService.swift +++ b/scarf/scarf/Core/Services/ProjectConfigService.swift @@ -1,4 +1,5 @@ import Foundation +import ScarfCore import os /// Per-project configuration I/O: reads `/.scarf/config.json` diff --git a/scarf/scarf/Core/Services/ProjectTemplateExporter.swift b/scarf/scarf/Core/Services/ProjectTemplateExporter.swift index ca1d3f2..6b06b81 100644 --- a/scarf/scarf/Core/Services/ProjectTemplateExporter.swift +++ b/scarf/scarf/Core/Services/ProjectTemplateExporter.swift @@ -1,4 +1,5 @@ import Foundation +import ScarfCore import os /// Builds a `.scarftemplate` bundle from an existing Scarf project plus the diff --git a/scarf/scarf/Core/Services/ProjectTemplateInstaller.swift b/scarf/scarf/Core/Services/ProjectTemplateInstaller.swift index c39cf38..ed3c68e 100644 --- a/scarf/scarf/Core/Services/ProjectTemplateInstaller.swift +++ b/scarf/scarf/Core/Services/ProjectTemplateInstaller.swift @@ -1,4 +1,5 @@ import Foundation +import ScarfCore import os /// Executes a `TemplateInstallPlan`. All writes happen in one pass with diff --git a/scarf/scarf/Core/Services/ProjectTemplateService.swift b/scarf/scarf/Core/Services/ProjectTemplateService.swift index 9462ecc..d2a7b58 100644 --- a/scarf/scarf/Core/Services/ProjectTemplateService.swift +++ b/scarf/scarf/Core/Services/ProjectTemplateService.swift @@ -1,4 +1,5 @@ import Foundation +import ScarfCore import os /// Reads, validates, and plans the install of a `.scarftemplate` bundle. Pure diff --git a/scarf/scarf/Core/Services/ProjectTemplateUninstaller.swift b/scarf/scarf/Core/Services/ProjectTemplateUninstaller.swift index 93f6830..ed7e22d 100644 --- a/scarf/scarf/Core/Services/ProjectTemplateUninstaller.swift +++ b/scarf/scarf/Core/Services/ProjectTemplateUninstaller.swift @@ -1,4 +1,5 @@ import Foundation +import ScarfCore import os /// Reverses the work of `ProjectTemplateInstaller`, driven by the diff --git a/scarf/scarf/Features/Templates/ViewModels/TemplateConfigEditorViewModel.swift b/scarf/scarf/Features/Templates/ViewModels/TemplateConfigEditorViewModel.swift index cec6bbf..13346ab 100644 --- a/scarf/scarf/Features/Templates/ViewModels/TemplateConfigEditorViewModel.swift +++ b/scarf/scarf/Features/Templates/ViewModels/TemplateConfigEditorViewModel.swift @@ -1,5 +1,6 @@ import Foundation import Observation +import ScarfCore import os /// Drives the post-install "Configuration" button on the project diff --git a/scarf/scarf/Features/Templates/ViewModels/TemplateConfigViewModel.swift b/scarf/scarf/Features/Templates/ViewModels/TemplateConfigViewModel.swift index 9a26bc9..0bde468 100644 --- a/scarf/scarf/Features/Templates/ViewModels/TemplateConfigViewModel.swift +++ b/scarf/scarf/Features/Templates/ViewModels/TemplateConfigViewModel.swift @@ -1,5 +1,6 @@ import Foundation import Observation +import ScarfCore import os /// Drives the configure form for template install + post-install editing. diff --git a/scarf/scarf/Features/Templates/ViewModels/TemplateExporterViewModel.swift b/scarf/scarf/Features/Templates/ViewModels/TemplateExporterViewModel.swift index a887ec0..49af7de 100644 --- a/scarf/scarf/Features/Templates/ViewModels/TemplateExporterViewModel.swift +++ b/scarf/scarf/Features/Templates/ViewModels/TemplateExporterViewModel.swift @@ -1,4 +1,5 @@ import Foundation +import ScarfCore import os /// Drives the template export sheet. Holds form state for the author-facing diff --git a/scarf/scarf/Features/Templates/ViewModels/TemplateInstallerViewModel.swift b/scarf/scarf/Features/Templates/ViewModels/TemplateInstallerViewModel.swift index 4b2e476..a8de56a 100644 --- a/scarf/scarf/Features/Templates/ViewModels/TemplateInstallerViewModel.swift +++ b/scarf/scarf/Features/Templates/ViewModels/TemplateInstallerViewModel.swift @@ -1,4 +1,5 @@ import Foundation +import ScarfCore import os /// Drives the template install sheet. Handles three entry points: diff --git a/scarf/scarf/Features/Templates/ViewModels/TemplateUninstallerViewModel.swift b/scarf/scarf/Features/Templates/ViewModels/TemplateUninstallerViewModel.swift index 349eacc..284bdcd 100644 --- a/scarf/scarf/Features/Templates/ViewModels/TemplateUninstallerViewModel.swift +++ b/scarf/scarf/Features/Templates/ViewModels/TemplateUninstallerViewModel.swift @@ -1,4 +1,5 @@ import Foundation +import ScarfCore import os /// Drives the template-uninstall sheet. Mirrors the installer VM in diff --git a/scarf/scarf/Features/Templates/Views/ConfigEditorSheet.swift b/scarf/scarf/Features/Templates/Views/ConfigEditorSheet.swift index 88d438e..4de099c 100644 --- a/scarf/scarf/Features/Templates/Views/ConfigEditorSheet.swift +++ b/scarf/scarf/Features/Templates/Views/ConfigEditorSheet.swift @@ -1,3 +1,4 @@ +import ScarfCore import SwiftUI /// Post-install configuration editor. Thin wrapper around the same diff --git a/scarf/scarf/Features/Templates/Views/TemplateConfigSheet.swift b/scarf/scarf/Features/Templates/Views/TemplateConfigSheet.swift index 81700ef..ecd3b67 100644 --- a/scarf/scarf/Features/Templates/Views/TemplateConfigSheet.swift +++ b/scarf/scarf/Features/Templates/Views/TemplateConfigSheet.swift @@ -1,3 +1,4 @@ +import ScarfCore import SwiftUI /// The configure form rendered for template install + post-install diff --git a/scarf/scarf/Features/Templates/Views/TemplateInstallSheet.swift b/scarf/scarf/Features/Templates/Views/TemplateInstallSheet.swift index e697050..a98acfa 100644 --- a/scarf/scarf/Features/Templates/Views/TemplateInstallSheet.swift +++ b/scarf/scarf/Features/Templates/Views/TemplateInstallSheet.swift @@ -1,5 +1,6 @@ -import SwiftUI import AppKit +import ScarfCore +import SwiftUI /// Preview-and-confirm sheet for installing a `.scarftemplate`. Honest /// accounting: shows every file that will be written, every cron job that diff --git a/scarf/scarf/Features/Templates/Views/TemplateUninstallSheet.swift b/scarf/scarf/Features/Templates/Views/TemplateUninstallSheet.swift index ceea9d3..1f23d4e 100644 --- a/scarf/scarf/Features/Templates/Views/TemplateUninstallSheet.swift +++ b/scarf/scarf/Features/Templates/Views/TemplateUninstallSheet.swift @@ -1,3 +1,4 @@ +import ScarfCore import SwiftUI /// Preview-and-confirm sheet for uninstalling a template-installed diff --git a/scarf/scarfTests/ProjectTemplateTests.swift b/scarf/scarfTests/ProjectTemplateTests.swift index 6b14205..2c4df1c 100644 --- a/scarf/scarfTests/ProjectTemplateTests.swift +++ b/scarf/scarfTests/ProjectTemplateTests.swift @@ -1,5 +1,6 @@ import Testing import Foundation +import ScarfCore @testable import scarf /// Cross-suite serialization lock for tests that touch the real diff --git a/scarf/scarfTests/TemplateConfigTests.swift b/scarf/scarfTests/TemplateConfigTests.swift index 57d529f..22587eb 100644 --- a/scarf/scarfTests/TemplateConfigTests.swift +++ b/scarf/scarfTests/TemplateConfigTests.swift @@ -1,5 +1,6 @@ import Testing import Foundation +import ScarfCore @testable import scarf // MARK: - Schema validation