tellme/Package.swift
Felipe M. 54c3b65d4a
Complete Phase 4: Comprehensive preferences, localization, and UX polish
- Rename application from MenuWhisper to Tell me with new domain com.fmartingr.tellme
- Implement comprehensive preferences window with 6 tabs (General, Models, Text Insertion, Interface, Advanced, Permissions)
- Add full English/Spanish localization for all UI elements
- Create functional onboarding flow with model download capability
- Implement preview dialog for transcription editing
- Add settings export/import functionality
- Fix HUD content display issues and add comprehensive permission checking
- Enhance build scripts and app bundle creation for proper localization support
2025-09-19 13:55:46 +02:00

133 lines
No EOL
3.2 KiB
Swift

// swift-tools-version: 5.9
import PackageDescription
let package = Package(
name: "TellMe",
platforms: [
.macOS(.v13)
],
products: [
.executable(
name: "TellMe",
targets: ["App"]
)
],
dependencies: [
.package(url: "https://github.com/exPHAT/SwiftWhisper.git", branch: "master")
],
targets: [
// Main Application Target
.executableTarget(
name: "App",
dependencies: [
"TellMeAudio",
"CoreSTT",
"CoreModels",
"CoreInjection",
"CorePermissions",
"CoreSettings",
"CoreUtils"
],
path: "Sources/App",
resources: [
.copy("Resources")
]
),
// Core Module Targets
.target(
name: "TellMeAudio",
dependencies: ["CoreUtils"],
path: "Sources/CoreAudio"
),
.target(
name: "CoreSTT",
dependencies: [
"CoreUtils",
"CoreModels",
"TellMeAudio",
.product(name: "SwiftWhisper", package: "SwiftWhisper")
],
path: "Sources/CoreSTT"
),
.target(
name: "CoreModels",
dependencies: ["CoreUtils"],
path: "Sources/CoreModels"
),
.target(
name: "CoreInjection",
dependencies: ["CoreUtils", "CorePermissions"],
path: "Sources/CoreInjection"
),
.target(
name: "CorePermissions",
dependencies: ["CoreUtils"],
path: "Sources/CorePermissions"
),
.target(
name: "CoreSettings",
dependencies: ["CoreUtils"],
path: "Sources/CoreSettings"
),
.target(
name: "CoreUtils",
path: "Sources/CoreUtils"
),
// Test Targets
.testTarget(
name: "TellMeAudioTests",
dependencies: ["TellMeAudio"],
path: "Tests/CoreAudioTests"
),
.testTarget(
name: "CoreSTTTests",
dependencies: ["CoreSTT"],
path: "Tests/CoreSTTTests"
),
.testTarget(
name: "CoreModelsTests",
dependencies: ["CoreModels"],
path: "Tests/CoreModelsTests"
),
.testTarget(
name: "CoreInjectionTests",
dependencies: ["CoreInjection"],
path: "Tests/CoreInjectionTests"
),
.testTarget(
name: "CorePermissionsTests",
dependencies: ["CorePermissions"],
path: "Tests/CorePermissionsTests"
),
.testTarget(
name: "CoreSettingsTests",
dependencies: ["CoreSettings"],
path: "Tests/CoreSettingsTests"
),
.testTarget(
name: "CoreUtilsTests",
dependencies: ["CoreUtils"],
path: "Tests/CoreUtilsTests"
),
.testTarget(
name: "IntegrationTests",
dependencies: ["CoreSTT", "CoreModels", "TellMeAudio"],
path: "Tests/IntegrationTests"
)
]
)