@sriinnu/runic 2.0.0 → 2.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +256 -0
- package/LICENSE +373 -21
- package/README.md +96 -89
- package/THIRD-PARTY-NOTICES.md +651 -0
- package/package.json +14 -4
- package/.swiftformat +0 -50
- package/.swiftlint.yml +0 -160
- package/CONTRIBUTING.md +0 -456
- package/Icon.icns +0 -0
- package/Icon.icon/Assets/runic.png +0 -0
- package/Icon.icon/icon.json +0 -36
- package/Package.resolved +0 -51
- package/Package.swift +0 -136
- package/Packages/Helix/LICENSE +0 -21
- package/Packages/Helix/Package.swift +0 -29
- package/Packages/Helix/README.md +0 -976
- package/Packages/Helix/Sources/Helix/Binding.swift +0 -111
- package/Packages/Helix/Sources/Helix/CommandParser.swift +0 -160
- package/Packages/Helix/Sources/Helix/CommandSignature.swift +0 -117
- package/Packages/Helix/Sources/Helix/ExpressibleFromArgument.swift +0 -72
- package/Packages/Helix/Sources/Helix/HelpGenerator.swift +0 -175
- package/Packages/Helix/Sources/Helix/NameSpecification.swift +0 -98
- package/Packages/Helix/Sources/Helix/ParsableCommand.swift +0 -204
- package/Packages/Helix/Sources/Helix/Platform/DarwinPlatformContext.swift +0 -44
- package/Packages/Helix/Sources/Helix/Platform/LinuxPlatformContext.swift +0 -34
- package/Packages/Helix/Sources/Helix/Platform/PlatformContext+Default.swift +0 -91
- package/Packages/Helix/Sources/Helix/Platform/PlatformContext.swift +0 -94
- package/Packages/Helix/Sources/Helix/Platform/PlatformPath.swift +0 -167
- package/Packages/Helix/Sources/Helix/Platform/Stdio.swift +0 -99
- package/Packages/Helix/Sources/Helix/Platform/WebPlatformContext.swift +0 -146
- package/Packages/Helix/Sources/Helix/Platform/WindowsPlatformContext.swift +0 -97
- package/Packages/Helix/Sources/Helix/Program.swift +0 -204
- package/Packages/Helix/Sources/Helix/PropertyWrappers.swift +0 -367
- package/Packages/Silo/LICENSE +0 -21
- package/Packages/Silo/Package.swift +0 -34
- package/Packages/Silo/README.md +0 -466
- package/Packages/Silo/Sources/Silo/BinaryCookiesReader.swift +0 -169
- package/Packages/Silo/Sources/Silo/BrowserCookieAnalytics.swift +0 -365
- package/Packages/Silo/Sources/Silo/BrowserCookieBackends.swift +0 -594
- package/Packages/Silo/Sources/Silo/BrowserCookieClient.swift +0 -326
- package/Packages/Silo/Sources/Silo/BrowserCookieExport.swift +0 -154
- package/Packages/Silo/Sources/Silo/BrowserCookieImport.swift +0 -119
- package/Packages/Silo/Sources/Silo/BrowserCookieMockStore.swift +0 -121
- package/Packages/Silo/Sources/Silo/BrowserCookieModels.swift +0 -391
- package/Packages/Silo/Sources/Silo/ChromiumCookieReader.swift +0 -240
- package/Packages/Silo/Sources/Silo/CryptoSupport.swift +0 -86
- package/Packages/Silo/Sources/Silo/FirefoxCookieReader.swift +0 -172
- package/Packages/Silo/Sources/Silo/LinuxChromiumCookieReader.swift +0 -172
- package/Packages/Silo/Sources/Silo/LinuxSecretService.swift +0 -105
- package/Packages/Silo/Sources/Silo/MacOSChromiumCookieReader.swift +0 -191
- package/Packages/Silo/Sources/Silo/SQLiteSnapshot.swift +0 -41
- package/Packages/Silo/Sources/Silo/WindowsChromiumCookieReader.swift +0 -110
- package/RuniciOS/App/RuniciOSApp.swift +0 -105
- package/RuniciOS/Core/RunicTypographyiOS.swift +0 -24
- package/RuniciOS/Core/iOSUsageStore.swift +0 -192
- package/RuniciOS/Views/ProviderDetailView.swift +0 -312
- package/RuniciOS/Views/ProviderListView.swift +0 -228
- package/RuniciOS/Widgets/LargeWidget.swift +0 -367
- package/RuniciOS/Widgets/LiveActivity.swift +0 -342
- package/RuniciOS/Widgets/LockScreenWidget.swift +0 -273
- package/RuniciOS/Widgets/MediumWidget.swift +0 -370
- package/RuniciOS/Widgets/RunicWidget.swift +0 -274
- package/RuniciOS/Widgets/SmallWidget.swift +0 -281
- package/RuniciOS/Widgets/WidgetModels.swift +0 -285
- package/RuniciOS/Widgets/WidgetTimeline.swift +0 -270
- package/Scripts/CREATION-SUMMARY.md +0 -367
- package/Scripts/DIRECTORY-STRUCTURE.md +0 -358
- package/Scripts/GETTING-STARTED-CHECKLIST.md +0 -364
- package/Scripts/INDEX.md +0 -365
- package/Scripts/QUICK-REFERENCE.md +0 -164
- package/Scripts/README-SCRIPTS.md +0 -926
- package/Scripts/build-android.sh +0 -526
- package/Scripts/build-ios.sh +0 -529
- package/Scripts/build-macos.sh +0 -603
- package/Scripts/build-windows.sh +0 -504
- package/Scripts/build_icon.sh +0 -49
- package/Scripts/changelog-to-html.sh +0 -89
- package/Scripts/check-release-assets.sh +0 -10
- package/Scripts/ci-config.yml +0 -474
- package/Scripts/compile_and_run.sh +0 -219
- package/Scripts/compile_and_run_adhoc.sh +0 -4
- package/Scripts/docs-list.mjs +0 -119
- package/Scripts/make_appcast.sh +0 -58
- package/Scripts/package_app.sh +0 -409
- package/Scripts/release-lib.sh +0 -214
- package/Scripts/release.sh +0 -76
- package/Scripts/setup-all.sh +0 -387
- package/Scripts/setup-ios.sh +0 -404
- package/Scripts/setup-react-native.sh +0 -523
- package/Scripts/sign-and-notarize.sh +0 -122
- package/Scripts/test_live_update.sh +0 -38
- package/Scripts/validate_changelog.sh +0 -23
- package/Scripts/verify_appcast.sh +0 -92
- package/Sources/Runic/About.swift +0 -93
- package/Sources/Runic/AppNotifications.swift +0 -117
- package/Sources/Runic/Controllers/StatusItemController+Actions.swift +0 -670
- package/Sources/Runic/Controllers/StatusItemController+Animation.swift +0 -519
- package/Sources/Runic/Controllers/StatusItemController+ChartSubmenus.swift +0 -824
- package/Sources/Runic/Controllers/StatusItemController+CustomProviders.swift +0 -90
- package/Sources/Runic/Controllers/StatusItemController+Menu.swift +0 -1412
- package/Sources/Runic/Controllers/StatusItemController+MenuCards.swift +0 -339
- package/Sources/Runic/Controllers/StatusItemController+MenuHelpers.swift +0 -423
- package/Sources/Runic/Controllers/StatusItemController.swift +0 -360
- package/Sources/Runic/Core/BudgetNotificationManager.swift +0 -81
- package/Sources/Runic/Core/Login/ClaudeLoginRunner.swift +0 -103
- package/Sources/Runic/Core/Login/CodexLoginRunner.swift +0 -154
- package/Sources/Runic/Core/Login/CursorLoginRunner.swift +0 -206
- package/Sources/Runic/Core/Login/GeminiLoginRunner.swift +0 -92
- package/Sources/Runic/Core/Rendering/IconRenderer.swift +0 -1222
- package/Sources/Runic/Core/Rendering/IconView.swift +0 -122
- package/Sources/Runic/Core/Rendering/ProviderBrandIcon.swift +0 -71
- package/Sources/Runic/Core/RunicAnimation.swift +0 -53
- package/Sources/Runic/Core/RunicColors.swift +0 -73
- package/Sources/Runic/Core/RunicCornerRadius.swift +0 -15
- package/Sources/Runic/Core/RunicSpacing.swift +0 -68
- package/Sources/Runic/Core/RunicTypography.swift +0 -206
- package/Sources/Runic/Core/Stores/AuggieTokenStore.swift +0 -117
- package/Sources/Runic/Core/Stores/AzureOpenAITokenStore.swift +0 -117
- package/Sources/Runic/Core/Stores/CerebrasTokenStore.swift +0 -117
- package/Sources/Runic/Core/Stores/CohereTokenStore.swift +0 -117
- package/Sources/Runic/Core/Stores/CopilotTokenStore.swift +0 -117
- package/Sources/Runic/Core/Stores/CustomProviderStore.swift +0 -158
- package/Sources/Runic/Core/Stores/DeepSeekTokenStore.swift +0 -117
- package/Sources/Runic/Core/Stores/FireworksTokenStore.swift +0 -117
- package/Sources/Runic/Core/Stores/GroqTokenStore.swift +0 -117
- package/Sources/Runic/Core/Stores/KimiTokenStore.swift +0 -117
- package/Sources/Runic/Core/Stores/MiniMaxCookieHeaderStore.swift +0 -117
- package/Sources/Runic/Core/Stores/MiniMaxGroupIDStore.swift +0 -117
- package/Sources/Runic/Core/Stores/MiniMaxTokenStore.swift +0 -117
- package/Sources/Runic/Core/Stores/MistralTokenStore.swift +0 -117
- package/Sources/Runic/Core/Stores/OpenRouterTokenStore.swift +0 -117
- package/Sources/Runic/Core/Stores/PerplexityTokenStore.swift +0 -117
- package/Sources/Runic/Core/Stores/ProviderToggleStore.swift +0 -30
- package/Sources/Runic/Core/Stores/QwenTokenStore.swift +0 -117
- package/Sources/Runic/Core/Stores/SambaNovaTokenStore.swift +0 -117
- package/Sources/Runic/Core/Stores/SettingsStore.swift +0 -1749
- package/Sources/Runic/Core/Stores/TogetherTokenStore.swift +0 -117
- package/Sources/Runic/Core/Stores/UsageStore+Accessors.swift +0 -33
- package/Sources/Runic/Core/Stores/UsageStore+Status.swift +0 -189
- package/Sources/Runic/Core/Stores/UsageStore+TokenCost.swift +0 -33
- package/Sources/Runic/Core/Stores/UsageStore+WidgetSnapshot.swift +0 -67
- package/Sources/Runic/Core/Stores/UsageStore.swift +0 -3631
- package/Sources/Runic/Core/Stores/XAITokenStore.swift +0 -117
- package/Sources/Runic/Core/Stores/ZaiTokenStore.swift +0 -117
- package/Sources/Runic/Core/UsageExporter.swift +0 -197
- package/Sources/Runic/Date+RelativeDescription.swift +0 -21
- package/Sources/Runic/HiddenWindowView.swift +0 -32
- package/Sources/Runic/InstallOrigin.swift +0 -9
- package/Sources/Runic/KeyboardShortcuts+Names.swift +0 -6
- package/Sources/Runic/MouseLocationReader.swift +0 -65
- package/Sources/Runic/Notifications+Runic.swift +0 -6
- package/Sources/Runic/OpenAICreditsPurchaseWindowController.swift +0 -503
- package/Sources/Runic/ProviderRegistry.swift +0 -100
- package/Sources/Runic/ProviderSwitcherButtons.swift +0 -267
- package/Sources/Runic/Providers/Antigravity/AntigravityLoginFlow.swift +0 -11
- package/Sources/Runic/Providers/Antigravity/AntigravityProviderImplementation.swift +0 -14
- package/Sources/Runic/Providers/Auggie/AuggieProviderImplementation.swift +0 -24
- package/Sources/Runic/Providers/Azure/AzureProviderImplementation.swift +0 -52
- package/Sources/Runic/Providers/Bedrock/BedrockProviderImplementation.swift +0 -42
- package/Sources/Runic/Providers/Cerebras/CerebrasProviderImplementation.swift +0 -24
- package/Sources/Runic/Providers/Claude/ClaudeLoginFlow.swift +0 -26
- package/Sources/Runic/Providers/Claude/ClaudeProviderImplementation.swift +0 -14
- package/Sources/Runic/Providers/Codex/CodexLoginFlow.swift +0 -18
- package/Sources/Runic/Providers/Codex/CodexProviderImplementation.swift +0 -15
- package/Sources/Runic/Providers/Cohere/CohereProviderImplementation.swift +0 -24
- package/Sources/Runic/Providers/Copilot/CopilotLoginFlow.swift +0 -193
- package/Sources/Runic/Providers/Copilot/CopilotProviderImplementation.swift +0 -110
- package/Sources/Runic/Providers/Cursor/CursorLoginFlow.swift +0 -28
- package/Sources/Runic/Providers/Cursor/CursorProviderImplementation.swift +0 -15
- package/Sources/Runic/Providers/DeepSeek/DeepSeekProviderImplementation.swift +0 -24
- package/Sources/Runic/Providers/Factory/FactoryLoginFlow.swift +0 -12
- package/Sources/Runic/Providers/Factory/FactoryProviderImplementation.swift +0 -15
- package/Sources/Runic/Providers/Fireworks/FireworksProviderImplementation.swift +0 -24
- package/Sources/Runic/Providers/Gemini/GeminiLoginFlow.swift +0 -20
- package/Sources/Runic/Providers/Gemini/GeminiProviderImplementation.swift +0 -15
- package/Sources/Runic/Providers/Groq/GroqProviderImplementation.swift +0 -24
- package/Sources/Runic/Providers/Kimi/KimiProviderImplementation.swift +0 -24
- package/Sources/Runic/Providers/MiniMax/MiniMaxProviderImplementation.swift +0 -32
- package/Sources/Runic/Providers/Mistral/MistralProviderImplementation.swift +0 -24
- package/Sources/Runic/Providers/OpenRouter/OpenRouterProviderImplementation.swift +0 -24
- package/Sources/Runic/Providers/Perplexity/PerplexityProviderImplementation.swift +0 -24
- package/Sources/Runic/Providers/SambaNova/SambaNovaProviderImplementation.swift +0 -24
- package/Sources/Runic/Providers/Shared/ProviderCatalog.swift +0 -15
- package/Sources/Runic/Providers/Shared/ProviderImplementation.swift +0 -51
- package/Sources/Runic/Providers/Shared/ProviderImplementationRegistry.swift +0 -66
- package/Sources/Runic/Providers/Shared/ProviderLoginFlow.swift +0 -12
- package/Sources/Runic/Providers/Shared/ProviderSettingsDescriptors.swift +0 -99
- package/Sources/Runic/Providers/Shared/SystemSettingsLinks.swift +0 -18
- package/Sources/Runic/Providers/Together/TogetherProviderImplementation.swift +0 -24
- package/Sources/Runic/Providers/XAI/XAIProviderImplementation.swift +0 -24
- package/Sources/Runic/Providers/Zai/ZaiProviderImplementation.swift +0 -24
- package/Sources/Runic/Resources/Fonts/Caveat-Bold.ttf +0 -0
- package/Sources/Runic/Resources/Fonts/Caveat-Regular.ttf +0 -0
- package/Sources/Runic/Resources/Fonts/FiraCode-Bold.ttf +0 -0
- package/Sources/Runic/Resources/Fonts/FiraCode-Light.ttf +0 -0
- package/Sources/Runic/Resources/Fonts/FiraCode-Medium.ttf +0 -0
- package/Sources/Runic/Resources/Fonts/FiraCode-Regular.ttf +0 -0
- package/Sources/Runic/Resources/Fonts/FiraCode-SemiBold.ttf +0 -0
- package/Sources/Runic/Resources/Fonts/IBMPlexMono-Bold.ttf +0 -0
- package/Sources/Runic/Resources/Fonts/IBMPlexMono-Medium.ttf +0 -0
- package/Sources/Runic/Resources/Fonts/IBMPlexMono-Regular.ttf +0 -0
- package/Sources/Runic/Resources/Fonts/IBMPlexMono-SemiBold.ttf +0 -0
- package/Sources/Runic/Resources/Fonts/Inconsolata-Bold.ttf +0 -0
- package/Sources/Runic/Resources/Fonts/Inconsolata-Medium.ttf +0 -0
- package/Sources/Runic/Resources/Fonts/Inconsolata-Regular.ttf +0 -0
- package/Sources/Runic/Resources/Fonts/Inconsolata-SemiBold.ttf +0 -0
- package/Sources/Runic/Resources/Fonts/JetBrainsMono-Bold.ttf +0 -0
- package/Sources/Runic/Resources/Fonts/JetBrainsMono-Medium.ttf +0 -0
- package/Sources/Runic/Resources/Fonts/JetBrainsMono-Regular.ttf +0 -0
- package/Sources/Runic/Resources/Fonts/JetBrainsMono-SemiBold.ttf +0 -0
- package/Sources/Runic/Resources/Fonts/SpaceMono-Bold.ttf +0 -0
- package/Sources/Runic/Resources/Fonts/SpaceMono-Regular.ttf +0 -0
- package/Sources/Runic/Resources/ProviderIcon-antigravity.svg +0 -2
- package/Sources/Runic/Resources/ProviderIcon-auggie.svg +0 -3
- package/Sources/Runic/Resources/ProviderIcon-azure.svg +0 -5
- package/Sources/Runic/Resources/ProviderIcon-bedrock.svg +0 -7
- package/Sources/Runic/Resources/ProviderIcon-cerebras.svg +0 -3
- package/Sources/Runic/Resources/ProviderIcon-claude.svg +0 -1
- package/Sources/Runic/Resources/ProviderIcon-codex.svg +0 -1
- package/Sources/Runic/Resources/ProviderIcon-cohere.svg +0 -3
- package/Sources/Runic/Resources/ProviderIcon-copilot.svg +0 -1
- package/Sources/Runic/Resources/ProviderIcon-cursor.svg +0 -3
- package/Sources/Runic/Resources/ProviderIcon-deepseek.svg +0 -4
- package/Sources/Runic/Resources/ProviderIcon-factory.svg +0 -3
- package/Sources/Runic/Resources/ProviderIcon-fireworks.svg +0 -3
- package/Sources/Runic/Resources/ProviderIcon-gemini.svg +0 -1
- package/Sources/Runic/Resources/ProviderIcon-groq.svg +0 -1
- package/Sources/Runic/Resources/ProviderIcon-kimi.svg +0 -4
- package/Sources/Runic/Resources/ProviderIcon-minimax.svg +0 -1
- package/Sources/Runic/Resources/ProviderIcon-mistral.svg +0 -5
- package/Sources/Runic/Resources/ProviderIcon-openrouter.svg +0 -7
- package/Sources/Runic/Resources/ProviderIcon-perplexity.svg +0 -4
- package/Sources/Runic/Resources/ProviderIcon-qwen.svg +0 -9
- package/Sources/Runic/Resources/ProviderIcon-sambanova.svg +0 -4
- package/Sources/Runic/Resources/ProviderIcon-together.svg +0 -5
- package/Sources/Runic/Resources/ProviderIcon-vertexai.svg +0 -17
- package/Sources/Runic/Resources/ProviderIcon-xai.svg +0 -3
- package/Sources/Runic/Resources/ProviderIcon-zai.svg +0 -5
- package/Sources/Runic/Resources/RunicMenubarIcon.svg +0 -7
- package/Sources/Runic/Resources/provider-context-windows.json +0 -20
- package/Sources/Runic/RunicApp.swift +0 -367
- package/Sources/Runic/SessionQuotaNotifications.swift +0 -58
- package/Sources/Runic/UsagePaceText.swift +0 -52
- package/Sources/Runic/UsageProgressBar.swift +0 -228
- package/Sources/Runic/Utilities/DisplayLink.swift +0 -96
- package/Sources/Runic/Utilities/LoadingPattern.swift +0 -62
- package/Sources/Runic/Utilities/PerformanceConstants.swift +0 -85
- package/Sources/Runic/Views/Menu/AlertsMenuView.swift +0 -254
- package/Sources/Runic/Views/Menu/ChartPanelStyle.swift +0 -22
- package/Sources/Runic/Views/Menu/CostComparativeChartMenuView.swift +0 -275
- package/Sources/Runic/Views/Menu/CostHistoryChartMenuView.swift +0 -377
- package/Sources/Runic/Views/Menu/CreditsHistoryChartMenuView.swift +0 -312
- package/Sources/Runic/Views/Menu/EfficiencyMetricsMenuView.swift +0 -311
- package/Sources/Runic/Views/Menu/HeroStatCardsMenuView.swift +0 -231
- package/Sources/Runic/Views/Menu/HourlyActivityChartMenuView.swift +0 -228
- package/Sources/Runic/Views/Menu/InlineUsageChartView.swift +0 -157
- package/Sources/Runic/Views/Menu/MenuCardEntranceModifier.swift +0 -63
- package/Sources/Runic/Views/Menu/MenuCardSidebarView.swift +0 -248
- package/Sources/Runic/Views/Menu/MenuCardSkeletonView.swift +0 -104
- package/Sources/Runic/Views/Menu/MenuCardView.swift +0 -1889
- package/Sources/Runic/Views/Menu/MenuContent.swift +0 -153
- package/Sources/Runic/Views/Menu/MenuDescriptor.swift +0 -371
- package/Sources/Runic/Views/Menu/MenuHighlightStyle.swift +0 -35
- package/Sources/Runic/Views/Menu/ModelBreakdownMenuView.swift +0 -241
- package/Sources/Runic/Views/Menu/OverviewMenuView.swift +0 -281
- package/Sources/Runic/Views/Menu/ProjectBreakdownMenuView.swift +0 -214
- package/Sources/Runic/Views/Menu/ProjectBudgetMenuView.swift +0 -220
- package/Sources/Runic/Views/Menu/ProviderTabBarView.swift +0 -86
- package/Sources/Runic/Views/Menu/SubscriptionUtilizationChartMenuView.swift +0 -214
- package/Sources/Runic/Views/Menu/UsageBreakdownChartMenuView.swift +0 -398
- package/Sources/Runic/Views/Menu/UsageHeatmapMenuView.swift +0 -231
- package/Sources/Runic/Views/Menu/UsageTimelineChartMenuView.swift +0 -369
- package/Sources/Runic/Views/Menu/UsageWindowComparisonChartMenuView.swift +0 -191
- package/Sources/Runic/Views/Menu/WeeklyActivityChartMenuView.swift +0 -132
- package/Sources/Runic/Views/Performance/PerformanceDashboardView.swift +0 -621
- package/Sources/Runic/Views/Preferences/LiquidComponents.swift +0 -306
- package/Sources/Runic/Views/Preferences/PreferencesAboutPane.swift +0 -271
- package/Sources/Runic/Views/Preferences/PreferencesAdvancedPane.swift +0 -268
- package/Sources/Runic/Views/Preferences/PreferencesAlertsPane.swift +0 -418
- package/Sources/Runic/Views/Preferences/PreferencesAnalyticsPane.swift +0 -637
- package/Sources/Runic/Views/Preferences/PreferencesBudgetsPane.swift +0 -344
- package/Sources/Runic/Views/Preferences/PreferencesComponents.swift +0 -230
- package/Sources/Runic/Views/Preferences/PreferencesCustomProvidersPane.swift +0 -321
- package/Sources/Runic/Views/Preferences/PreferencesDebugPane.swift +0 -469
- package/Sources/Runic/Views/Preferences/PreferencesGeneralPane.swift +0 -250
- package/Sources/Runic/Views/Preferences/PreferencesHelpPane.swift +0 -50
- package/Sources/Runic/Views/Preferences/PreferencesIntegrationsPane.swift +0 -572
- package/Sources/Runic/Views/Preferences/PreferencesPerformancePane.swift +0 -291
- package/Sources/Runic/Views/Preferences/PreferencesProvidersPane.swift +0 -3480
- package/Sources/Runic/Views/Preferences/PreferencesSelection.swift +0 -29
- package/Sources/Runic/Views/Preferences/PreferencesSyncPane.swift +0 -61
- package/Sources/Runic/Views/Preferences/PreferencesView.swift +0 -213
- package/Sources/Runic/Views/Rating/QualityRatingView.swift +0 -238
- package/Sources/Runic/Views/Team/TeamDashboardView.swift +0 -376
- package/Sources/Runic/Views/Team/TeamInviteSheet.swift +0 -175
- package/Sources/Runic/Views/Team/TeamManagementView.swift +0 -762
- package/Sources/Runic/Views/Team/TeamMemberRow.swift +0 -181
- package/Sources/RunicCLI/CLIEntry.swift +0 -983
- package/Sources/RunicCLI/CLIRenderer.swift +0 -87
- package/Sources/RunicCLI/Commands/EnhancedUsageCommand.swift +0 -588
- package/Sources/RunicCLI/Commands/ModelsCommand.swift +0 -363
- package/Sources/RunicCLI/Commands/ProjectsCommand.swift +0 -453
- package/Sources/RunicCLI/Commands/ResetCommand.swift +0 -430
- package/Sources/RunicCLI/Commands/UsageLedgerSourceFactory.swift +0 -167
- package/Sources/RunicClaudeWatchdog/main.swift +0 -122
- package/Sources/RunicClaudeWebProbe/main.swift +0 -62
- package/Sources/RunicCore/AlertRuleStore.swift +0 -187
- package/Sources/RunicCore/BrowserCookieImportOrder.swift +0 -25
- package/Sources/RunicCore/CopilotUsageModels.swift +0 -84
- package/Sources/RunicCore/CostUsageFetcher.swift +0 -119
- package/Sources/RunicCore/CostUsageModels.swift +0 -479
- package/Sources/RunicCore/CreditsModels.swift +0 -50
- package/Sources/RunicCore/CustomProviders/CustomProviderModels.swift +0 -268
- package/Sources/RunicCore/CustomProviders/GenericProviderFetcher.swift +0 -631
- package/Sources/RunicCore/CustomProviders/ProviderTemplates.swift +0 -444
- package/Sources/RunicCore/Host/PTY/TTYCommandRunner.swift +0 -679
- package/Sources/RunicCore/Host/Process/SubprocessRunner.swift +0 -135
- package/Sources/RunicCore/Integrations/GitHubIntegration.swift +0 -173
- package/Sources/RunicCore/Logging/JSONStderrLogHandler.swift +0 -79
- package/Sources/RunicCore/Logging/OSLogLogHandler.swift +0 -86
- package/Sources/RunicCore/Logging/RunicLog.swift +0 -123
- package/Sources/RunicCore/Models/EnhancedUsageModels.swift +0 -370
- package/Sources/RunicCore/OpenAIDashboardModels.swift +0 -210
- package/Sources/RunicCore/OpenAIWeb/OpenAIDashboardBrowserCookieImporter.swift +0 -676
- package/Sources/RunicCore/OpenAIWeb/OpenAIDashboardFetcher.swift +0 -492
- package/Sources/RunicCore/OpenAIWeb/OpenAIDashboardNavigationDelegate.swift +0 -51
- package/Sources/RunicCore/OpenAIWeb/OpenAIDashboardParser.swift +0 -483
- package/Sources/RunicCore/OpenAIWeb/OpenAIDashboardScrapeScript.swift +0 -558
- package/Sources/RunicCore/OpenAIWeb/OpenAIDashboardWebViewCache.swift +0 -204
- package/Sources/RunicCore/OpenAIWeb/OpenAIDashboardWebsiteDataStore.swift +0 -78
- package/Sources/RunicCore/PathEnvironment.swift +0 -482
- package/Sources/RunicCore/Performance/PerformanceModels.swift +0 -371
- package/Sources/RunicCore/Performance/PerformanceStorageImpl.swift +0 -426
- package/Sources/RunicCore/Policy/UsagePolicyEngine.swift +0 -178
- package/Sources/RunicCore/ProjectBudgetStore.swift +0 -102
- package/Sources/RunicCore/ProviderCostSnapshot.swift +0 -29
- package/Sources/RunicCore/Providers/Antigravity/AntigravityProviderDescriptor.swift +0 -68
- package/Sources/RunicCore/Providers/Antigravity/AntigravityStatusProbe.swift +0 -685
- package/Sources/RunicCore/Providers/Auggie/AuggieProviderDescriptor.swift +0 -83
- package/Sources/RunicCore/Providers/Auggie/AuggieUsageFetcher.swift +0 -142
- package/Sources/RunicCore/Providers/Azure/AzureProviderDescriptor.swift +0 -141
- package/Sources/RunicCore/Providers/Azure/AzureUsageFetcher.swift +0 -188
- package/Sources/RunicCore/Providers/Bedrock/BedrockProviderDescriptor.swift +0 -126
- package/Sources/RunicCore/Providers/Bedrock/BedrockUsageFetcher.swift +0 -164
- package/Sources/RunicCore/Providers/Cerebras/CerebrasProviderDescriptor.swift +0 -84
- package/Sources/RunicCore/Providers/Cerebras/CerebrasUsageFetcher.swift +0 -75
- package/Sources/RunicCore/Providers/Claude/ClaudeCLISession.swift +0 -332
- package/Sources/RunicCore/Providers/Claude/ClaudeOAuth/ClaudeOAuthCredentials.swift +0 -180
- package/Sources/RunicCore/Providers/Claude/ClaudeOAuth/ClaudeOAuthUsageFetcher.swift +0 -137
- package/Sources/RunicCore/Providers/Claude/ClaudeProviderDescriptor.swift +0 -209
- package/Sources/RunicCore/Providers/Claude/ClaudeStatusProbe.swift +0 -654
- package/Sources/RunicCore/Providers/Claude/ClaudeUsageDataSource.swift +0 -30
- package/Sources/RunicCore/Providers/Claude/ClaudeUsageFetcher.swift +0 -480
- package/Sources/RunicCore/Providers/Claude/ClaudeWeb/ClaudeWebAPIFetcher.swift +0 -780
- package/Sources/RunicCore/Providers/Codex/CodexOAuth/CodexOAuthCredentials.swift +0 -147
- package/Sources/RunicCore/Providers/Codex/CodexOAuth/CodexOAuthUsageFetcher.swift +0 -280
- package/Sources/RunicCore/Providers/Codex/CodexOAuth/CodexTokenRefresher.swift +0 -100
- package/Sources/RunicCore/Providers/Codex/CodexProviderDescriptor.swift +0 -245
- package/Sources/RunicCore/Providers/Codex/CodexStatusProbe.swift +0 -125
- package/Sources/RunicCore/Providers/Codex/CodexUsageDataSource.swift +0 -26
- package/Sources/RunicCore/Providers/Codex/CodexWebDashboardStrategy.swift +0 -183
- package/Sources/RunicCore/Providers/Cohere/CohereProviderDescriptor.swift +0 -83
- package/Sources/RunicCore/Providers/Cohere/CohereUsageFetcher.swift +0 -85
- package/Sources/RunicCore/Providers/Copilot/CopilotDeviceFlow.swift +0 -123
- package/Sources/RunicCore/Providers/Copilot/CopilotGitHubCLITokenReader.swift +0 -117
- package/Sources/RunicCore/Providers/Copilot/CopilotProviderDescriptor.swift +0 -100
- package/Sources/RunicCore/Providers/Copilot/CopilotUsageFetcher.swift +0 -293
- package/Sources/RunicCore/Providers/Copilot/CopilotVSCodeTokenReader.swift +0 -385
- package/Sources/RunicCore/Providers/Cursor/CursorProviderDescriptor.swift +0 -67
- package/Sources/RunicCore/Providers/Cursor/CursorStatusProbe.swift +0 -595
- package/Sources/RunicCore/Providers/DeepSeek/DeepSeekProviderDescriptor.swift +0 -85
- package/Sources/RunicCore/Providers/DeepSeek/DeepSeekUsageFetcher.swift +0 -108
- package/Sources/RunicCore/Providers/Factory/FactoryLocalStorageImporter.swift +0 -398
- package/Sources/RunicCore/Providers/Factory/FactoryProviderDescriptor.swift +0 -67
- package/Sources/RunicCore/Providers/Factory/FactoryStatusProbe.swift +0 -1276
- package/Sources/RunicCore/Providers/Fireworks/FireworksProviderDescriptor.swift +0 -84
- package/Sources/RunicCore/Providers/Fireworks/FireworksUsageFetcher.swift +0 -75
- package/Sources/RunicCore/Providers/Gemini/GeminiProviderDescriptor.swift +0 -67
- package/Sources/RunicCore/Providers/Gemini/GeminiStatusProbe.swift +0 -839
- package/Sources/RunicCore/Providers/Groq/GroqProviderDescriptor.swift +0 -83
- package/Sources/RunicCore/Providers/Groq/GroqUsageFetcher.swift +0 -71
- package/Sources/RunicCore/Providers/Kimi/KimiProviderDescriptor.swift +0 -83
- package/Sources/RunicCore/Providers/Kimi/KimiUsageFetcher.swift +0 -77
- package/Sources/RunicCore/Providers/MiniMax/MiniMaxProviderDescriptor.swift +0 -97
- package/Sources/RunicCore/Providers/MiniMax/MiniMaxSettingsReader.swift +0 -54
- package/Sources/RunicCore/Providers/MiniMax/MiniMaxUsageFetcher.swift +0 -168
- package/Sources/RunicCore/Providers/MiniMax/MiniMaxWebUsageFetcher.swift +0 -911
- package/Sources/RunicCore/Providers/Mistral/MistralProviderDescriptor.swift +0 -84
- package/Sources/RunicCore/Providers/Mistral/MistralUsageFetcher.swift +0 -75
- package/Sources/RunicCore/Providers/OpenRouter/OpenRouterProviderDescriptor.swift +0 -87
- package/Sources/RunicCore/Providers/OpenRouter/OpenRouterUsageFetcher.swift +0 -216
- package/Sources/RunicCore/Providers/Perplexity/PerplexityProviderDescriptor.swift +0 -84
- package/Sources/RunicCore/Providers/Perplexity/PerplexityUsageFetcher.swift +0 -75
- package/Sources/RunicCore/Providers/ProviderBranding.swift +0 -25
- package/Sources/RunicCore/Providers/ProviderCLIConfig.swift +0 -17
- package/Sources/RunicCore/Providers/ProviderDescriptor.swift +0 -129
- package/Sources/RunicCore/Providers/ProviderFetchPlan.swift +0 -263
- package/Sources/RunicCore/Providers/ProviderSettingsSnapshot.swift +0 -98
- package/Sources/RunicCore/Providers/ProviderTokenResolver.swift +0 -501
- package/Sources/RunicCore/Providers/ProviderVersionDetector.swift +0 -68
- package/Sources/RunicCore/Providers/Providers.swift +0 -184
- package/Sources/RunicCore/Providers/Qwen/QwenProviderDescriptor.swift +0 -86
- package/Sources/RunicCore/Providers/Qwen/QwenSettingsReader.swift +0 -30
- package/Sources/RunicCore/Providers/Qwen/QwenUsageStats.swift +0 -328
- package/Sources/RunicCore/Providers/SambaNova/SambaNovaProviderDescriptor.swift +0 -84
- package/Sources/RunicCore/Providers/SambaNova/SambaNovaUsageFetcher.swift +0 -75
- package/Sources/RunicCore/Providers/Together/TogetherProviderDescriptor.swift +0 -83
- package/Sources/RunicCore/Providers/Together/TogetherUsageFetcher.swift +0 -75
- package/Sources/RunicCore/Providers/VertexAI/VertexAIProviderDescriptor.swift +0 -123
- package/Sources/RunicCore/Providers/VertexAI/VertexAISettingsReader.swift +0 -48
- package/Sources/RunicCore/Providers/VertexAI/VertexAIUsageFetcher.swift +0 -144
- package/Sources/RunicCore/Providers/XAI/XAIProviderDescriptor.swift +0 -83
- package/Sources/RunicCore/Providers/XAI/XAIUsageFetcher.swift +0 -75
- package/Sources/RunicCore/Providers/Zai/ZaiProviderDescriptor.swift +0 -74
- package/Sources/RunicCore/Providers/Zai/ZaiSettingsReader.swift +0 -41
- package/Sources/RunicCore/Providers/Zai/ZaiUsageStats.swift +0 -745
- package/Sources/RunicCore/Sync/BackgroundSyncManager.swift +0 -384
- package/Sources/RunicCore/Sync/SyncConflictResolver.swift +0 -307
- package/Sources/RunicCore/Sync/SyncProtocol.swift +0 -287
- package/Sources/RunicCore/Sync/SyncRecord.swift +0 -402
- package/Sources/RunicCore/Sync/SyncUsageExample.swift +0 -288
- package/Sources/RunicCore/Sync/TeamSyncRecords.swift +0 -768
- package/Sources/RunicCore/Sync/iCloudSyncEngine.swift +0 -338
- package/Sources/RunicCore/Team/TeamModels.swift +0 -584
- package/Sources/RunicCore/Team/TeamShowbackExporter.swift +0 -495
- package/Sources/RunicCore/Team/TeamStore.swift +0 -809
- package/Sources/RunicCore/TextParsing.swift +0 -55
- package/Sources/RunicCore/UsageFetcher.swift +0 -694
- package/Sources/RunicCore/UsageFormatter.swift +0 -410
- package/Sources/RunicCore/UsageLedger/ClaudeUsageLogSource.swift +0 -441
- package/Sources/RunicCore/UsageLedger/CodexUsageLogSource.swift +0 -502
- package/Sources/RunicCore/UsageLedger/LedgerCache.swift +0 -161
- package/Sources/RunicCore/UsageLedger/OTelGenAILedgerAdapter.swift +0 -550
- package/Sources/RunicCore/UsageLedger/UsageLedger.swift +0 -29
- package/Sources/RunicCore/UsageLedger/UsageLedgerAggregator.swift +0 -675
- package/Sources/RunicCore/UsageLedger/UsageLedgerInsightsAdvisor.swift +0 -209
- package/Sources/RunicCore/UsageLedger/UsageLedgerModels.swift +0 -417
- package/Sources/RunicCore/UsageLedger/UsageLedgerProjectIdentity.swift +0 -284
- package/Sources/RunicCore/UsagePace.swift +0 -81
- package/Sources/RunicCore/Vendored/CostUsage/CostUsageCache.swift +0 -73
- package/Sources/RunicCore/Vendored/CostUsage/CostUsageJsonl.swift +0 -74
- package/Sources/RunicCore/Vendored/CostUsage/CostUsagePricing.swift +0 -208
- package/Sources/RunicCore/Vendored/CostUsage/CostUsageScanner+Claude.swift +0 -455
- package/Sources/RunicCore/Vendored/CostUsage/CostUsageScanner+Timestamp.swift +0 -132
- package/Sources/RunicCore/Vendored/CostUsage/CostUsageScanner.swift +0 -589
- package/Sources/RunicCore/WidgetSnapshot.swift +0 -183
- package/Sources/RunicMacroSupport/ProviderRegistrationMacros.swift +0 -14
- package/Sources/RunicMacros/ProviderRegistrationMacros.swift +0 -216
- package/Sources/RunicWidget/RunicWidgetBundle.swift +0 -79
- package/Sources/RunicWidget/RunicWidgetProvider.swift +0 -283
- package/Sources/RunicWidget/RunicWidgetViews.swift +0 -680
- package/Tests/RunicTests/AntigravityStatusProbeTests.swift +0 -50
- package/Tests/RunicTests/AppDelegateTests.swift +0 -48
- package/Tests/RunicTests/BrowserCookieOrderLabelTests.swift +0 -21
- package/Tests/RunicTests/CLIArgumentParsingTests.swift +0 -69
- package/Tests/RunicTests/CLICostTests.swift +0 -64
- package/Tests/RunicTests/CLIProviderSelectionTests.swift +0 -21
- package/Tests/RunicTests/CLISnapshotTests.swift +0 -71
- package/Tests/RunicTests/CLIWebFallbackTests.swift +0 -57
- package/Tests/RunicTests/ClaudeOAuthTests.swift +0 -163
- package/Tests/RunicTests/ClaudeResilienceTests.swift +0 -29
- package/Tests/RunicTests/ClaudeUsageTests.swift +0 -369
- package/Tests/RunicTests/CodexOAuthTests.swift +0 -121
- package/Tests/RunicTests/CodexUsageLogSourceTests.swift +0 -80
- package/Tests/RunicTests/CopilotTokenResolverTests.swift +0 -74
- package/Tests/RunicTests/CopilotVSCodeTokenReaderTests.swift +0 -74
- package/Tests/RunicTests/CostUsageDecodingTests.swift +0 -392
- package/Tests/RunicTests/CostUsagePricingTests.swift +0 -48
- package/Tests/RunicTests/CostUsageScannerTests.swift +0 -698
- package/Tests/RunicTests/CursorStatusProbeTests.swift +0 -322
- package/Tests/RunicTests/FactoryStatusProbeTests.swift +0 -67
- package/Tests/RunicTests/GeminiAPITestHelpers.swift +0 -94
- package/Tests/RunicTests/GeminiLoginAlertTests.swift +0 -27
- package/Tests/RunicTests/GeminiStatusProbeAPITests.swift +0 -283
- package/Tests/RunicTests/GeminiStatusProbePlanTests.swift +0 -279
- package/Tests/RunicTests/GeminiStatusProbeTests.swift +0 -232
- package/Tests/RunicTests/GeminiTestEnvironment.swift +0 -87
- package/Tests/RunicTests/GoogleWorkspaceStatusTests.swift +0 -72
- package/Tests/RunicTests/InstallOriginTests.swift +0 -17
- package/Tests/RunicTests/KeyboardShortcutsBundleTests.swift +0 -9
- package/Tests/RunicTests/LiveAccountTests.swift +0 -24
- package/Tests/RunicTests/LoadingPatternTests.swift +0 -34
- package/Tests/RunicTests/MenuCardModelTests.swift +0 -544
- package/Tests/RunicTests/MiniMaxCookieHeaderStoreTestSupport.swift +0 -11
- package/Tests/RunicTests/MiniMaxGroupIDStoreTestSupport.swift +0 -11
- package/Tests/RunicTests/MiniMaxParsingTests.swift +0 -67
- package/Tests/RunicTests/MiniMaxTokenStoreTestSupport.swift +0 -11
- package/Tests/RunicTests/OTelGenAILedgerAdapterTests.swift +0 -110
- package/Tests/RunicTests/OpenAIDashboardBrowserCookieImporterTests.swift +0 -16
- package/Tests/RunicTests/OpenAIDashboardFetcherCreditsWaitTests.swift +0 -74
- package/Tests/RunicTests/OpenAIDashboardOffscreenHostTests.swift +0 -26
- package/Tests/RunicTests/OpenAIDashboardParserTests.swift +0 -133
- package/Tests/RunicTests/OpenAIWebAccountSwitchTests.swift +0 -64
- package/Tests/RunicTests/OpenRouterTokenStoreTestSupport.swift +0 -131
- package/Tests/RunicTests/PathBuilderTests.swift +0 -236
- package/Tests/RunicTests/ProviderFetchPipelineTests.swift +0 -159
- package/Tests/RunicTests/ProviderIconResourcesTests.swift +0 -37
- package/Tests/RunicTests/ProviderMetadataStatusLinkTests.swift +0 -15
- package/Tests/RunicTests/ProviderRegistryTests.swift +0 -29
- package/Tests/RunicTests/ProviderSettingsDescriptorTests.swift +0 -236
- package/Tests/RunicTests/ProviderToggleStoreTests.swift +0 -50
- package/Tests/RunicTests/RunicTests.swift +0 -119
- package/Tests/RunicTests/SessionQuotaNotificationLogicTests.swift +0 -35
- package/Tests/RunicTests/SettingsStoreTests.swift +0 -265
- package/Tests/RunicTests/StatusItemAnimationTests.swift +0 -54
- package/Tests/RunicTests/StatusMenuTests.swift +0 -475
- package/Tests/RunicTests/StatusProbeTests.swift +0 -376
- package/Tests/RunicTests/SubprocessRunnerTests.swift +0 -18
- package/Tests/RunicTests/SubscriptionDetectionTests.swift +0 -64
- package/Tests/RunicTests/TTYCommandRunnerTests.swift +0 -147
- package/Tests/RunicTests/TTYIntegrationTests.swift +0 -41
- package/Tests/RunicTests/TeamShowbackExporterTests.swift +0 -157
- package/Tests/RunicTests/TextParsingTests.swift +0 -11
- package/Tests/RunicTests/UsageFormatterTests.swift +0 -111
- package/Tests/RunicTests/UsageLedgerAnomalyDetectionTests.swift +0 -170
- package/Tests/RunicTests/UsageLedgerForecastTests.swift +0 -211
- package/Tests/RunicTests/UsageLedgerInsightsAdvisorTests.swift +0 -81
- package/Tests/RunicTests/UsageLedgerProjectNameTests.swift +0 -168
- package/Tests/RunicTests/UsagePaceTests.swift +0 -76
- package/Tests/RunicTests/UsagePaceTextTests.swift +0 -108
- package/Tests/RunicTests/UsagePolicyEngineTests.swift +0 -89
- package/Tests/RunicTests/WidgetSnapshotTests.swift +0 -43
- package/Tests/RunicTests/ZaiProviderTests.swift +0 -59
- package/Tests/RunicTests/ZaiTokenStoreTestSupport.swift +0 -9
- package/TestsLinux/PlatformGatingTests.swift +0 -46
- package/appcast.xml +0 -104
- package/assets/logo-concept-stack.svg +0 -24
- package/assets/logo-minimal-bars.svg +0 -15
- package/assets/logo.svg +0 -20
- package/assets/logo2.svg +0 -43
- package/bin/docs-list +0 -5
- package/build-and-run.sh +0 -369
- package/docs/.nojekyll +0 -1
- package/docs/CNAME +0 -1
- package/docs/antigravity.md +0 -75
- package/docs/architecture.md +0 -32
- package/docs/claude.md +0 -93
- package/docs/cli-commands/integration_guide.md +0 -371
- package/docs/cli-commands/quick_reference.md +0 -362
- package/docs/cli-commands/readme.md +0 -361
- package/docs/cli.md +0 -156
- package/docs/cloudkit_sync_guide.md +0 -495
- package/docs/codebase_review.md +0 -288
- package/docs/codex-oauth.md +0 -635
- package/docs/codex.md +0 -104
- package/docs/codexbar.png +0 -0
- package/docs/copilot.md +0 -44
- package/docs/cursor.md +0 -46
- package/docs/design/designcomparisonchart.md +0 -510
- package/docs/design/implementationguide.md +0 -792
- package/docs/design/menubaricondesignconcepts.md +0 -796
- package/docs/design/mockups/hybridiconconcept.svg +0 -62
- package/docs/design/mockups/infinityiconconcept.svg +0 -41
- package/docs/design/mockups/infinityiconstates.svg +0 -129
- package/docs/design/mockups/wavelogorefined.svg +0 -48
- package/docs/design/quick_summary.md +0 -426
- package/docs/design/readme.md +0 -478
- package/docs/design/sizespecifications.md +0 -575
- package/docs/design-system.md +0 -836
- package/docs/factory.md +0 -103
- package/docs/gemini.md +0 -73
- package/docs/icon.md +0 -37
- package/docs/icon.png +0 -0
- package/docs/index.html +0 -175
- package/docs/keychain_fix.md +0 -274
- package/docs/minimax.md +0 -71
- package/docs/packaging.md +0 -25
- package/docs/progress-bar-improvements.md +0 -240
- package/docs/progress-bar-quick-reference.md +0 -283
- package/docs/progress-bar-technical-details.md +0 -432
- package/docs/progress-bar-visual-test.swift +0 -375
- package/docs/provider.md +0 -202
- package/docs/providers.md +0 -86
- package/docs/refactor/macros.md +0 -35
- package/docs/refresh-loop.md +0 -22
- package/docs/releasing-homebrew.md +0 -35
- package/docs/releasing.md +0 -121
- package/docs/research/concrete_todo_2026-02-22.md +0 -47
- package/docs/research/core-feature-research.md +0 -248
- package/docs/research/feature_uiux_roadmap_2026-02-22.md +0 -202
- package/docs/research/parity_matrix.md +0 -49
- package/docs/research/provider_expansion_candidates_2026-02-22.md +0 -80
- package/docs/research/provider_model_token_project_matrix_2026-02-23.md +0 -46
- package/docs/research/release_gate_checklist.md +0 -57
- package/docs/site.css +0 -505
- package/docs/sparkle.md +0 -28
- package/docs/status.md +0 -28
- package/docs/sync/implementation.md +0 -393
- package/docs/sync/readme.md +0 -317
- package/docs/sync_files_summary.md +0 -391
- package/docs/sync_quick_reference.md +0 -225
- package/docs/todo.md +0 -11
- package/docs/ui.md +0 -29
- package/docs/web-integration.md +0 -9
- package/docs/widgets.md +0 -85
- package/docs/workflows/error-handling-improvements.md +0 -434
- package/docs/workflows/folder_structure.md +0 -299
- package/docs/workflows/loading_states.md +0 -446
- package/docs/workflows/loading_states_examples.md +0 -565
- package/docs/workflows/loading_states_flow.md +0 -430
- package/docs/workflows/performance_optimizations.md +0 -457
- package/docs/workflows/phase1-cli-testing-report.md +0 -313
- package/docs/workflows/quick_reference.md +0 -228
- package/docs/workflows/readme.md +0 -59
- package/docs/workflows/recent_improvements.md +0 -275
- package/docs/workflows/sync_enablement_summary.md +0 -400
- package/docs/zai.md +0 -43
- package/runic.png +0 -0
- package/runic.svg +0 -15
- package/version.env +0 -2
|
@@ -1,358 +0,0 @@
|
|
|
1
|
-
# Runic Scripts Directory Structure
|
|
2
|
-
|
|
3
|
-
## Complete Overview
|
|
4
|
-
|
|
5
|
-
```
|
|
6
|
-
scripts/
|
|
7
|
-
├── Setup Scripts (One-time initialization)
|
|
8
|
-
│ ├── setup-all.sh ⭐ # One-command setup for everything
|
|
9
|
-
│ ├── setup-ios.sh # iOS Xcode project setup
|
|
10
|
-
│ └── setup-react-native.sh # React Native (Android/Windows) setup
|
|
11
|
-
│
|
|
12
|
-
├── Build Scripts (Daily development)
|
|
13
|
-
│ ├── build-macos.sh # Build macOS application
|
|
14
|
-
│ ├── build-ios.sh # Build iOS application
|
|
15
|
-
│ ├── build-android.sh # Build Android application
|
|
16
|
-
│ └── build-windows.sh # Build Windows application
|
|
17
|
-
│
|
|
18
|
-
├── CI/CD Configuration
|
|
19
|
-
│ └── ci-config.yml # GitHub Actions workflow template
|
|
20
|
-
│
|
|
21
|
-
├── Documentation
|
|
22
|
-
│ ├── README-SCRIPTS.md ⭐ # Comprehensive documentation (19K)
|
|
23
|
-
│ ├── QUICK-REFERENCE.md # Quick reference card
|
|
24
|
-
│ ├── CREATION-SUMMARY.md # What was created
|
|
25
|
-
│ └── DIRECTORY-STRUCTURE.md # This file
|
|
26
|
-
│
|
|
27
|
-
└── Legacy Scripts (Pre-existing)
|
|
28
|
-
├── build_icon.sh
|
|
29
|
-
├── changelog-to-html.sh
|
|
30
|
-
├── check-release-assets.sh
|
|
31
|
-
├── compile_and_run_adhoc.sh
|
|
32
|
-
├── compile_and_run.sh
|
|
33
|
-
├── docs-list.mjs
|
|
34
|
-
├── make_appcast.sh
|
|
35
|
-
├── package_app.sh
|
|
36
|
-
├── release.sh
|
|
37
|
-
├── sign-and-notarize.sh
|
|
38
|
-
├── test_live_update.sh
|
|
39
|
-
├── validate_changelog.sh
|
|
40
|
-
└── verify_appcast.sh
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
## New Files Created (11 files)
|
|
44
|
-
|
|
45
|
-
### Executable Scripts (7)
|
|
46
|
-
1. ✅ `setup-all.sh` - 9.4K - Master setup orchestrator
|
|
47
|
-
2. ✅ `setup-ios.sh` - 11K - iOS project initialization
|
|
48
|
-
3. ✅ `setup-react-native.sh` - 14K - React Native setup
|
|
49
|
-
4. ✅ `build-macos.sh` - 14K - macOS build automation
|
|
50
|
-
5. ✅ `build-ios.sh` - 13K - iOS build automation
|
|
51
|
-
6. ✅ `build-android.sh` - 13K - Android build automation
|
|
52
|
-
7. ✅ `build-windows.sh` - 14K - Windows build automation
|
|
53
|
-
|
|
54
|
-
### Configuration Files (1)
|
|
55
|
-
8. ✅ `ci-config.yml` - 15K - GitHub Actions workflow
|
|
56
|
-
|
|
57
|
-
### Documentation (3)
|
|
58
|
-
9. ✅ `README-SCRIPTS.md` - 19K - Main documentation
|
|
59
|
-
10. ✅ `QUICK-REFERENCE.md` - 2K - Quick reference
|
|
60
|
-
11. ✅ `CREATION-SUMMARY.md` - 3K - Creation summary
|
|
61
|
-
|
|
62
|
-
## Build Artifacts Output Structure
|
|
63
|
-
|
|
64
|
-
```
|
|
65
|
-
builds/
|
|
66
|
-
├── macos/
|
|
67
|
-
│ ├── Runic.app/ # macOS application bundle
|
|
68
|
-
│ │ ├── Contents/
|
|
69
|
-
│ │ │ ├── MacOS/
|
|
70
|
-
│ │ │ │ └── Runic # Executable
|
|
71
|
-
│ │ │ ├── Resources/
|
|
72
|
-
│ │ │ │ └── Icon.icns
|
|
73
|
-
│ │ │ └── Info.plist
|
|
74
|
-
│ │ └── ...
|
|
75
|
-
│ └── Runic-1.0.0-macos.zip # Distribution archive
|
|
76
|
-
│
|
|
77
|
-
├── ios/
|
|
78
|
-
│ ├── DerivedData/ # Build products
|
|
79
|
-
│ ├── RuniciOS.xcarchive/ # Archive (if --archive)
|
|
80
|
-
│ └── Export/ # IPA files
|
|
81
|
-
│ └── RuniciOS.ipa
|
|
82
|
-
│
|
|
83
|
-
├── android/
|
|
84
|
-
│ ├── app-debug.apk # Debug APK
|
|
85
|
-
│ ├── app-release.apk # Release APK
|
|
86
|
-
│ └── app-release.aab # App Bundle (if --aab)
|
|
87
|
-
│
|
|
88
|
-
└── windows/
|
|
89
|
-
├── RunicApp.exe # Windows executable
|
|
90
|
-
├── *.dll # Dependencies
|
|
91
|
-
└── Runic-1.0.0-Windows-x64.zip # Distribution package
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
## Workflow Integration
|
|
95
|
-
|
|
96
|
-
```
|
|
97
|
-
.github/
|
|
98
|
-
└── workflows/
|
|
99
|
-
└── ci.yml # Copy from scripts/ci-config.yml
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
## Script Execution Flow
|
|
103
|
-
|
|
104
|
-
### Setup Flow
|
|
105
|
-
```
|
|
106
|
-
setup-all.sh
|
|
107
|
-
├── Detect Platform
|
|
108
|
-
├── setup-macos (macOS only)
|
|
109
|
-
│ └── swift package resolve
|
|
110
|
-
├── setup-ios.sh
|
|
111
|
-
│ ├── Check Xcode
|
|
112
|
-
│ ├── Install CocoaPods
|
|
113
|
-
│ └── Setup code signing
|
|
114
|
-
└── setup-react-native.sh
|
|
115
|
-
├── Install npm dependencies
|
|
116
|
-
├── Setup Android SDK
|
|
117
|
-
└── Initialize Windows (if Windows)
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
### Build Flow
|
|
121
|
-
```
|
|
122
|
-
build-macos.sh
|
|
123
|
-
├── Check Prerequisites
|
|
124
|
-
├── Clean Build (if --clean)
|
|
125
|
-
├── Run SwiftLint
|
|
126
|
-
├── Run Tests (unless --skip-tests)
|
|
127
|
-
├── Build Application
|
|
128
|
-
├── Create App Bundle
|
|
129
|
-
├── Sign (unless --skip-signing)
|
|
130
|
-
└── Create ZIP Archive
|
|
131
|
-
|
|
132
|
-
build-ios.sh
|
|
133
|
-
├── Check Prerequisites
|
|
134
|
-
├── Clean Build (if --clean)
|
|
135
|
-
├── Run Tests (unless --skip-tests)
|
|
136
|
-
├── Build for Simulator/Device
|
|
137
|
-
├── Create Archive (if --archive)
|
|
138
|
-
└── Export IPA (if --archive)
|
|
139
|
-
|
|
140
|
-
build-android.sh
|
|
141
|
-
├── Check Prerequisites
|
|
142
|
-
├── Setup Environment
|
|
143
|
-
├── Clean Build (if --clean)
|
|
144
|
-
├── Run Lint (unless --skip-lint)
|
|
145
|
-
├── Run Tests (unless --skip-tests)
|
|
146
|
-
└── Build APK/AAB
|
|
147
|
-
|
|
148
|
-
build-windows.sh
|
|
149
|
-
├── Check Prerequisites
|
|
150
|
-
├── Setup Environment
|
|
151
|
-
├── Clean Build (if --clean)
|
|
152
|
-
├── Run Tests (unless --skip-tests)
|
|
153
|
-
├── Build Windows App
|
|
154
|
-
└── Create Distribution Package
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
## CI/CD Flow
|
|
158
|
-
|
|
159
|
-
```
|
|
160
|
-
GitHub Actions (ci-config.yml)
|
|
161
|
-
├── Code Quality Checks
|
|
162
|
-
│ ├── ESLint
|
|
163
|
-
│ ├── Prettier
|
|
164
|
-
│ └── TypeScript
|
|
165
|
-
│
|
|
166
|
-
├── Parallel Builds
|
|
167
|
-
│ ├── build-macos
|
|
168
|
-
│ │ ├── SwiftLint
|
|
169
|
-
│ │ ├── Tests
|
|
170
|
-
│ │ └── Build
|
|
171
|
-
│ │
|
|
172
|
-
│ ├── build-ios
|
|
173
|
-
│ │ ├── Tests
|
|
174
|
-
│ │ └── Build
|
|
175
|
-
│ │
|
|
176
|
-
│ ├── build-android
|
|
177
|
-
│ │ ├── Lint
|
|
178
|
-
│ │ ├── Tests
|
|
179
|
-
│ │ └── Build
|
|
180
|
-
│ │
|
|
181
|
-
│ └── build-windows
|
|
182
|
-
│ ├── Tests
|
|
183
|
-
│ └── Build
|
|
184
|
-
│
|
|
185
|
-
├── Upload Artifacts
|
|
186
|
-
│ ├── macOS .app + .zip
|
|
187
|
-
│ ├── iOS builds
|
|
188
|
-
│ ├── Android APK/AAB
|
|
189
|
-
│ └── Windows executable
|
|
190
|
-
│
|
|
191
|
-
├── Deploy (if triggered)
|
|
192
|
-
│ ├── TestFlight (iOS)
|
|
193
|
-
│ └── Play Console (Android)
|
|
194
|
-
│
|
|
195
|
-
└── Build Summary
|
|
196
|
-
└── Status report
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
## Usage Patterns
|
|
200
|
-
|
|
201
|
-
### First Time Setup
|
|
202
|
-
```bash
|
|
203
|
-
# 1. Clone repository
|
|
204
|
-
git clone <repo-url>
|
|
205
|
-
cd Runic
|
|
206
|
-
|
|
207
|
-
# 2. Run setup
|
|
208
|
-
./scripts/setup-all.sh --verbose
|
|
209
|
-
|
|
210
|
-
# 3. Configure code signing (if needed)
|
|
211
|
-
# See README-SCRIPTS.md for instructions
|
|
212
|
-
|
|
213
|
-
# 4. Build
|
|
214
|
-
./scripts/build-macos.sh
|
|
215
|
-
```
|
|
216
|
-
|
|
217
|
-
### Daily Development
|
|
218
|
-
```bash
|
|
219
|
-
# Quick build
|
|
220
|
-
./scripts/build-macos.sh --skip-tests --skip-signing
|
|
221
|
-
|
|
222
|
-
# Test build
|
|
223
|
-
./scripts/build-macos.sh --dry-run --verbose
|
|
224
|
-
|
|
225
|
-
# Full build
|
|
226
|
-
./scripts/build-macos.sh
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
### Release Preparation
|
|
230
|
-
```bash
|
|
231
|
-
# 1. Update version
|
|
232
|
-
echo "VERSION=1.2.3" > version.env
|
|
233
|
-
|
|
234
|
-
# 2. Build all platforms
|
|
235
|
-
./scripts/build-macos.sh
|
|
236
|
-
./scripts/build-ios.sh --archive
|
|
237
|
-
./scripts/build-android.sh --aab
|
|
238
|
-
./scripts/build-windows.sh
|
|
239
|
-
|
|
240
|
-
# 3. Test artifacts
|
|
241
|
-
ls -lh builds/macos/*.zip
|
|
242
|
-
ls -lh builds/ios/Export/*.ipa
|
|
243
|
-
ls -lh builds/android/*.aab
|
|
244
|
-
ls -lh builds/windows/*.zip
|
|
245
|
-
```
|
|
246
|
-
|
|
247
|
-
### CI/CD Setup
|
|
248
|
-
```bash
|
|
249
|
-
# 1. Copy workflow
|
|
250
|
-
mkdir -p .github/workflows
|
|
251
|
-
cp scripts/ci-config.yml .github/workflows/ci.yml
|
|
252
|
-
|
|
253
|
-
# 2. Configure secrets (see README-SCRIPTS.md)
|
|
254
|
-
|
|
255
|
-
# 3. Push
|
|
256
|
-
git add .github/workflows/ci.yml
|
|
257
|
-
git commit -m "Add CI/CD"
|
|
258
|
-
git push
|
|
259
|
-
|
|
260
|
-
# 4. Watch builds in GitHub Actions tab
|
|
261
|
-
```
|
|
262
|
-
|
|
263
|
-
## File Permissions
|
|
264
|
-
|
|
265
|
-
All new shell scripts are executable:
|
|
266
|
-
```bash
|
|
267
|
-
$ ls -la scripts/*.sh
|
|
268
|
-
-rwxr-xr-x setup-all.sh
|
|
269
|
-
-rwxr-xr-x setup-ios.sh
|
|
270
|
-
-rwxr-xr-x setup-react-native.sh
|
|
271
|
-
-rwxr-xr-x build-macos.sh
|
|
272
|
-
-rwxr-xr-x build-ios.sh
|
|
273
|
-
-rwxr-xr-x build-android.sh
|
|
274
|
-
-rwxr-xr-x build-windows.sh
|
|
275
|
-
```
|
|
276
|
-
|
|
277
|
-
## Documentation Hierarchy
|
|
278
|
-
|
|
279
|
-
```
|
|
280
|
-
README-SCRIPTS.md (⭐ Start here)
|
|
281
|
-
├── Overview
|
|
282
|
-
├── Quick Start
|
|
283
|
-
├── Setup Scripts
|
|
284
|
-
│ ├── setup-all.sh guide
|
|
285
|
-
│ ├── setup-ios.sh guide
|
|
286
|
-
│ └── setup-react-native.sh guide
|
|
287
|
-
├── Build Scripts
|
|
288
|
-
│ ├── build-macos.sh guide
|
|
289
|
-
│ ├── build-ios.sh guide
|
|
290
|
-
│ ├── build-android.sh guide
|
|
291
|
-
│ └── build-windows.sh guide
|
|
292
|
-
├── CI/CD Configuration
|
|
293
|
-
│ └── ci-config.yml guide
|
|
294
|
-
├── Platform-Specific Guides
|
|
295
|
-
│ ├── macOS Development
|
|
296
|
-
│ ├── iOS Development
|
|
297
|
-
│ ├── Android Development
|
|
298
|
-
│ └── Windows Development
|
|
299
|
-
├── GitHub Secrets Configuration
|
|
300
|
-
├── Troubleshooting
|
|
301
|
-
└── Advanced Usage
|
|
302
|
-
|
|
303
|
-
QUICK-REFERENCE.md (Quick lookup)
|
|
304
|
-
├── One-line commands
|
|
305
|
-
├── Common flags
|
|
306
|
-
├── Build outputs
|
|
307
|
-
└── Troubleshooting
|
|
308
|
-
|
|
309
|
-
CREATION-SUMMARY.md (What was built)
|
|
310
|
-
├── File list
|
|
311
|
-
├── Features
|
|
312
|
-
├── Usage examples
|
|
313
|
-
└── Quality metrics
|
|
314
|
-
|
|
315
|
-
DIRECTORY-STRUCTURE.md (This file)
|
|
316
|
-
└── Visual organization
|
|
317
|
-
```
|
|
318
|
-
|
|
319
|
-
## Key Features Map
|
|
320
|
-
|
|
321
|
-
```
|
|
322
|
-
All Scripts Share:
|
|
323
|
-
├── ✅ Error Handling (set -e, set -u)
|
|
324
|
-
├── ✅ Color Output (terminal detection)
|
|
325
|
-
├── ✅ Dry-Run Mode (--dry-run)
|
|
326
|
-
├── ✅ Verbose Mode (--verbose)
|
|
327
|
-
├── ✅ Help System (--help)
|
|
328
|
-
├── ✅ Prerequisites Checking
|
|
329
|
-
├── ✅ Clear Error Messages
|
|
330
|
-
└── ✅ Build Summaries
|
|
331
|
-
|
|
332
|
-
Platform Coverage:
|
|
333
|
-
├── ✅ macOS (Native Swift)
|
|
334
|
-
├── ✅ iOS (Native iOS)
|
|
335
|
-
├── ✅ Android (React Native)
|
|
336
|
-
└── ✅ Windows (React Native Windows)
|
|
337
|
-
|
|
338
|
-
CI/CD Features:
|
|
339
|
-
├── ✅ GitHub Actions Integration
|
|
340
|
-
├── ✅ Build Matrix (All Platforms)
|
|
341
|
-
├── ✅ Automated Testing
|
|
342
|
-
├── ✅ Code Quality Checks
|
|
343
|
-
├── ✅ Artifact Management
|
|
344
|
-
└── ✅ Deployment Support
|
|
345
|
-
```
|
|
346
|
-
|
|
347
|
-
## Quick Navigation
|
|
348
|
-
|
|
349
|
-
- **Getting Started**: `README-SCRIPTS.md` → Quick Start
|
|
350
|
-
- **Daily Use**: `QUICK-REFERENCE.md`
|
|
351
|
-
- **Troubleshooting**: `README-SCRIPTS.md` → Troubleshooting
|
|
352
|
-
- **CI/CD Setup**: `README-SCRIPTS.md` → CI/CD Configuration
|
|
353
|
-
- **Code Signing**: `README-SCRIPTS.md` → Platform-Specific Guides
|
|
354
|
-
- **Advanced Usage**: `README-SCRIPTS.md` → Advanced Usage
|
|
355
|
-
|
|
356
|
-
---
|
|
357
|
-
|
|
358
|
-
**Total**: 11 new files, ~7,330 lines, production-ready build automation! 🚀
|
|
@@ -1,364 +0,0 @@
|
|
|
1
|
-
# Getting Started with Runic Build Scripts - Checklist
|
|
2
|
-
|
|
3
|
-
Use this checklist to set up and start building Runic across all platforms.
|
|
4
|
-
|
|
5
|
-
## Prerequisites Checklist
|
|
6
|
-
|
|
7
|
-
### For All Platforms
|
|
8
|
-
- [ ] Git installed
|
|
9
|
-
- [ ] Clone Runic repository
|
|
10
|
-
- [ ] Navigate to project directory: `cd Runic`
|
|
11
|
-
|
|
12
|
-
### For macOS/iOS Development
|
|
13
|
-
- [ ] Running on macOS 14.0 or later
|
|
14
|
-
- [ ] Xcode 15.0 or later installed
|
|
15
|
-
- [ ] Command Line Tools installed: `xcode-select --install`
|
|
16
|
-
- [ ] Xcode configured: `sudo xcode-select --switch /Applications/Xcode.app`
|
|
17
|
-
|
|
18
|
-
### For Android Development
|
|
19
|
-
- [ ] Java Development Kit 17 installed ([Download](https://adoptium.net))
|
|
20
|
-
- [ ] Android Studio installed (or Android SDK)
|
|
21
|
-
- [ ] ANDROID_HOME environment variable set
|
|
22
|
-
```bash
|
|
23
|
-
export ANDROID_HOME=$HOME/Library/Android/sdk
|
|
24
|
-
export PATH=$PATH:$ANDROID_HOME/platform-tools
|
|
25
|
-
```
|
|
26
|
-
- [ ] Add to `~/.bashrc` or `~/.zshrc` to persist
|
|
27
|
-
|
|
28
|
-
### For React Native Development
|
|
29
|
-
- [ ] Node.js 18+ installed ([Download](https://nodejs.org) or use nvm)
|
|
30
|
-
- [ ] npm or yarn installed
|
|
31
|
-
- [ ] Watchman installed (macOS): `brew install watchman`
|
|
32
|
-
|
|
33
|
-
### For Windows Development
|
|
34
|
-
- [ ] Windows 10 or later
|
|
35
|
-
- [ ] Visual Studio 2022 with C++ development tools
|
|
36
|
-
- [ ] Windows 10 SDK (10.0.19041.0 or higher)
|
|
37
|
-
- [ ] Node.js 18+ installed
|
|
38
|
-
|
|
39
|
-
---
|
|
40
|
-
|
|
41
|
-
## First-Time Setup Checklist
|
|
42
|
-
|
|
43
|
-
### Step 1: Make Scripts Executable
|
|
44
|
-
```bash
|
|
45
|
-
chmod +x scripts/*.sh
|
|
46
|
-
```
|
|
47
|
-
- [ ] Scripts are executable
|
|
48
|
-
|
|
49
|
-
### Step 2: Read Documentation
|
|
50
|
-
- [ ] Skim `scripts/README-SCRIPTS.md`
|
|
51
|
-
- [ ] Bookmark `scripts/QUICK-REFERENCE.md`
|
|
52
|
-
- [ ] Review `scripts/DIRECTORY-STRUCTURE.md`
|
|
53
|
-
|
|
54
|
-
### Step 3: Test Setup with Dry-Run
|
|
55
|
-
```bash
|
|
56
|
-
./scripts/setup-all.sh --dry-run --verbose
|
|
57
|
-
```
|
|
58
|
-
- [ ] Dry-run completes without errors
|
|
59
|
-
- [ ] Review what will be executed
|
|
60
|
-
- [ ] Verify all prerequisites are satisfied
|
|
61
|
-
|
|
62
|
-
### Step 4: Run Actual Setup
|
|
63
|
-
```bash
|
|
64
|
-
./scripts/setup-all.sh --verbose
|
|
65
|
-
```
|
|
66
|
-
- [ ] Setup completes successfully
|
|
67
|
-
- [ ] Dependencies installed
|
|
68
|
-
- [ ] Configuration files created
|
|
69
|
-
|
|
70
|
-
---
|
|
71
|
-
|
|
72
|
-
## Code Signing Setup Checklist
|
|
73
|
-
|
|
74
|
-
### iOS Code Signing
|
|
75
|
-
- [ ] Apple Developer account created
|
|
76
|
-
- [ ] Team ID obtained
|
|
77
|
-
- [ ] Open Xcode project: `open RuniciOS/*.xcodeproj`
|
|
78
|
-
- [ ] Select target → Signing & Capabilities
|
|
79
|
-
- [ ] Choose team
|
|
80
|
-
- [ ] Enable "Automatically manage signing"
|
|
81
|
-
- [ ] Edit `RuniciOS/Config.xcconfig` with team ID
|
|
82
|
-
- [ ] Test build: `./scripts/build-ios.sh --simulator`
|
|
83
|
-
|
|
84
|
-
### Android Code Signing
|
|
85
|
-
```bash
|
|
86
|
-
# Generate keystore
|
|
87
|
-
keytool -genkey -v -keystore release.keystore \
|
|
88
|
-
-alias runic-key -keyalg RSA -keysize 2048 -validity 10000
|
|
89
|
-
```
|
|
90
|
-
- [ ] Keystore generated
|
|
91
|
-
- [ ] Create `runic-cross-platform/android/keystore.properties`:
|
|
92
|
-
```properties
|
|
93
|
-
storePassword=YOUR_PASSWORD
|
|
94
|
-
keyPassword=YOUR_PASSWORD
|
|
95
|
-
keyAlias=runic-key
|
|
96
|
-
storeFile=release.keystore
|
|
97
|
-
```
|
|
98
|
-
- [ ] Update `android/app/build.gradle` (see README-SCRIPTS.md)
|
|
99
|
-
- [ ] Test signed build: `./scripts/build-android.sh --variant release`
|
|
100
|
-
|
|
101
|
-
---
|
|
102
|
-
|
|
103
|
-
## First Build Checklist
|
|
104
|
-
|
|
105
|
-
### macOS Build
|
|
106
|
-
```bash
|
|
107
|
-
./scripts/build-macos.sh --verbose
|
|
108
|
-
```
|
|
109
|
-
- [ ] Build completes successfully
|
|
110
|
-
- [ ] App bundle created: `builds/macos/Runic.app`
|
|
111
|
-
- [ ] ZIP archive created: `builds/macos/Runic-*.zip`
|
|
112
|
-
- [ ] Test run: `open builds/macos/Runic.app`
|
|
113
|
-
|
|
114
|
-
### iOS Build (Simulator)
|
|
115
|
-
```bash
|
|
116
|
-
./scripts/build-ios.sh --simulator --verbose
|
|
117
|
-
```
|
|
118
|
-
- [ ] Build completes successfully
|
|
119
|
-
- [ ] Build products in `builds/ios/DerivedData/`
|
|
120
|
-
- [ ] Open in Xcode and run on simulator
|
|
121
|
-
|
|
122
|
-
### iOS Build (Device)
|
|
123
|
-
```bash
|
|
124
|
-
./scripts/build-ios.sh --device --archive --verbose
|
|
125
|
-
```
|
|
126
|
-
- [ ] Build completes successfully
|
|
127
|
-
- [ ] Archive created: `builds/ios/RuniciOS.xcarchive`
|
|
128
|
-
- [ ] IPA exported (if signed): `builds/ios/Export/*.ipa`
|
|
129
|
-
|
|
130
|
-
### Android Build
|
|
131
|
-
```bash
|
|
132
|
-
./scripts/build-android.sh --variant debug --verbose
|
|
133
|
-
```
|
|
134
|
-
- [ ] Build completes successfully
|
|
135
|
-
- [ ] APK created: `builds/android/app-debug.apk`
|
|
136
|
-
- [ ] Install on device: `adb install builds/android/app-debug.apk`
|
|
137
|
-
|
|
138
|
-
### Windows Build
|
|
139
|
-
```bash
|
|
140
|
-
./scripts/build-windows.sh --verbose
|
|
141
|
-
```
|
|
142
|
-
- [ ] Build completes successfully
|
|
143
|
-
- [ ] Executable in `builds/windows/`
|
|
144
|
-
- [ ] Test on Windows
|
|
145
|
-
|
|
146
|
-
---
|
|
147
|
-
|
|
148
|
-
## CI/CD Setup Checklist
|
|
149
|
-
|
|
150
|
-
### Step 1: Copy Workflow
|
|
151
|
-
```bash
|
|
152
|
-
mkdir -p .github/workflows
|
|
153
|
-
cp scripts/ci-config.yml .github/workflows/ci.yml
|
|
154
|
-
```
|
|
155
|
-
- [ ] Workflow file copied
|
|
156
|
-
|
|
157
|
-
### Step 2: Configure GitHub Secrets
|
|
158
|
-
|
|
159
|
-
#### iOS Secrets
|
|
160
|
-
- [ ] Export certificate as P12
|
|
161
|
-
- [ ] Base64 encode: `base64 -i certificate.p12 -o cert.txt`
|
|
162
|
-
- [ ] Add to GitHub secrets: `IOS_CERTIFICATE_P12`
|
|
163
|
-
- [ ] Add password: `IOS_CERTIFICATE_PASSWORD`
|
|
164
|
-
- [ ] Export provisioning profile
|
|
165
|
-
- [ ] Base64 encode: `base64 -i profile.mobileprovision -o profile.txt`
|
|
166
|
-
- [ ] Add to GitHub secrets: `IOS_PROVISIONING_PROFILE`
|
|
167
|
-
- [ ] (Optional) Add App Store Connect API key: `APP_STORE_CONNECT_API_KEY`
|
|
168
|
-
|
|
169
|
-
#### Android Secrets
|
|
170
|
-
- [ ] Base64 encode keystore: `base64 -i release.keystore -o keystore.txt`
|
|
171
|
-
- [ ] Add to GitHub secrets: `ANDROID_KEYSTORE_BASE64`
|
|
172
|
-
- [ ] Add keystore password: `ANDROID_KEYSTORE_PASSWORD`
|
|
173
|
-
- [ ] Add key alias: `ANDROID_KEY_ALIAS`
|
|
174
|
-
- [ ] Add key password: `ANDROID_KEY_PASSWORD`
|
|
175
|
-
- [ ] (Optional) Add Play Console service account: `GOOGLE_PLAY_SERVICE_ACCOUNT_JSON`
|
|
176
|
-
|
|
177
|
-
### Step 3: Test CI/CD
|
|
178
|
-
- [ ] Commit workflow: `git add .github/workflows/ci.yml`
|
|
179
|
-
- [ ] Push: `git push`
|
|
180
|
-
- [ ] Check GitHub Actions tab
|
|
181
|
-
- [ ] Verify all jobs pass
|
|
182
|
-
- [ ] Download artifacts
|
|
183
|
-
|
|
184
|
-
---
|
|
185
|
-
|
|
186
|
-
## Daily Development Workflow Checklist
|
|
187
|
-
|
|
188
|
-
### Morning Routine
|
|
189
|
-
- [ ] Pull latest changes: `git pull`
|
|
190
|
-
- [ ] Update dependencies (if needed):
|
|
191
|
-
```bash
|
|
192
|
-
swift package update # macOS
|
|
193
|
-
cd RuniciOS && pod update # iOS
|
|
194
|
-
cd runic-cross-platform && npm update # React Native
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
### Development Builds
|
|
198
|
-
- [ ] macOS: `./scripts/build-macos.sh --skip-tests --skip-signing`
|
|
199
|
-
- [ ] iOS: `./scripts/build-ios.sh --simulator --skip-tests`
|
|
200
|
-
- [ ] Android: `./scripts/build-android.sh --variant debug --skip-tests`
|
|
201
|
-
- [ ] Windows: `./scripts/build-windows.sh --configuration Debug --skip-tests`
|
|
202
|
-
|
|
203
|
-
### Before Committing
|
|
204
|
-
- [ ] Run tests:
|
|
205
|
-
```bash
|
|
206
|
-
swift test # macOS
|
|
207
|
-
npm test # React Native
|
|
208
|
-
```
|
|
209
|
-
- [ ] Run linters:
|
|
210
|
-
```bash
|
|
211
|
-
swiftlint lint # Swift
|
|
212
|
-
cd runic-cross-platform && npm run lint # JavaScript
|
|
213
|
-
```
|
|
214
|
-
- [ ] Format code:
|
|
215
|
-
```bash
|
|
216
|
-
swiftformat . # Swift
|
|
217
|
-
cd runic-cross-platform && npm run format # JavaScript
|
|
218
|
-
```
|
|
219
|
-
- [ ] Commit changes
|
|
220
|
-
- [ ] Push to trigger CI
|
|
221
|
-
|
|
222
|
-
---
|
|
223
|
-
|
|
224
|
-
## Release Workflow Checklist
|
|
225
|
-
|
|
226
|
-
### Pre-Release
|
|
227
|
-
- [ ] Update version number in `version.env`
|
|
228
|
-
- [ ] Update CHANGELOG.md
|
|
229
|
-
- [ ] Create release branch: `git checkout -b release/1.2.3`
|
|
230
|
-
- [ ] Update version strings in:
|
|
231
|
-
- [ ] `version.env`
|
|
232
|
-
- [ ] iOS `Info.plist` or project settings
|
|
233
|
-
- [ ] Android `build.gradle` (versionCode, versionName)
|
|
234
|
-
|
|
235
|
-
### Build Release Artifacts
|
|
236
|
-
- [ ] macOS: `./scripts/build-macos.sh --clean`
|
|
237
|
-
- [ ] iOS: `./scripts/build-ios.sh --archive --clean`
|
|
238
|
-
- [ ] Android APK: `./scripts/build-android.sh --variant release --clean`
|
|
239
|
-
- [ ] Android AAB: `./scripts/build-android.sh --aab --clean`
|
|
240
|
-
- [ ] Windows: `./scripts/build-windows.sh --clean`
|
|
241
|
-
|
|
242
|
-
### Test Release Builds
|
|
243
|
-
- [ ] Test macOS app: `open builds/macos/Runic.app`
|
|
244
|
-
- [ ] Test iOS on device
|
|
245
|
-
- [ ] Test Android APK: `adb install builds/android/app-release.apk`
|
|
246
|
-
- [ ] Test Windows executable
|
|
247
|
-
|
|
248
|
-
### Deploy
|
|
249
|
-
- [ ] macOS: Upload to website/distribution platform
|
|
250
|
-
- [ ] iOS: Upload to TestFlight
|
|
251
|
-
```bash
|
|
252
|
-
xcrun altool --upload-app -f builds/ios/Export/RuniciOS.ipa \
|
|
253
|
-
-t ios -u username -p password
|
|
254
|
-
```
|
|
255
|
-
- [ ] Android: Upload AAB to Play Console
|
|
256
|
-
- [ ] Windows: Create installer and distribute
|
|
257
|
-
|
|
258
|
-
### Post-Release
|
|
259
|
-
- [ ] Tag release: `git tag v1.2.3`
|
|
260
|
-
- [ ] Push tag: `git push origin v1.2.3`
|
|
261
|
-
- [ ] Create GitHub release
|
|
262
|
-
- [ ] Attach build artifacts to release
|
|
263
|
-
- [ ] Merge release branch to main
|
|
264
|
-
- [ ] Update documentation if needed
|
|
265
|
-
|
|
266
|
-
---
|
|
267
|
-
|
|
268
|
-
## Troubleshooting Checklist
|
|
269
|
-
|
|
270
|
-
### If Build Fails
|
|
271
|
-
|
|
272
|
-
1. **Try Dry-Run First**
|
|
273
|
-
```bash
|
|
274
|
-
./scripts/build-macos.sh --dry-run --verbose
|
|
275
|
-
```
|
|
276
|
-
- [ ] Dry-run shows what will execute
|
|
277
|
-
- [ ] Prerequisites are satisfied
|
|
278
|
-
|
|
279
|
-
2. **Check Prerequisites**
|
|
280
|
-
```bash
|
|
281
|
-
./scripts/setup-all.sh --dry-run --verbose
|
|
282
|
-
```
|
|
283
|
-
- [ ] All required tools installed
|
|
284
|
-
- [ ] Versions are correct
|
|
285
|
-
|
|
286
|
-
3. **Clean Build**
|
|
287
|
-
```bash
|
|
288
|
-
./scripts/build-macos.sh --clean --verbose
|
|
289
|
-
```
|
|
290
|
-
- [ ] Old build artifacts removed
|
|
291
|
-
- [ ] Fresh build succeeds
|
|
292
|
-
|
|
293
|
-
4. **Read Error Messages**
|
|
294
|
-
- [ ] Error message explains the issue
|
|
295
|
-
- [ ] Follow suggested solution
|
|
296
|
-
- [ ] Check README-SCRIPTS.md troubleshooting section
|
|
297
|
-
|
|
298
|
-
5. **Check Documentation**
|
|
299
|
-
- [ ] Review `scripts/README-SCRIPTS.md`
|
|
300
|
-
- [ ] Check platform-specific guide
|
|
301
|
-
- [ ] Search for similar issues
|
|
302
|
-
|
|
303
|
-
---
|
|
304
|
-
|
|
305
|
-
## Additional Resources Checklist
|
|
306
|
-
|
|
307
|
-
### Documentation
|
|
308
|
-
- [ ] `scripts/README-SCRIPTS.md` - Complete guide
|
|
309
|
-
- [ ] `scripts/QUICK-REFERENCE.md` - Quick commands
|
|
310
|
-
- [ ] `scripts/CREATION-SUMMARY.md` - What was created
|
|
311
|
-
- [ ] `scripts/DIRECTORY-STRUCTURE.md` - File organization
|
|
312
|
-
- [ ] `scripts/GETTING-STARTED-CHECKLIST.md` - This file
|
|
313
|
-
|
|
314
|
-
### Help Commands
|
|
315
|
-
- [ ] Setup help: `./scripts/setup-all.sh --help`
|
|
316
|
-
- [ ] Build help: `./scripts/build-macos.sh --help`
|
|
317
|
-
- [ ] Dry-run: `./scripts/build-macos.sh --dry-run --verbose`
|
|
318
|
-
|
|
319
|
-
### Online Resources
|
|
320
|
-
- [ ] Xcode documentation
|
|
321
|
-
- [ ] React Native documentation
|
|
322
|
-
- [ ] Android developer guide
|
|
323
|
-
- [ ] GitHub Actions documentation
|
|
324
|
-
|
|
325
|
-
---
|
|
326
|
-
|
|
327
|
-
## Success Criteria
|
|
328
|
-
|
|
329
|
-
You've successfully set up Runic build scripts when:
|
|
330
|
-
|
|
331
|
-
- ✅ All setup scripts run without errors
|
|
332
|
-
- ✅ All build scripts produce artifacts
|
|
333
|
-
- ✅ CI/CD workflow passes on GitHub
|
|
334
|
-
- ✅ Code signing works for release builds
|
|
335
|
-
- ✅ Applications run on target platforms
|
|
336
|
-
|
|
337
|
-
**Congratulations! You're ready to build Runic across all platforms! 🎉**
|
|
338
|
-
|
|
339
|
-
---
|
|
340
|
-
|
|
341
|
-
## Need Help?
|
|
342
|
-
|
|
343
|
-
1. **Check Documentation**
|
|
344
|
-
```bash
|
|
345
|
-
cat scripts/README-SCRIPTS.md
|
|
346
|
-
cat scripts/QUICK-REFERENCE.md
|
|
347
|
-
```
|
|
348
|
-
|
|
349
|
-
2. **Run with Verbose**
|
|
350
|
-
```bash
|
|
351
|
-
./scripts/build-macos.sh --verbose --dry-run
|
|
352
|
-
```
|
|
353
|
-
|
|
354
|
-
3. **Review Troubleshooting**
|
|
355
|
-
- See `scripts/README-SCRIPTS.md` → Troubleshooting section
|
|
356
|
-
|
|
357
|
-
4. **Open an Issue**
|
|
358
|
-
- Include script output
|
|
359
|
-
- Include system information
|
|
360
|
-
- Include `--verbose` logs
|
|
361
|
-
|
|
362
|
-
---
|
|
363
|
-
|
|
364
|
-
**Remember**: Start with `--dry-run` and `--verbose` to understand what scripts do before executing them!
|