@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.
Files changed (610) hide show
  1. package/CHANGELOG.md +256 -0
  2. package/LICENSE +373 -21
  3. package/README.md +96 -89
  4. package/THIRD-PARTY-NOTICES.md +651 -0
  5. package/package.json +14 -4
  6. package/.swiftformat +0 -50
  7. package/.swiftlint.yml +0 -160
  8. package/CONTRIBUTING.md +0 -456
  9. package/Icon.icns +0 -0
  10. package/Icon.icon/Assets/runic.png +0 -0
  11. package/Icon.icon/icon.json +0 -36
  12. package/Package.resolved +0 -51
  13. package/Package.swift +0 -136
  14. package/Packages/Helix/LICENSE +0 -21
  15. package/Packages/Helix/Package.swift +0 -29
  16. package/Packages/Helix/README.md +0 -976
  17. package/Packages/Helix/Sources/Helix/Binding.swift +0 -111
  18. package/Packages/Helix/Sources/Helix/CommandParser.swift +0 -160
  19. package/Packages/Helix/Sources/Helix/CommandSignature.swift +0 -117
  20. package/Packages/Helix/Sources/Helix/ExpressibleFromArgument.swift +0 -72
  21. package/Packages/Helix/Sources/Helix/HelpGenerator.swift +0 -175
  22. package/Packages/Helix/Sources/Helix/NameSpecification.swift +0 -98
  23. package/Packages/Helix/Sources/Helix/ParsableCommand.swift +0 -204
  24. package/Packages/Helix/Sources/Helix/Platform/DarwinPlatformContext.swift +0 -44
  25. package/Packages/Helix/Sources/Helix/Platform/LinuxPlatformContext.swift +0 -34
  26. package/Packages/Helix/Sources/Helix/Platform/PlatformContext+Default.swift +0 -91
  27. package/Packages/Helix/Sources/Helix/Platform/PlatformContext.swift +0 -94
  28. package/Packages/Helix/Sources/Helix/Platform/PlatformPath.swift +0 -167
  29. package/Packages/Helix/Sources/Helix/Platform/Stdio.swift +0 -99
  30. package/Packages/Helix/Sources/Helix/Platform/WebPlatformContext.swift +0 -146
  31. package/Packages/Helix/Sources/Helix/Platform/WindowsPlatformContext.swift +0 -97
  32. package/Packages/Helix/Sources/Helix/Program.swift +0 -204
  33. package/Packages/Helix/Sources/Helix/PropertyWrappers.swift +0 -367
  34. package/Packages/Silo/LICENSE +0 -21
  35. package/Packages/Silo/Package.swift +0 -34
  36. package/Packages/Silo/README.md +0 -466
  37. package/Packages/Silo/Sources/Silo/BinaryCookiesReader.swift +0 -169
  38. package/Packages/Silo/Sources/Silo/BrowserCookieAnalytics.swift +0 -365
  39. package/Packages/Silo/Sources/Silo/BrowserCookieBackends.swift +0 -594
  40. package/Packages/Silo/Sources/Silo/BrowserCookieClient.swift +0 -326
  41. package/Packages/Silo/Sources/Silo/BrowserCookieExport.swift +0 -154
  42. package/Packages/Silo/Sources/Silo/BrowserCookieImport.swift +0 -119
  43. package/Packages/Silo/Sources/Silo/BrowserCookieMockStore.swift +0 -121
  44. package/Packages/Silo/Sources/Silo/BrowserCookieModels.swift +0 -391
  45. package/Packages/Silo/Sources/Silo/ChromiumCookieReader.swift +0 -240
  46. package/Packages/Silo/Sources/Silo/CryptoSupport.swift +0 -86
  47. package/Packages/Silo/Sources/Silo/FirefoxCookieReader.swift +0 -172
  48. package/Packages/Silo/Sources/Silo/LinuxChromiumCookieReader.swift +0 -172
  49. package/Packages/Silo/Sources/Silo/LinuxSecretService.swift +0 -105
  50. package/Packages/Silo/Sources/Silo/MacOSChromiumCookieReader.swift +0 -191
  51. package/Packages/Silo/Sources/Silo/SQLiteSnapshot.swift +0 -41
  52. package/Packages/Silo/Sources/Silo/WindowsChromiumCookieReader.swift +0 -110
  53. package/RuniciOS/App/RuniciOSApp.swift +0 -105
  54. package/RuniciOS/Core/RunicTypographyiOS.swift +0 -24
  55. package/RuniciOS/Core/iOSUsageStore.swift +0 -192
  56. package/RuniciOS/Views/ProviderDetailView.swift +0 -312
  57. package/RuniciOS/Views/ProviderListView.swift +0 -228
  58. package/RuniciOS/Widgets/LargeWidget.swift +0 -367
  59. package/RuniciOS/Widgets/LiveActivity.swift +0 -342
  60. package/RuniciOS/Widgets/LockScreenWidget.swift +0 -273
  61. package/RuniciOS/Widgets/MediumWidget.swift +0 -370
  62. package/RuniciOS/Widgets/RunicWidget.swift +0 -274
  63. package/RuniciOS/Widgets/SmallWidget.swift +0 -281
  64. package/RuniciOS/Widgets/WidgetModels.swift +0 -285
  65. package/RuniciOS/Widgets/WidgetTimeline.swift +0 -270
  66. package/Scripts/CREATION-SUMMARY.md +0 -367
  67. package/Scripts/DIRECTORY-STRUCTURE.md +0 -358
  68. package/Scripts/GETTING-STARTED-CHECKLIST.md +0 -364
  69. package/Scripts/INDEX.md +0 -365
  70. package/Scripts/QUICK-REFERENCE.md +0 -164
  71. package/Scripts/README-SCRIPTS.md +0 -926
  72. package/Scripts/build-android.sh +0 -526
  73. package/Scripts/build-ios.sh +0 -529
  74. package/Scripts/build-macos.sh +0 -603
  75. package/Scripts/build-windows.sh +0 -504
  76. package/Scripts/build_icon.sh +0 -49
  77. package/Scripts/changelog-to-html.sh +0 -89
  78. package/Scripts/check-release-assets.sh +0 -10
  79. package/Scripts/ci-config.yml +0 -474
  80. package/Scripts/compile_and_run.sh +0 -219
  81. package/Scripts/compile_and_run_adhoc.sh +0 -4
  82. package/Scripts/docs-list.mjs +0 -119
  83. package/Scripts/make_appcast.sh +0 -58
  84. package/Scripts/package_app.sh +0 -409
  85. package/Scripts/release-lib.sh +0 -214
  86. package/Scripts/release.sh +0 -76
  87. package/Scripts/setup-all.sh +0 -387
  88. package/Scripts/setup-ios.sh +0 -404
  89. package/Scripts/setup-react-native.sh +0 -523
  90. package/Scripts/sign-and-notarize.sh +0 -122
  91. package/Scripts/test_live_update.sh +0 -38
  92. package/Scripts/validate_changelog.sh +0 -23
  93. package/Scripts/verify_appcast.sh +0 -92
  94. package/Sources/Runic/About.swift +0 -93
  95. package/Sources/Runic/AppNotifications.swift +0 -117
  96. package/Sources/Runic/Controllers/StatusItemController+Actions.swift +0 -670
  97. package/Sources/Runic/Controllers/StatusItemController+Animation.swift +0 -519
  98. package/Sources/Runic/Controllers/StatusItemController+ChartSubmenus.swift +0 -824
  99. package/Sources/Runic/Controllers/StatusItemController+CustomProviders.swift +0 -90
  100. package/Sources/Runic/Controllers/StatusItemController+Menu.swift +0 -1412
  101. package/Sources/Runic/Controllers/StatusItemController+MenuCards.swift +0 -339
  102. package/Sources/Runic/Controllers/StatusItemController+MenuHelpers.swift +0 -423
  103. package/Sources/Runic/Controllers/StatusItemController.swift +0 -360
  104. package/Sources/Runic/Core/BudgetNotificationManager.swift +0 -81
  105. package/Sources/Runic/Core/Login/ClaudeLoginRunner.swift +0 -103
  106. package/Sources/Runic/Core/Login/CodexLoginRunner.swift +0 -154
  107. package/Sources/Runic/Core/Login/CursorLoginRunner.swift +0 -206
  108. package/Sources/Runic/Core/Login/GeminiLoginRunner.swift +0 -92
  109. package/Sources/Runic/Core/Rendering/IconRenderer.swift +0 -1222
  110. package/Sources/Runic/Core/Rendering/IconView.swift +0 -122
  111. package/Sources/Runic/Core/Rendering/ProviderBrandIcon.swift +0 -71
  112. package/Sources/Runic/Core/RunicAnimation.swift +0 -53
  113. package/Sources/Runic/Core/RunicColors.swift +0 -73
  114. package/Sources/Runic/Core/RunicCornerRadius.swift +0 -15
  115. package/Sources/Runic/Core/RunicSpacing.swift +0 -68
  116. package/Sources/Runic/Core/RunicTypography.swift +0 -206
  117. package/Sources/Runic/Core/Stores/AuggieTokenStore.swift +0 -117
  118. package/Sources/Runic/Core/Stores/AzureOpenAITokenStore.swift +0 -117
  119. package/Sources/Runic/Core/Stores/CerebrasTokenStore.swift +0 -117
  120. package/Sources/Runic/Core/Stores/CohereTokenStore.swift +0 -117
  121. package/Sources/Runic/Core/Stores/CopilotTokenStore.swift +0 -117
  122. package/Sources/Runic/Core/Stores/CustomProviderStore.swift +0 -158
  123. package/Sources/Runic/Core/Stores/DeepSeekTokenStore.swift +0 -117
  124. package/Sources/Runic/Core/Stores/FireworksTokenStore.swift +0 -117
  125. package/Sources/Runic/Core/Stores/GroqTokenStore.swift +0 -117
  126. package/Sources/Runic/Core/Stores/KimiTokenStore.swift +0 -117
  127. package/Sources/Runic/Core/Stores/MiniMaxCookieHeaderStore.swift +0 -117
  128. package/Sources/Runic/Core/Stores/MiniMaxGroupIDStore.swift +0 -117
  129. package/Sources/Runic/Core/Stores/MiniMaxTokenStore.swift +0 -117
  130. package/Sources/Runic/Core/Stores/MistralTokenStore.swift +0 -117
  131. package/Sources/Runic/Core/Stores/OpenRouterTokenStore.swift +0 -117
  132. package/Sources/Runic/Core/Stores/PerplexityTokenStore.swift +0 -117
  133. package/Sources/Runic/Core/Stores/ProviderToggleStore.swift +0 -30
  134. package/Sources/Runic/Core/Stores/QwenTokenStore.swift +0 -117
  135. package/Sources/Runic/Core/Stores/SambaNovaTokenStore.swift +0 -117
  136. package/Sources/Runic/Core/Stores/SettingsStore.swift +0 -1749
  137. package/Sources/Runic/Core/Stores/TogetherTokenStore.swift +0 -117
  138. package/Sources/Runic/Core/Stores/UsageStore+Accessors.swift +0 -33
  139. package/Sources/Runic/Core/Stores/UsageStore+Status.swift +0 -189
  140. package/Sources/Runic/Core/Stores/UsageStore+TokenCost.swift +0 -33
  141. package/Sources/Runic/Core/Stores/UsageStore+WidgetSnapshot.swift +0 -67
  142. package/Sources/Runic/Core/Stores/UsageStore.swift +0 -3631
  143. package/Sources/Runic/Core/Stores/XAITokenStore.swift +0 -117
  144. package/Sources/Runic/Core/Stores/ZaiTokenStore.swift +0 -117
  145. package/Sources/Runic/Core/UsageExporter.swift +0 -197
  146. package/Sources/Runic/Date+RelativeDescription.swift +0 -21
  147. package/Sources/Runic/HiddenWindowView.swift +0 -32
  148. package/Sources/Runic/InstallOrigin.swift +0 -9
  149. package/Sources/Runic/KeyboardShortcuts+Names.swift +0 -6
  150. package/Sources/Runic/MouseLocationReader.swift +0 -65
  151. package/Sources/Runic/Notifications+Runic.swift +0 -6
  152. package/Sources/Runic/OpenAICreditsPurchaseWindowController.swift +0 -503
  153. package/Sources/Runic/ProviderRegistry.swift +0 -100
  154. package/Sources/Runic/ProviderSwitcherButtons.swift +0 -267
  155. package/Sources/Runic/Providers/Antigravity/AntigravityLoginFlow.swift +0 -11
  156. package/Sources/Runic/Providers/Antigravity/AntigravityProviderImplementation.swift +0 -14
  157. package/Sources/Runic/Providers/Auggie/AuggieProviderImplementation.swift +0 -24
  158. package/Sources/Runic/Providers/Azure/AzureProviderImplementation.swift +0 -52
  159. package/Sources/Runic/Providers/Bedrock/BedrockProviderImplementation.swift +0 -42
  160. package/Sources/Runic/Providers/Cerebras/CerebrasProviderImplementation.swift +0 -24
  161. package/Sources/Runic/Providers/Claude/ClaudeLoginFlow.swift +0 -26
  162. package/Sources/Runic/Providers/Claude/ClaudeProviderImplementation.swift +0 -14
  163. package/Sources/Runic/Providers/Codex/CodexLoginFlow.swift +0 -18
  164. package/Sources/Runic/Providers/Codex/CodexProviderImplementation.swift +0 -15
  165. package/Sources/Runic/Providers/Cohere/CohereProviderImplementation.swift +0 -24
  166. package/Sources/Runic/Providers/Copilot/CopilotLoginFlow.swift +0 -193
  167. package/Sources/Runic/Providers/Copilot/CopilotProviderImplementation.swift +0 -110
  168. package/Sources/Runic/Providers/Cursor/CursorLoginFlow.swift +0 -28
  169. package/Sources/Runic/Providers/Cursor/CursorProviderImplementation.swift +0 -15
  170. package/Sources/Runic/Providers/DeepSeek/DeepSeekProviderImplementation.swift +0 -24
  171. package/Sources/Runic/Providers/Factory/FactoryLoginFlow.swift +0 -12
  172. package/Sources/Runic/Providers/Factory/FactoryProviderImplementation.swift +0 -15
  173. package/Sources/Runic/Providers/Fireworks/FireworksProviderImplementation.swift +0 -24
  174. package/Sources/Runic/Providers/Gemini/GeminiLoginFlow.swift +0 -20
  175. package/Sources/Runic/Providers/Gemini/GeminiProviderImplementation.swift +0 -15
  176. package/Sources/Runic/Providers/Groq/GroqProviderImplementation.swift +0 -24
  177. package/Sources/Runic/Providers/Kimi/KimiProviderImplementation.swift +0 -24
  178. package/Sources/Runic/Providers/MiniMax/MiniMaxProviderImplementation.swift +0 -32
  179. package/Sources/Runic/Providers/Mistral/MistralProviderImplementation.swift +0 -24
  180. package/Sources/Runic/Providers/OpenRouter/OpenRouterProviderImplementation.swift +0 -24
  181. package/Sources/Runic/Providers/Perplexity/PerplexityProviderImplementation.swift +0 -24
  182. package/Sources/Runic/Providers/SambaNova/SambaNovaProviderImplementation.swift +0 -24
  183. package/Sources/Runic/Providers/Shared/ProviderCatalog.swift +0 -15
  184. package/Sources/Runic/Providers/Shared/ProviderImplementation.swift +0 -51
  185. package/Sources/Runic/Providers/Shared/ProviderImplementationRegistry.swift +0 -66
  186. package/Sources/Runic/Providers/Shared/ProviderLoginFlow.swift +0 -12
  187. package/Sources/Runic/Providers/Shared/ProviderSettingsDescriptors.swift +0 -99
  188. package/Sources/Runic/Providers/Shared/SystemSettingsLinks.swift +0 -18
  189. package/Sources/Runic/Providers/Together/TogetherProviderImplementation.swift +0 -24
  190. package/Sources/Runic/Providers/XAI/XAIProviderImplementation.swift +0 -24
  191. package/Sources/Runic/Providers/Zai/ZaiProviderImplementation.swift +0 -24
  192. package/Sources/Runic/Resources/Fonts/Caveat-Bold.ttf +0 -0
  193. package/Sources/Runic/Resources/Fonts/Caveat-Regular.ttf +0 -0
  194. package/Sources/Runic/Resources/Fonts/FiraCode-Bold.ttf +0 -0
  195. package/Sources/Runic/Resources/Fonts/FiraCode-Light.ttf +0 -0
  196. package/Sources/Runic/Resources/Fonts/FiraCode-Medium.ttf +0 -0
  197. package/Sources/Runic/Resources/Fonts/FiraCode-Regular.ttf +0 -0
  198. package/Sources/Runic/Resources/Fonts/FiraCode-SemiBold.ttf +0 -0
  199. package/Sources/Runic/Resources/Fonts/IBMPlexMono-Bold.ttf +0 -0
  200. package/Sources/Runic/Resources/Fonts/IBMPlexMono-Medium.ttf +0 -0
  201. package/Sources/Runic/Resources/Fonts/IBMPlexMono-Regular.ttf +0 -0
  202. package/Sources/Runic/Resources/Fonts/IBMPlexMono-SemiBold.ttf +0 -0
  203. package/Sources/Runic/Resources/Fonts/Inconsolata-Bold.ttf +0 -0
  204. package/Sources/Runic/Resources/Fonts/Inconsolata-Medium.ttf +0 -0
  205. package/Sources/Runic/Resources/Fonts/Inconsolata-Regular.ttf +0 -0
  206. package/Sources/Runic/Resources/Fonts/Inconsolata-SemiBold.ttf +0 -0
  207. package/Sources/Runic/Resources/Fonts/JetBrainsMono-Bold.ttf +0 -0
  208. package/Sources/Runic/Resources/Fonts/JetBrainsMono-Medium.ttf +0 -0
  209. package/Sources/Runic/Resources/Fonts/JetBrainsMono-Regular.ttf +0 -0
  210. package/Sources/Runic/Resources/Fonts/JetBrainsMono-SemiBold.ttf +0 -0
  211. package/Sources/Runic/Resources/Fonts/SpaceMono-Bold.ttf +0 -0
  212. package/Sources/Runic/Resources/Fonts/SpaceMono-Regular.ttf +0 -0
  213. package/Sources/Runic/Resources/ProviderIcon-antigravity.svg +0 -2
  214. package/Sources/Runic/Resources/ProviderIcon-auggie.svg +0 -3
  215. package/Sources/Runic/Resources/ProviderIcon-azure.svg +0 -5
  216. package/Sources/Runic/Resources/ProviderIcon-bedrock.svg +0 -7
  217. package/Sources/Runic/Resources/ProviderIcon-cerebras.svg +0 -3
  218. package/Sources/Runic/Resources/ProviderIcon-claude.svg +0 -1
  219. package/Sources/Runic/Resources/ProviderIcon-codex.svg +0 -1
  220. package/Sources/Runic/Resources/ProviderIcon-cohere.svg +0 -3
  221. package/Sources/Runic/Resources/ProviderIcon-copilot.svg +0 -1
  222. package/Sources/Runic/Resources/ProviderIcon-cursor.svg +0 -3
  223. package/Sources/Runic/Resources/ProviderIcon-deepseek.svg +0 -4
  224. package/Sources/Runic/Resources/ProviderIcon-factory.svg +0 -3
  225. package/Sources/Runic/Resources/ProviderIcon-fireworks.svg +0 -3
  226. package/Sources/Runic/Resources/ProviderIcon-gemini.svg +0 -1
  227. package/Sources/Runic/Resources/ProviderIcon-groq.svg +0 -1
  228. package/Sources/Runic/Resources/ProviderIcon-kimi.svg +0 -4
  229. package/Sources/Runic/Resources/ProviderIcon-minimax.svg +0 -1
  230. package/Sources/Runic/Resources/ProviderIcon-mistral.svg +0 -5
  231. package/Sources/Runic/Resources/ProviderIcon-openrouter.svg +0 -7
  232. package/Sources/Runic/Resources/ProviderIcon-perplexity.svg +0 -4
  233. package/Sources/Runic/Resources/ProviderIcon-qwen.svg +0 -9
  234. package/Sources/Runic/Resources/ProviderIcon-sambanova.svg +0 -4
  235. package/Sources/Runic/Resources/ProviderIcon-together.svg +0 -5
  236. package/Sources/Runic/Resources/ProviderIcon-vertexai.svg +0 -17
  237. package/Sources/Runic/Resources/ProviderIcon-xai.svg +0 -3
  238. package/Sources/Runic/Resources/ProviderIcon-zai.svg +0 -5
  239. package/Sources/Runic/Resources/RunicMenubarIcon.svg +0 -7
  240. package/Sources/Runic/Resources/provider-context-windows.json +0 -20
  241. package/Sources/Runic/RunicApp.swift +0 -367
  242. package/Sources/Runic/SessionQuotaNotifications.swift +0 -58
  243. package/Sources/Runic/UsagePaceText.swift +0 -52
  244. package/Sources/Runic/UsageProgressBar.swift +0 -228
  245. package/Sources/Runic/Utilities/DisplayLink.swift +0 -96
  246. package/Sources/Runic/Utilities/LoadingPattern.swift +0 -62
  247. package/Sources/Runic/Utilities/PerformanceConstants.swift +0 -85
  248. package/Sources/Runic/Views/Menu/AlertsMenuView.swift +0 -254
  249. package/Sources/Runic/Views/Menu/ChartPanelStyle.swift +0 -22
  250. package/Sources/Runic/Views/Menu/CostComparativeChartMenuView.swift +0 -275
  251. package/Sources/Runic/Views/Menu/CostHistoryChartMenuView.swift +0 -377
  252. package/Sources/Runic/Views/Menu/CreditsHistoryChartMenuView.swift +0 -312
  253. package/Sources/Runic/Views/Menu/EfficiencyMetricsMenuView.swift +0 -311
  254. package/Sources/Runic/Views/Menu/HeroStatCardsMenuView.swift +0 -231
  255. package/Sources/Runic/Views/Menu/HourlyActivityChartMenuView.swift +0 -228
  256. package/Sources/Runic/Views/Menu/InlineUsageChartView.swift +0 -157
  257. package/Sources/Runic/Views/Menu/MenuCardEntranceModifier.swift +0 -63
  258. package/Sources/Runic/Views/Menu/MenuCardSidebarView.swift +0 -248
  259. package/Sources/Runic/Views/Menu/MenuCardSkeletonView.swift +0 -104
  260. package/Sources/Runic/Views/Menu/MenuCardView.swift +0 -1889
  261. package/Sources/Runic/Views/Menu/MenuContent.swift +0 -153
  262. package/Sources/Runic/Views/Menu/MenuDescriptor.swift +0 -371
  263. package/Sources/Runic/Views/Menu/MenuHighlightStyle.swift +0 -35
  264. package/Sources/Runic/Views/Menu/ModelBreakdownMenuView.swift +0 -241
  265. package/Sources/Runic/Views/Menu/OverviewMenuView.swift +0 -281
  266. package/Sources/Runic/Views/Menu/ProjectBreakdownMenuView.swift +0 -214
  267. package/Sources/Runic/Views/Menu/ProjectBudgetMenuView.swift +0 -220
  268. package/Sources/Runic/Views/Menu/ProviderTabBarView.swift +0 -86
  269. package/Sources/Runic/Views/Menu/SubscriptionUtilizationChartMenuView.swift +0 -214
  270. package/Sources/Runic/Views/Menu/UsageBreakdownChartMenuView.swift +0 -398
  271. package/Sources/Runic/Views/Menu/UsageHeatmapMenuView.swift +0 -231
  272. package/Sources/Runic/Views/Menu/UsageTimelineChartMenuView.swift +0 -369
  273. package/Sources/Runic/Views/Menu/UsageWindowComparisonChartMenuView.swift +0 -191
  274. package/Sources/Runic/Views/Menu/WeeklyActivityChartMenuView.swift +0 -132
  275. package/Sources/Runic/Views/Performance/PerformanceDashboardView.swift +0 -621
  276. package/Sources/Runic/Views/Preferences/LiquidComponents.swift +0 -306
  277. package/Sources/Runic/Views/Preferences/PreferencesAboutPane.swift +0 -271
  278. package/Sources/Runic/Views/Preferences/PreferencesAdvancedPane.swift +0 -268
  279. package/Sources/Runic/Views/Preferences/PreferencesAlertsPane.swift +0 -418
  280. package/Sources/Runic/Views/Preferences/PreferencesAnalyticsPane.swift +0 -637
  281. package/Sources/Runic/Views/Preferences/PreferencesBudgetsPane.swift +0 -344
  282. package/Sources/Runic/Views/Preferences/PreferencesComponents.swift +0 -230
  283. package/Sources/Runic/Views/Preferences/PreferencesCustomProvidersPane.swift +0 -321
  284. package/Sources/Runic/Views/Preferences/PreferencesDebugPane.swift +0 -469
  285. package/Sources/Runic/Views/Preferences/PreferencesGeneralPane.swift +0 -250
  286. package/Sources/Runic/Views/Preferences/PreferencesHelpPane.swift +0 -50
  287. package/Sources/Runic/Views/Preferences/PreferencesIntegrationsPane.swift +0 -572
  288. package/Sources/Runic/Views/Preferences/PreferencesPerformancePane.swift +0 -291
  289. package/Sources/Runic/Views/Preferences/PreferencesProvidersPane.swift +0 -3480
  290. package/Sources/Runic/Views/Preferences/PreferencesSelection.swift +0 -29
  291. package/Sources/Runic/Views/Preferences/PreferencesSyncPane.swift +0 -61
  292. package/Sources/Runic/Views/Preferences/PreferencesView.swift +0 -213
  293. package/Sources/Runic/Views/Rating/QualityRatingView.swift +0 -238
  294. package/Sources/Runic/Views/Team/TeamDashboardView.swift +0 -376
  295. package/Sources/Runic/Views/Team/TeamInviteSheet.swift +0 -175
  296. package/Sources/Runic/Views/Team/TeamManagementView.swift +0 -762
  297. package/Sources/Runic/Views/Team/TeamMemberRow.swift +0 -181
  298. package/Sources/RunicCLI/CLIEntry.swift +0 -983
  299. package/Sources/RunicCLI/CLIRenderer.swift +0 -87
  300. package/Sources/RunicCLI/Commands/EnhancedUsageCommand.swift +0 -588
  301. package/Sources/RunicCLI/Commands/ModelsCommand.swift +0 -363
  302. package/Sources/RunicCLI/Commands/ProjectsCommand.swift +0 -453
  303. package/Sources/RunicCLI/Commands/ResetCommand.swift +0 -430
  304. package/Sources/RunicCLI/Commands/UsageLedgerSourceFactory.swift +0 -167
  305. package/Sources/RunicClaudeWatchdog/main.swift +0 -122
  306. package/Sources/RunicClaudeWebProbe/main.swift +0 -62
  307. package/Sources/RunicCore/AlertRuleStore.swift +0 -187
  308. package/Sources/RunicCore/BrowserCookieImportOrder.swift +0 -25
  309. package/Sources/RunicCore/CopilotUsageModels.swift +0 -84
  310. package/Sources/RunicCore/CostUsageFetcher.swift +0 -119
  311. package/Sources/RunicCore/CostUsageModels.swift +0 -479
  312. package/Sources/RunicCore/CreditsModels.swift +0 -50
  313. package/Sources/RunicCore/CustomProviders/CustomProviderModels.swift +0 -268
  314. package/Sources/RunicCore/CustomProviders/GenericProviderFetcher.swift +0 -631
  315. package/Sources/RunicCore/CustomProviders/ProviderTemplates.swift +0 -444
  316. package/Sources/RunicCore/Host/PTY/TTYCommandRunner.swift +0 -679
  317. package/Sources/RunicCore/Host/Process/SubprocessRunner.swift +0 -135
  318. package/Sources/RunicCore/Integrations/GitHubIntegration.swift +0 -173
  319. package/Sources/RunicCore/Logging/JSONStderrLogHandler.swift +0 -79
  320. package/Sources/RunicCore/Logging/OSLogLogHandler.swift +0 -86
  321. package/Sources/RunicCore/Logging/RunicLog.swift +0 -123
  322. package/Sources/RunicCore/Models/EnhancedUsageModels.swift +0 -370
  323. package/Sources/RunicCore/OpenAIDashboardModels.swift +0 -210
  324. package/Sources/RunicCore/OpenAIWeb/OpenAIDashboardBrowserCookieImporter.swift +0 -676
  325. package/Sources/RunicCore/OpenAIWeb/OpenAIDashboardFetcher.swift +0 -492
  326. package/Sources/RunicCore/OpenAIWeb/OpenAIDashboardNavigationDelegate.swift +0 -51
  327. package/Sources/RunicCore/OpenAIWeb/OpenAIDashboardParser.swift +0 -483
  328. package/Sources/RunicCore/OpenAIWeb/OpenAIDashboardScrapeScript.swift +0 -558
  329. package/Sources/RunicCore/OpenAIWeb/OpenAIDashboardWebViewCache.swift +0 -204
  330. package/Sources/RunicCore/OpenAIWeb/OpenAIDashboardWebsiteDataStore.swift +0 -78
  331. package/Sources/RunicCore/PathEnvironment.swift +0 -482
  332. package/Sources/RunicCore/Performance/PerformanceModels.swift +0 -371
  333. package/Sources/RunicCore/Performance/PerformanceStorageImpl.swift +0 -426
  334. package/Sources/RunicCore/Policy/UsagePolicyEngine.swift +0 -178
  335. package/Sources/RunicCore/ProjectBudgetStore.swift +0 -102
  336. package/Sources/RunicCore/ProviderCostSnapshot.swift +0 -29
  337. package/Sources/RunicCore/Providers/Antigravity/AntigravityProviderDescriptor.swift +0 -68
  338. package/Sources/RunicCore/Providers/Antigravity/AntigravityStatusProbe.swift +0 -685
  339. package/Sources/RunicCore/Providers/Auggie/AuggieProviderDescriptor.swift +0 -83
  340. package/Sources/RunicCore/Providers/Auggie/AuggieUsageFetcher.swift +0 -142
  341. package/Sources/RunicCore/Providers/Azure/AzureProviderDescriptor.swift +0 -141
  342. package/Sources/RunicCore/Providers/Azure/AzureUsageFetcher.swift +0 -188
  343. package/Sources/RunicCore/Providers/Bedrock/BedrockProviderDescriptor.swift +0 -126
  344. package/Sources/RunicCore/Providers/Bedrock/BedrockUsageFetcher.swift +0 -164
  345. package/Sources/RunicCore/Providers/Cerebras/CerebrasProviderDescriptor.swift +0 -84
  346. package/Sources/RunicCore/Providers/Cerebras/CerebrasUsageFetcher.swift +0 -75
  347. package/Sources/RunicCore/Providers/Claude/ClaudeCLISession.swift +0 -332
  348. package/Sources/RunicCore/Providers/Claude/ClaudeOAuth/ClaudeOAuthCredentials.swift +0 -180
  349. package/Sources/RunicCore/Providers/Claude/ClaudeOAuth/ClaudeOAuthUsageFetcher.swift +0 -137
  350. package/Sources/RunicCore/Providers/Claude/ClaudeProviderDescriptor.swift +0 -209
  351. package/Sources/RunicCore/Providers/Claude/ClaudeStatusProbe.swift +0 -654
  352. package/Sources/RunicCore/Providers/Claude/ClaudeUsageDataSource.swift +0 -30
  353. package/Sources/RunicCore/Providers/Claude/ClaudeUsageFetcher.swift +0 -480
  354. package/Sources/RunicCore/Providers/Claude/ClaudeWeb/ClaudeWebAPIFetcher.swift +0 -780
  355. package/Sources/RunicCore/Providers/Codex/CodexOAuth/CodexOAuthCredentials.swift +0 -147
  356. package/Sources/RunicCore/Providers/Codex/CodexOAuth/CodexOAuthUsageFetcher.swift +0 -280
  357. package/Sources/RunicCore/Providers/Codex/CodexOAuth/CodexTokenRefresher.swift +0 -100
  358. package/Sources/RunicCore/Providers/Codex/CodexProviderDescriptor.swift +0 -245
  359. package/Sources/RunicCore/Providers/Codex/CodexStatusProbe.swift +0 -125
  360. package/Sources/RunicCore/Providers/Codex/CodexUsageDataSource.swift +0 -26
  361. package/Sources/RunicCore/Providers/Codex/CodexWebDashboardStrategy.swift +0 -183
  362. package/Sources/RunicCore/Providers/Cohere/CohereProviderDescriptor.swift +0 -83
  363. package/Sources/RunicCore/Providers/Cohere/CohereUsageFetcher.swift +0 -85
  364. package/Sources/RunicCore/Providers/Copilot/CopilotDeviceFlow.swift +0 -123
  365. package/Sources/RunicCore/Providers/Copilot/CopilotGitHubCLITokenReader.swift +0 -117
  366. package/Sources/RunicCore/Providers/Copilot/CopilotProviderDescriptor.swift +0 -100
  367. package/Sources/RunicCore/Providers/Copilot/CopilotUsageFetcher.swift +0 -293
  368. package/Sources/RunicCore/Providers/Copilot/CopilotVSCodeTokenReader.swift +0 -385
  369. package/Sources/RunicCore/Providers/Cursor/CursorProviderDescriptor.swift +0 -67
  370. package/Sources/RunicCore/Providers/Cursor/CursorStatusProbe.swift +0 -595
  371. package/Sources/RunicCore/Providers/DeepSeek/DeepSeekProviderDescriptor.swift +0 -85
  372. package/Sources/RunicCore/Providers/DeepSeek/DeepSeekUsageFetcher.swift +0 -108
  373. package/Sources/RunicCore/Providers/Factory/FactoryLocalStorageImporter.swift +0 -398
  374. package/Sources/RunicCore/Providers/Factory/FactoryProviderDescriptor.swift +0 -67
  375. package/Sources/RunicCore/Providers/Factory/FactoryStatusProbe.swift +0 -1276
  376. package/Sources/RunicCore/Providers/Fireworks/FireworksProviderDescriptor.swift +0 -84
  377. package/Sources/RunicCore/Providers/Fireworks/FireworksUsageFetcher.swift +0 -75
  378. package/Sources/RunicCore/Providers/Gemini/GeminiProviderDescriptor.swift +0 -67
  379. package/Sources/RunicCore/Providers/Gemini/GeminiStatusProbe.swift +0 -839
  380. package/Sources/RunicCore/Providers/Groq/GroqProviderDescriptor.swift +0 -83
  381. package/Sources/RunicCore/Providers/Groq/GroqUsageFetcher.swift +0 -71
  382. package/Sources/RunicCore/Providers/Kimi/KimiProviderDescriptor.swift +0 -83
  383. package/Sources/RunicCore/Providers/Kimi/KimiUsageFetcher.swift +0 -77
  384. package/Sources/RunicCore/Providers/MiniMax/MiniMaxProviderDescriptor.swift +0 -97
  385. package/Sources/RunicCore/Providers/MiniMax/MiniMaxSettingsReader.swift +0 -54
  386. package/Sources/RunicCore/Providers/MiniMax/MiniMaxUsageFetcher.swift +0 -168
  387. package/Sources/RunicCore/Providers/MiniMax/MiniMaxWebUsageFetcher.swift +0 -911
  388. package/Sources/RunicCore/Providers/Mistral/MistralProviderDescriptor.swift +0 -84
  389. package/Sources/RunicCore/Providers/Mistral/MistralUsageFetcher.swift +0 -75
  390. package/Sources/RunicCore/Providers/OpenRouter/OpenRouterProviderDescriptor.swift +0 -87
  391. package/Sources/RunicCore/Providers/OpenRouter/OpenRouterUsageFetcher.swift +0 -216
  392. package/Sources/RunicCore/Providers/Perplexity/PerplexityProviderDescriptor.swift +0 -84
  393. package/Sources/RunicCore/Providers/Perplexity/PerplexityUsageFetcher.swift +0 -75
  394. package/Sources/RunicCore/Providers/ProviderBranding.swift +0 -25
  395. package/Sources/RunicCore/Providers/ProviderCLIConfig.swift +0 -17
  396. package/Sources/RunicCore/Providers/ProviderDescriptor.swift +0 -129
  397. package/Sources/RunicCore/Providers/ProviderFetchPlan.swift +0 -263
  398. package/Sources/RunicCore/Providers/ProviderSettingsSnapshot.swift +0 -98
  399. package/Sources/RunicCore/Providers/ProviderTokenResolver.swift +0 -501
  400. package/Sources/RunicCore/Providers/ProviderVersionDetector.swift +0 -68
  401. package/Sources/RunicCore/Providers/Providers.swift +0 -184
  402. package/Sources/RunicCore/Providers/Qwen/QwenProviderDescriptor.swift +0 -86
  403. package/Sources/RunicCore/Providers/Qwen/QwenSettingsReader.swift +0 -30
  404. package/Sources/RunicCore/Providers/Qwen/QwenUsageStats.swift +0 -328
  405. package/Sources/RunicCore/Providers/SambaNova/SambaNovaProviderDescriptor.swift +0 -84
  406. package/Sources/RunicCore/Providers/SambaNova/SambaNovaUsageFetcher.swift +0 -75
  407. package/Sources/RunicCore/Providers/Together/TogetherProviderDescriptor.swift +0 -83
  408. package/Sources/RunicCore/Providers/Together/TogetherUsageFetcher.swift +0 -75
  409. package/Sources/RunicCore/Providers/VertexAI/VertexAIProviderDescriptor.swift +0 -123
  410. package/Sources/RunicCore/Providers/VertexAI/VertexAISettingsReader.swift +0 -48
  411. package/Sources/RunicCore/Providers/VertexAI/VertexAIUsageFetcher.swift +0 -144
  412. package/Sources/RunicCore/Providers/XAI/XAIProviderDescriptor.swift +0 -83
  413. package/Sources/RunicCore/Providers/XAI/XAIUsageFetcher.swift +0 -75
  414. package/Sources/RunicCore/Providers/Zai/ZaiProviderDescriptor.swift +0 -74
  415. package/Sources/RunicCore/Providers/Zai/ZaiSettingsReader.swift +0 -41
  416. package/Sources/RunicCore/Providers/Zai/ZaiUsageStats.swift +0 -745
  417. package/Sources/RunicCore/Sync/BackgroundSyncManager.swift +0 -384
  418. package/Sources/RunicCore/Sync/SyncConflictResolver.swift +0 -307
  419. package/Sources/RunicCore/Sync/SyncProtocol.swift +0 -287
  420. package/Sources/RunicCore/Sync/SyncRecord.swift +0 -402
  421. package/Sources/RunicCore/Sync/SyncUsageExample.swift +0 -288
  422. package/Sources/RunicCore/Sync/TeamSyncRecords.swift +0 -768
  423. package/Sources/RunicCore/Sync/iCloudSyncEngine.swift +0 -338
  424. package/Sources/RunicCore/Team/TeamModels.swift +0 -584
  425. package/Sources/RunicCore/Team/TeamShowbackExporter.swift +0 -495
  426. package/Sources/RunicCore/Team/TeamStore.swift +0 -809
  427. package/Sources/RunicCore/TextParsing.swift +0 -55
  428. package/Sources/RunicCore/UsageFetcher.swift +0 -694
  429. package/Sources/RunicCore/UsageFormatter.swift +0 -410
  430. package/Sources/RunicCore/UsageLedger/ClaudeUsageLogSource.swift +0 -441
  431. package/Sources/RunicCore/UsageLedger/CodexUsageLogSource.swift +0 -502
  432. package/Sources/RunicCore/UsageLedger/LedgerCache.swift +0 -161
  433. package/Sources/RunicCore/UsageLedger/OTelGenAILedgerAdapter.swift +0 -550
  434. package/Sources/RunicCore/UsageLedger/UsageLedger.swift +0 -29
  435. package/Sources/RunicCore/UsageLedger/UsageLedgerAggregator.swift +0 -675
  436. package/Sources/RunicCore/UsageLedger/UsageLedgerInsightsAdvisor.swift +0 -209
  437. package/Sources/RunicCore/UsageLedger/UsageLedgerModels.swift +0 -417
  438. package/Sources/RunicCore/UsageLedger/UsageLedgerProjectIdentity.swift +0 -284
  439. package/Sources/RunicCore/UsagePace.swift +0 -81
  440. package/Sources/RunicCore/Vendored/CostUsage/CostUsageCache.swift +0 -73
  441. package/Sources/RunicCore/Vendored/CostUsage/CostUsageJsonl.swift +0 -74
  442. package/Sources/RunicCore/Vendored/CostUsage/CostUsagePricing.swift +0 -208
  443. package/Sources/RunicCore/Vendored/CostUsage/CostUsageScanner+Claude.swift +0 -455
  444. package/Sources/RunicCore/Vendored/CostUsage/CostUsageScanner+Timestamp.swift +0 -132
  445. package/Sources/RunicCore/Vendored/CostUsage/CostUsageScanner.swift +0 -589
  446. package/Sources/RunicCore/WidgetSnapshot.swift +0 -183
  447. package/Sources/RunicMacroSupport/ProviderRegistrationMacros.swift +0 -14
  448. package/Sources/RunicMacros/ProviderRegistrationMacros.swift +0 -216
  449. package/Sources/RunicWidget/RunicWidgetBundle.swift +0 -79
  450. package/Sources/RunicWidget/RunicWidgetProvider.swift +0 -283
  451. package/Sources/RunicWidget/RunicWidgetViews.swift +0 -680
  452. package/Tests/RunicTests/AntigravityStatusProbeTests.swift +0 -50
  453. package/Tests/RunicTests/AppDelegateTests.swift +0 -48
  454. package/Tests/RunicTests/BrowserCookieOrderLabelTests.swift +0 -21
  455. package/Tests/RunicTests/CLIArgumentParsingTests.swift +0 -69
  456. package/Tests/RunicTests/CLICostTests.swift +0 -64
  457. package/Tests/RunicTests/CLIProviderSelectionTests.swift +0 -21
  458. package/Tests/RunicTests/CLISnapshotTests.swift +0 -71
  459. package/Tests/RunicTests/CLIWebFallbackTests.swift +0 -57
  460. package/Tests/RunicTests/ClaudeOAuthTests.swift +0 -163
  461. package/Tests/RunicTests/ClaudeResilienceTests.swift +0 -29
  462. package/Tests/RunicTests/ClaudeUsageTests.swift +0 -369
  463. package/Tests/RunicTests/CodexOAuthTests.swift +0 -121
  464. package/Tests/RunicTests/CodexUsageLogSourceTests.swift +0 -80
  465. package/Tests/RunicTests/CopilotTokenResolverTests.swift +0 -74
  466. package/Tests/RunicTests/CopilotVSCodeTokenReaderTests.swift +0 -74
  467. package/Tests/RunicTests/CostUsageDecodingTests.swift +0 -392
  468. package/Tests/RunicTests/CostUsagePricingTests.swift +0 -48
  469. package/Tests/RunicTests/CostUsageScannerTests.swift +0 -698
  470. package/Tests/RunicTests/CursorStatusProbeTests.swift +0 -322
  471. package/Tests/RunicTests/FactoryStatusProbeTests.swift +0 -67
  472. package/Tests/RunicTests/GeminiAPITestHelpers.swift +0 -94
  473. package/Tests/RunicTests/GeminiLoginAlertTests.swift +0 -27
  474. package/Tests/RunicTests/GeminiStatusProbeAPITests.swift +0 -283
  475. package/Tests/RunicTests/GeminiStatusProbePlanTests.swift +0 -279
  476. package/Tests/RunicTests/GeminiStatusProbeTests.swift +0 -232
  477. package/Tests/RunicTests/GeminiTestEnvironment.swift +0 -87
  478. package/Tests/RunicTests/GoogleWorkspaceStatusTests.swift +0 -72
  479. package/Tests/RunicTests/InstallOriginTests.swift +0 -17
  480. package/Tests/RunicTests/KeyboardShortcutsBundleTests.swift +0 -9
  481. package/Tests/RunicTests/LiveAccountTests.swift +0 -24
  482. package/Tests/RunicTests/LoadingPatternTests.swift +0 -34
  483. package/Tests/RunicTests/MenuCardModelTests.swift +0 -544
  484. package/Tests/RunicTests/MiniMaxCookieHeaderStoreTestSupport.swift +0 -11
  485. package/Tests/RunicTests/MiniMaxGroupIDStoreTestSupport.swift +0 -11
  486. package/Tests/RunicTests/MiniMaxParsingTests.swift +0 -67
  487. package/Tests/RunicTests/MiniMaxTokenStoreTestSupport.swift +0 -11
  488. package/Tests/RunicTests/OTelGenAILedgerAdapterTests.swift +0 -110
  489. package/Tests/RunicTests/OpenAIDashboardBrowserCookieImporterTests.swift +0 -16
  490. package/Tests/RunicTests/OpenAIDashboardFetcherCreditsWaitTests.swift +0 -74
  491. package/Tests/RunicTests/OpenAIDashboardOffscreenHostTests.swift +0 -26
  492. package/Tests/RunicTests/OpenAIDashboardParserTests.swift +0 -133
  493. package/Tests/RunicTests/OpenAIWebAccountSwitchTests.swift +0 -64
  494. package/Tests/RunicTests/OpenRouterTokenStoreTestSupport.swift +0 -131
  495. package/Tests/RunicTests/PathBuilderTests.swift +0 -236
  496. package/Tests/RunicTests/ProviderFetchPipelineTests.swift +0 -159
  497. package/Tests/RunicTests/ProviderIconResourcesTests.swift +0 -37
  498. package/Tests/RunicTests/ProviderMetadataStatusLinkTests.swift +0 -15
  499. package/Tests/RunicTests/ProviderRegistryTests.swift +0 -29
  500. package/Tests/RunicTests/ProviderSettingsDescriptorTests.swift +0 -236
  501. package/Tests/RunicTests/ProviderToggleStoreTests.swift +0 -50
  502. package/Tests/RunicTests/RunicTests.swift +0 -119
  503. package/Tests/RunicTests/SessionQuotaNotificationLogicTests.swift +0 -35
  504. package/Tests/RunicTests/SettingsStoreTests.swift +0 -265
  505. package/Tests/RunicTests/StatusItemAnimationTests.swift +0 -54
  506. package/Tests/RunicTests/StatusMenuTests.swift +0 -475
  507. package/Tests/RunicTests/StatusProbeTests.swift +0 -376
  508. package/Tests/RunicTests/SubprocessRunnerTests.swift +0 -18
  509. package/Tests/RunicTests/SubscriptionDetectionTests.swift +0 -64
  510. package/Tests/RunicTests/TTYCommandRunnerTests.swift +0 -147
  511. package/Tests/RunicTests/TTYIntegrationTests.swift +0 -41
  512. package/Tests/RunicTests/TeamShowbackExporterTests.swift +0 -157
  513. package/Tests/RunicTests/TextParsingTests.swift +0 -11
  514. package/Tests/RunicTests/UsageFormatterTests.swift +0 -111
  515. package/Tests/RunicTests/UsageLedgerAnomalyDetectionTests.swift +0 -170
  516. package/Tests/RunicTests/UsageLedgerForecastTests.swift +0 -211
  517. package/Tests/RunicTests/UsageLedgerInsightsAdvisorTests.swift +0 -81
  518. package/Tests/RunicTests/UsageLedgerProjectNameTests.swift +0 -168
  519. package/Tests/RunicTests/UsagePaceTests.swift +0 -76
  520. package/Tests/RunicTests/UsagePaceTextTests.swift +0 -108
  521. package/Tests/RunicTests/UsagePolicyEngineTests.swift +0 -89
  522. package/Tests/RunicTests/WidgetSnapshotTests.swift +0 -43
  523. package/Tests/RunicTests/ZaiProviderTests.swift +0 -59
  524. package/Tests/RunicTests/ZaiTokenStoreTestSupport.swift +0 -9
  525. package/TestsLinux/PlatformGatingTests.swift +0 -46
  526. package/appcast.xml +0 -104
  527. package/assets/logo-concept-stack.svg +0 -24
  528. package/assets/logo-minimal-bars.svg +0 -15
  529. package/assets/logo.svg +0 -20
  530. package/assets/logo2.svg +0 -43
  531. package/bin/docs-list +0 -5
  532. package/build-and-run.sh +0 -369
  533. package/docs/.nojekyll +0 -1
  534. package/docs/CNAME +0 -1
  535. package/docs/antigravity.md +0 -75
  536. package/docs/architecture.md +0 -32
  537. package/docs/claude.md +0 -93
  538. package/docs/cli-commands/integration_guide.md +0 -371
  539. package/docs/cli-commands/quick_reference.md +0 -362
  540. package/docs/cli-commands/readme.md +0 -361
  541. package/docs/cli.md +0 -156
  542. package/docs/cloudkit_sync_guide.md +0 -495
  543. package/docs/codebase_review.md +0 -288
  544. package/docs/codex-oauth.md +0 -635
  545. package/docs/codex.md +0 -104
  546. package/docs/codexbar.png +0 -0
  547. package/docs/copilot.md +0 -44
  548. package/docs/cursor.md +0 -46
  549. package/docs/design/designcomparisonchart.md +0 -510
  550. package/docs/design/implementationguide.md +0 -792
  551. package/docs/design/menubaricondesignconcepts.md +0 -796
  552. package/docs/design/mockups/hybridiconconcept.svg +0 -62
  553. package/docs/design/mockups/infinityiconconcept.svg +0 -41
  554. package/docs/design/mockups/infinityiconstates.svg +0 -129
  555. package/docs/design/mockups/wavelogorefined.svg +0 -48
  556. package/docs/design/quick_summary.md +0 -426
  557. package/docs/design/readme.md +0 -478
  558. package/docs/design/sizespecifications.md +0 -575
  559. package/docs/design-system.md +0 -836
  560. package/docs/factory.md +0 -103
  561. package/docs/gemini.md +0 -73
  562. package/docs/icon.md +0 -37
  563. package/docs/icon.png +0 -0
  564. package/docs/index.html +0 -175
  565. package/docs/keychain_fix.md +0 -274
  566. package/docs/minimax.md +0 -71
  567. package/docs/packaging.md +0 -25
  568. package/docs/progress-bar-improvements.md +0 -240
  569. package/docs/progress-bar-quick-reference.md +0 -283
  570. package/docs/progress-bar-technical-details.md +0 -432
  571. package/docs/progress-bar-visual-test.swift +0 -375
  572. package/docs/provider.md +0 -202
  573. package/docs/providers.md +0 -86
  574. package/docs/refactor/macros.md +0 -35
  575. package/docs/refresh-loop.md +0 -22
  576. package/docs/releasing-homebrew.md +0 -35
  577. package/docs/releasing.md +0 -121
  578. package/docs/research/concrete_todo_2026-02-22.md +0 -47
  579. package/docs/research/core-feature-research.md +0 -248
  580. package/docs/research/feature_uiux_roadmap_2026-02-22.md +0 -202
  581. package/docs/research/parity_matrix.md +0 -49
  582. package/docs/research/provider_expansion_candidates_2026-02-22.md +0 -80
  583. package/docs/research/provider_model_token_project_matrix_2026-02-23.md +0 -46
  584. package/docs/research/release_gate_checklist.md +0 -57
  585. package/docs/site.css +0 -505
  586. package/docs/sparkle.md +0 -28
  587. package/docs/status.md +0 -28
  588. package/docs/sync/implementation.md +0 -393
  589. package/docs/sync/readme.md +0 -317
  590. package/docs/sync_files_summary.md +0 -391
  591. package/docs/sync_quick_reference.md +0 -225
  592. package/docs/todo.md +0 -11
  593. package/docs/ui.md +0 -29
  594. package/docs/web-integration.md +0 -9
  595. package/docs/widgets.md +0 -85
  596. package/docs/workflows/error-handling-improvements.md +0 -434
  597. package/docs/workflows/folder_structure.md +0 -299
  598. package/docs/workflows/loading_states.md +0 -446
  599. package/docs/workflows/loading_states_examples.md +0 -565
  600. package/docs/workflows/loading_states_flow.md +0 -430
  601. package/docs/workflows/performance_optimizations.md +0 -457
  602. package/docs/workflows/phase1-cli-testing-report.md +0 -313
  603. package/docs/workflows/quick_reference.md +0 -228
  604. package/docs/workflows/readme.md +0 -59
  605. package/docs/workflows/recent_improvements.md +0 -275
  606. package/docs/workflows/sync_enablement_summary.md +0 -400
  607. package/docs/zai.md +0 -43
  608. package/runic.png +0 -0
  609. package/runic.svg +0 -15
  610. package/version.env +0 -2
@@ -1,926 +0,0 @@
1
- # Runic Build Scripts Documentation
2
-
3
- Complete collection of setup and build scripts for all Runic platforms.
4
-
5
- ## Table of Contents
6
-
7
- - [Overview](#overview)
8
- - [Quick Start](#quick-start)
9
- - [Setup Scripts](#setup-scripts)
10
- - [Build Scripts](#build-scripts)
11
- - [CI/CD Configuration](#cicd-configuration)
12
- - [Platform-Specific Guides](#platform-specific-guides)
13
- - [Troubleshooting](#troubleshooting)
14
- - [Advanced Usage](#advanced-usage)
15
-
16
- ---
17
-
18
- ## Overview
19
-
20
- This directory contains comprehensive scripts for setting up and building Runic across all supported platforms:
21
-
22
- - **macOS** - Native Swift/SwiftUI application
23
- - **iOS** - Native iOS application
24
- - **Android** - React Native application
25
- - **Windows** - React Native Windows application
26
-
27
- All scripts include:
28
- - ✅ Prerequisite checking
29
- - ✅ Error handling with clear messages
30
- - ✅ Color-coded output for better UX
31
- - ✅ Dry-run mode for safety
32
- - ✅ Verbose mode for debugging
33
- - ✅ Comprehensive logging
34
-
35
- ---
36
-
37
- ## Quick Start
38
-
39
- ### One-Command Setup (All Platforms)
40
-
41
- ```bash
42
- # Setup everything
43
- ./scripts/setup-all.sh
44
-
45
- # Setup with dry-run to see what would happen
46
- ./scripts/setup-all.sh --dry-run
47
-
48
- # Setup with verbose output
49
- ./scripts/setup-all.sh --verbose
50
- ```
51
-
52
- ### One-Command Build (All Platforms)
53
-
54
- ```bash
55
- # Build all platforms
56
- ./scripts/build-all.sh
57
-
58
- # Build specific platform
59
- ./scripts/build-macos.sh
60
- ./scripts/build-ios.sh
61
- ./scripts/build-android.sh
62
- ./scripts/build-windows.sh
63
- ```
64
-
65
- ---
66
-
67
- ## Setup Scripts
68
-
69
- ### setup-all.sh
70
-
71
- **Purpose**: One-command setup for all platforms
72
-
73
- **Usage**:
74
- ```bash
75
- ./scripts/setup-all.sh [OPTIONS]
76
- ```
77
-
78
- **Options**:
79
- - `--dry-run` - Show what would be done without executing
80
- - `--verbose` - Enable verbose output
81
- - `--only-macos` - Only setup macOS
82
- - `--only-ios` - Only setup iOS
83
- - `--only-rn` - Only setup React Native (Android/Windows)
84
- - `--skip-macos` - Skip macOS setup
85
- - `--skip-ios` - Skip iOS setup
86
- - `--skip-rn` - Skip React Native setup
87
- - `--help` - Show help message
88
-
89
- **Examples**:
90
- ```bash
91
- # Setup everything
92
- ./scripts/setup-all.sh
93
-
94
- # Setup only iOS
95
- ./scripts/setup-all.sh --only-ios
96
-
97
- # Setup everything except React Native
98
- ./scripts/setup-all.sh --skip-rn
99
-
100
- # Dry-run to see what would happen
101
- ./scripts/setup-all.sh --dry-run --verbose
102
- ```
103
-
104
- ---
105
-
106
- ### setup-ios.sh
107
-
108
- **Purpose**: Setup iOS Xcode project
109
-
110
- **Prerequisites**:
111
- - macOS 14.0+
112
- - Xcode 15.0+
113
- - Command Line Tools
114
- - Ruby (for CocoaPods)
115
-
116
- **Usage**:
117
- ```bash
118
- ./scripts/setup-ios.sh [OPTIONS]
119
- ```
120
-
121
- **Options**:
122
- - `--dry-run` - Show what would be done
123
- - `--verbose` - Enable verbose output
124
- - `--skip-pods` - Skip CocoaPods installation
125
- - `--help` - Show help message
126
-
127
- **What it does**:
128
- 1. Checks for Xcode and required tools
129
- 2. Verifies iOS project structure
130
- 3. Installs CocoaPods dependencies (if Podfile exists)
131
- 4. Resolves Swift Package dependencies
132
- 5. Creates configuration template
133
- 6. Provides code signing instructions
134
-
135
- **Examples**:
136
- ```bash
137
- # Standard setup
138
- ./scripts/setup-ios.sh
139
-
140
- # Skip CocoaPods
141
- ./scripts/setup-ios.sh --skip-pods
142
-
143
- # Verbose output for debugging
144
- ./scripts/setup-ios.sh --verbose
145
- ```
146
-
147
- ---
148
-
149
- ### setup-react-native.sh
150
-
151
- **Purpose**: Setup React Native project for Windows and Android
152
-
153
- **Prerequisites**:
154
- - Node.js 18+
155
- - npm or yarn
156
- - Java Development Kit 17+ (for Android)
157
- - Android SDK (for Android)
158
- - Windows 10+ with Visual Studio (for Windows)
159
-
160
- **Usage**:
161
- ```bash
162
- ./scripts/setup-react-native.sh [OPTIONS]
163
- ```
164
-
165
- **Options**:
166
- - `--dry-run` - Show what would be done
167
- - `--verbose` - Enable verbose output
168
- - `--skip-android` - Skip Android setup
169
- - `--skip-windows` - Skip Windows setup
170
- - `--help` - Show help message
171
-
172
- **What it does**:
173
- 1. Checks for Node.js, npm, Java, Android SDK
174
- 2. Installs npm dependencies
175
- 3. Sets up Android SDK configuration
176
- 4. Initializes React Native Windows (if needed)
177
- 5. Creates environment configuration files
178
- 6. Checks for code quality tools (ESLint, Prettier)
179
-
180
- **Examples**:
181
- ```bash
182
- # Setup both Android and Windows
183
- ./scripts/setup-react-native.sh
184
-
185
- # Setup only Android
186
- ./scripts/setup-react-native.sh --skip-windows
187
-
188
- # Setup only Windows
189
- ./scripts/setup-react-native.sh --skip-android
190
- ```
191
-
192
- ---
193
-
194
- ## Build Scripts
195
-
196
- ### build-macos.sh
197
-
198
- **Purpose**: Build macOS application using Swift Package Manager
199
-
200
- **Usage**:
201
- ```bash
202
- ./scripts/build-macos.sh [OPTIONS]
203
- ```
204
-
205
- **Options**:
206
- - `--dry-run` - Show what would be done
207
- - `--verbose` - Enable verbose output
208
- - `--skip-tests` - Skip running tests
209
- - `--skip-signing` - Skip code signing
210
- - `--configuration` - Build configuration (debug|release) [default: release]
211
- - `--output-dir` - Output directory for build artifacts
212
- - `--clean` - Clean build directory before building
213
- - `--help` - Show help message
214
-
215
- **What it does**:
216
- 1. Runs SwiftLint and SwiftFormat checks
217
- 2. Executes Swift tests
218
- 3. Builds the application
219
- 4. Creates .app bundle with Info.plist
220
- 5. Signs the application (if certificates available)
221
- 6. Creates ZIP archive for distribution
222
-
223
- **Output**:
224
- - `builds/macos/Runic.app` - Application bundle
225
- - `builds/macos/Runic-*.zip` - Distributable archive
226
-
227
- **Examples**:
228
- ```bash
229
- # Standard release build
230
- ./scripts/build-macos.sh
231
-
232
- # Debug build without tests
233
- ./scripts/build-macos.sh --configuration debug --skip-tests
234
-
235
- # Clean build with verbose output
236
- ./scripts/build-macos.sh --clean --verbose
237
-
238
- # Dry-run to see what would happen
239
- ./scripts/build-macos.sh --dry-run
240
- ```
241
-
242
- ---
243
-
244
- ### build-ios.sh
245
-
246
- **Purpose**: Build iOS application using Xcode
247
-
248
- **Usage**:
249
- ```bash
250
- ./scripts/build-ios.sh [OPTIONS]
251
- ```
252
-
253
- **Options**:
254
- - `--dry-run` - Show what would be done
255
- - `--verbose` - Enable verbose output
256
- - `--skip-tests` - Skip running tests
257
- - `--configuration` - Build configuration (Debug|Release) [default: Release]
258
- - `--scheme` - Build scheme [default: RuniciOS]
259
- - `--output-dir` - Output directory for build artifacts
260
- - `--simulator` - Build for iOS Simulator
261
- - `--device` - Build for iOS Device [default]
262
- - `--archive` - Create archive and IPA
263
- - `--clean` - Clean build directory before building
264
- - `--help` - Show help message
265
-
266
- **What it does**:
267
- 1. Runs iOS tests (optional)
268
- 2. Builds for simulator or device
269
- 3. Creates archive (optional)
270
- 4. Exports IPA (requires code signing)
271
-
272
- **Output**:
273
- - `builds/ios/DerivedData/` - Build products
274
- - `builds/ios/RuniciOS.xcarchive` - Archive (if --archive)
275
- - `builds/ios/Export/*.ipa` - IPA file (if --archive and signed)
276
-
277
- **Examples**:
278
- ```bash
279
- # Build for device
280
- ./scripts/build-ios.sh --device
281
-
282
- # Build for simulator
283
- ./scripts/build-ios.sh --simulator
284
-
285
- # Create archive and IPA
286
- ./scripts/build-ios.sh --archive
287
-
288
- # Debug build for simulator without tests
289
- ./scripts/build-ios.sh --simulator --configuration Debug --skip-tests
290
- ```
291
-
292
- **Code Signing Note**:
293
- - Device builds and archives require valid code signing certificates
294
- - See [iOS Code Signing](#ios-code-signing) section
295
-
296
- ---
297
-
298
- ### build-android.sh
299
-
300
- **Purpose**: Build Android application using Gradle
301
-
302
- **Usage**:
303
- ```bash
304
- ./scripts/build-android.sh [OPTIONS]
305
- ```
306
-
307
- **Options**:
308
- - `--dry-run` - Show what would be done
309
- - `--verbose` - Enable verbose output
310
- - `--skip-tests` - Skip running tests
311
- - `--skip-lint` - Skip lint checks
312
- - `--variant` - Build variant (debug|release) [default: release]
313
- - `--output-dir` - Output directory for build artifacts
314
- - `--aab` - Build Android App Bundle (AAB) instead of APK
315
- - `--clean` - Clean build directory before building
316
- - `--help` - Show help message
317
-
318
- **What it does**:
319
- 1. Checks for Java and Android SDK
320
- 2. Installs npm dependencies
321
- 3. Runs Android lint checks
322
- 4. Executes tests
323
- 5. Builds APK or AAB
324
- 6. Copies artifacts to output directory
325
-
326
- **Output**:
327
- - `builds/android/app-debug.apk` - Debug APK
328
- - `builds/android/app-release.apk` - Release APK (unsigned without keystore)
329
- - `builds/android/app-release.aab` - Release AAB (if --aab)
330
-
331
- **Examples**:
332
- ```bash
333
- # Build debug APK
334
- ./scripts/build-android.sh --variant debug
335
-
336
- # Build release APK
337
- ./scripts/build-android.sh --variant release
338
-
339
- # Build AAB for Play Store
340
- ./scripts/build-android.sh --aab
341
-
342
- # Build without tests and lint
343
- ./scripts/build-android.sh --skip-tests --skip-lint
344
- ```
345
-
346
- **Code Signing Note**:
347
- - Release builds require a keystore for signing
348
- - See [Android Code Signing](#android-code-signing) section
349
-
350
- ---
351
-
352
- ### build-windows.sh
353
-
354
- **Purpose**: Build Windows application using React Native Windows
355
-
356
- **Usage**:
357
- ```bash
358
- ./scripts/build-windows.sh [OPTIONS]
359
- ```
360
-
361
- **Options**:
362
- - `--dry-run` - Show what would be done
363
- - `--verbose` - Enable verbose output
364
- - `--skip-tests` - Skip running tests
365
- - `--configuration` - Build configuration (Debug|Release) [default: Release]
366
- - `--arch` - Target architecture (x64|x86|ARM64) [default: x64]
367
- - `--output-dir` - Output directory for build artifacts
368
- - `--clean` - Clean build directory before building
369
- - `--help` - Show help message
370
-
371
- **What it does**:
372
- 1. Checks for Node.js and MSBuild
373
- 2. Installs npm dependencies
374
- 3. Runs tests
375
- 4. Builds Windows application
376
- 5. Copies build artifacts
377
- 6. Creates distribution package
378
-
379
- **Output**:
380
- - `builds/windows/` - Build artifacts and executable
381
- - `builds/windows/Runic-*.zip` - Distribution package
382
-
383
- **Examples**:
384
- ```bash
385
- # Build release for x64
386
- ./scripts/build-windows.sh
387
-
388
- # Build debug for x64
389
- ./scripts/build-windows.sh --configuration Debug
390
-
391
- # Build for ARM64
392
- ./scripts/build-windows.sh --arch ARM64
393
-
394
- # Clean build
395
- ./scripts/build-windows.sh --clean
396
- ```
397
-
398
- **Platform Note**:
399
- - This script works best on native Windows
400
- - Can run on macOS/Linux via Git Bash but may have limitations
401
-
402
- ---
403
-
404
- ## CI/CD Configuration
405
-
406
- ### ci-config.yml
407
-
408
- **Purpose**: GitHub Actions workflow for automated builds and deployments
409
-
410
- **Location**: Copy to `.github/workflows/ci.yml`
411
-
412
- **Features**:
413
- - ✅ Build matrix for all platforms
414
- - ✅ Automated testing on each platform
415
- - ✅ Code quality checks (SwiftLint, ESLint)
416
- - ✅ Artifact uploading
417
- - ✅ Optional deployment to TestFlight/Play Store
418
- - ✅ Build status summary
419
-
420
- **Triggers**:
421
- - Push to `main` or `develop` branches
422
- - Pull requests to `main`
423
- - Manual workflow dispatch
424
-
425
- **Jobs**:
426
- 1. **code-quality** - ESLint, Prettier, TypeScript checks
427
- 2. **build-macos** - Build and test macOS application
428
- 3. **build-ios** - Build and test iOS application
429
- 4. **build-android** - Build and test Android application
430
- 5. **build-windows** - Build and test Windows application
431
- 6. **deploy** - Optional deployment to distribution platforms
432
- 7. **build-summary** - Generate build status summary
433
-
434
- **Required Secrets**:
435
-
436
- See the [GitHub Secrets Configuration](#github-secrets-configuration) section.
437
-
438
- **Setup**:
439
- ```bash
440
- # Copy to workflows directory
441
- mkdir -p .github/workflows
442
- cp scripts/ci-config.yml .github/workflows/ci.yml
443
-
444
- # Commit and push
445
- git add .github/workflows/ci.yml
446
- git commit -m "Add CI/CD workflow"
447
- git push
448
- ```
449
-
450
- ---
451
-
452
- ## Platform-Specific Guides
453
-
454
- ### macOS Development
455
-
456
- **Setup**:
457
- ```bash
458
- ./scripts/setup-all.sh --only-macos
459
- ```
460
-
461
- **Build**:
462
- ```bash
463
- # Development build
464
- swift build
465
-
466
- # Release build with script
467
- ./scripts/build-macos.sh
468
-
469
- # Run application
470
- open builds/macos/Runic.app
471
- ```
472
-
473
- **Testing**:
474
- ```bash
475
- # Run all tests
476
- swift test
477
-
478
- # Run specific test
479
- swift test --filter RunicTests
480
- ```
481
-
482
- **Code Quality**:
483
- ```bash
484
- # SwiftLint
485
- swiftlint lint
486
-
487
- # SwiftFormat
488
- swiftformat .
489
- ```
490
-
491
- ---
492
-
493
- ### iOS Development
494
-
495
- **Setup**:
496
- ```bash
497
- ./scripts/setup-ios.sh
498
- ```
499
-
500
- **Build**:
501
- ```bash
502
- # Simulator build
503
- ./scripts/build-ios.sh --simulator
504
-
505
- # Device build (requires code signing)
506
- ./scripts/build-ios.sh --device
507
-
508
- # Create IPA for distribution
509
- ./scripts/build-ios.sh --archive
510
- ```
511
-
512
- **Testing**:
513
- ```bash
514
- # Run tests
515
- ./scripts/build-ios.sh --simulator --skip-signing
516
- ```
517
-
518
- **Code Signing**:
519
-
520
- 1. **Development**:
521
- - Open `RuniciOS/*.xcodeproj` or `*.xcworkspace` in Xcode
522
- - Select target → Signing & Capabilities
523
- - Choose your team and enable automatic signing
524
-
525
- 2. **Distribution**:
526
- - Create App ID in Apple Developer Portal
527
- - Create provisioning profile
528
- - Update `RuniciOS/Config.xcconfig` with your team ID
529
-
530
- ---
531
-
532
- ### Android Development
533
-
534
- **Setup**:
535
- ```bash
536
- ./scripts/setup-react-native.sh --skip-windows
537
-
538
- # Set ANDROID_HOME
539
- export ANDROID_HOME=$HOME/Library/Android/sdk
540
- export PATH=$PATH:$ANDROID_HOME/platform-tools
541
- ```
542
-
543
- **Build**:
544
- ```bash
545
- # Debug build
546
- ./scripts/build-android.sh --variant debug
547
-
548
- # Release build
549
- ./scripts/build-android.sh --variant release
550
-
551
- # AAB for Play Store
552
- ./scripts/build-android.sh --aab
553
- ```
554
-
555
- **Testing**:
556
- ```bash
557
- # Run tests
558
- cd runic-cross-platform/android
559
- ./gradlew test
560
-
561
- # Run on emulator
562
- npm run android
563
- ```
564
-
565
- **Code Signing**:
566
-
567
- 1. **Generate Keystore**:
568
- ```bash
569
- keytool -genkey -v -keystore runic-release.keystore \
570
- -alias runic-key -keyalg RSA -keysize 2048 -validity 10000
571
- ```
572
-
573
- 2. **Create `android/keystore.properties`**:
574
- ```properties
575
- storePassword=YOUR_STORE_PASSWORD
576
- keyPassword=YOUR_KEY_PASSWORD
577
- keyAlias=runic-key
578
- storeFile=runic-release.keystore
579
- ```
580
-
581
- 3. **Update `android/app/build.gradle`**:
582
- ```gradle
583
- // Load keystore
584
- def keystorePropertiesFile = rootProject.file("keystore.properties")
585
- def keystoreProperties = new Properties()
586
- if (keystorePropertiesFile.exists()) {
587
- keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
588
- }
589
-
590
- android {
591
- signingConfigs {
592
- release {
593
- if (keystorePropertiesFile.exists()) {
594
- storeFile file(keystoreProperties['storeFile'])
595
- storePassword keystoreProperties['storePassword']
596
- keyAlias keystoreProperties['keyAlias']
597
- keyPassword keystoreProperties['keyPassword']
598
- }
599
- }
600
- }
601
- buildTypes {
602
- release {
603
- signingConfig signingConfigs.release
604
- }
605
- }
606
- }
607
- ```
608
-
609
- ---
610
-
611
- ### Windows Development
612
-
613
- **Setup**:
614
- ```bash
615
- ./scripts/setup-react-native.sh --skip-android
616
- ```
617
-
618
- **Prerequisites**:
619
- - Windows 10+
620
- - Visual Studio 2022 with:
621
- - Desktop development with C++
622
- - Windows 10 SDK (10.0.19041.0 or higher)
623
-
624
- **Build**:
625
- ```bash
626
- # Release build
627
- ./scripts/build-windows.sh
628
-
629
- # Debug build
630
- ./scripts/build-windows.sh --configuration Debug
631
-
632
- # Different architecture
633
- ./scripts/build-windows.sh --arch ARM64
634
- ```
635
-
636
- **Testing**:
637
- ```bash
638
- # Run tests
639
- cd runic-cross-platform
640
- npm test
641
-
642
- # Run in development
643
- npm run windows
644
- ```
645
-
646
- **Deployment**:
647
- - Create installer with WiX Toolset or Inno Setup
648
- - Sign executable with code signing certificate
649
-
650
- ---
651
-
652
- ## GitHub Secrets Configuration
653
-
654
- Configure these secrets in your GitHub repository settings (Settings → Secrets and variables → Actions):
655
-
656
- ### iOS Secrets
657
-
658
- | Secret Name | Description | How to Generate |
659
- |------------|-------------|-----------------|
660
- | `IOS_CERTIFICATE_P12` | Base64-encoded P12 certificate | `base64 -i certificate.p12 -o cert.txt` |
661
- | `IOS_CERTIFICATE_PASSWORD` | Certificate password | Password used when exporting certificate |
662
- | `IOS_PROVISIONING_PROFILE` | Base64-encoded provisioning profile | `base64 -i profile.mobileprovision -o profile.txt` |
663
- | `APP_STORE_CONNECT_API_KEY` | API key for TestFlight | Create in App Store Connect → Users and Access → Keys |
664
-
665
- ### Android Secrets
666
-
667
- | Secret Name | Description | How to Generate |
668
- |------------|-------------|-----------------|
669
- | `ANDROID_KEYSTORE_BASE64` | Base64-encoded keystore file | `base64 -i runic-release.keystore -o keystore.txt` |
670
- | `ANDROID_KEYSTORE_PASSWORD` | Keystore password | Password from keystore creation |
671
- | `ANDROID_KEY_ALIAS` | Key alias | Alias from keystore creation |
672
- | `ANDROID_KEY_PASSWORD` | Key password | Password from keystore creation |
673
- | `GOOGLE_PLAY_SERVICE_ACCOUNT_JSON` | Service account JSON | Create in Google Play Console → API access |
674
-
675
- ---
676
-
677
- ## Troubleshooting
678
-
679
- ### Common Issues
680
-
681
- #### macOS Build Issues
682
-
683
- **Problem**: `swift build` fails with "missing package"
684
-
685
- **Solution**:
686
- ```bash
687
- # Clean and resolve
688
- rm -rf .build
689
- swift package resolve
690
- swift package clean
691
- swift build
692
- ```
693
-
694
- **Problem**: Code signing fails
695
-
696
- **Solution**:
697
- ```bash
698
- # Check signing identities
699
- security find-identity -v -p codesigning
700
-
701
- # Build without signing
702
- ./scripts/build-macos.sh --skip-signing
703
- ```
704
-
705
- ---
706
-
707
- #### iOS Build Issues
708
-
709
- **Problem**: "No provisioning profile found"
710
-
711
- **Solution**:
712
- 1. Open project in Xcode
713
- 2. Select target → Signing & Capabilities
714
- 3. Enable "Automatically manage signing"
715
- 4. Select your team
716
-
717
- **Problem**: Tests fail on simulator
718
-
719
- **Solution**:
720
- ```bash
721
- # List available simulators
722
- xcrun simctl list devices
723
-
724
- # Specify simulator in build script
725
- # Edit build-ios.sh and change simulator name
726
- ```
727
-
728
- ---
729
-
730
- #### Android Build Issues
731
-
732
- **Problem**: "ANDROID_HOME is not set"
733
-
734
- **Solution**:
735
- ```bash
736
- # macOS/Linux
737
- export ANDROID_HOME=$HOME/Library/Android/sdk
738
- export PATH=$PATH:$ANDROID_HOME/platform-tools
739
- export PATH=$PATH:$ANDROID_HOME/tools
740
-
741
- # Add to ~/.bashrc or ~/.zshrc to persist
742
-
743
- # Windows
744
- setx ANDROID_HOME "%LOCALAPPDATA%\Android\Sdk"
745
- ```
746
-
747
- **Problem**: Gradle build fails
748
-
749
- **Solution**:
750
- ```bash
751
- # Clean Gradle cache
752
- cd runic-cross-platform/android
753
- ./gradlew clean
754
- ./gradlew --stop
755
-
756
- # Clear global Gradle cache
757
- rm -rf ~/.gradle/caches/
758
- ```
759
-
760
- ---
761
-
762
- #### Windows Build Issues
763
-
764
- **Problem**: "MSBuild not found"
765
-
766
- **Solution**:
767
- - Install Visual Studio 2022 with C++ development tools
768
- - Add MSBuild to PATH:
769
- ```
770
- C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin
771
- ```
772
-
773
- **Problem**: React Native Windows initialization fails
774
-
775
- **Solution**:
776
- ```bash
777
- # Reinstall React Native Windows
778
- cd runic-cross-platform
779
- npm install react-native-windows --save
780
- npx react-native-windows-init --overwrite
781
- ```
782
-
783
- ---
784
-
785
- ### Getting Help
786
-
787
- **Check build logs**:
788
- ```bash
789
- # Verbose output
790
- ./scripts/build-macos.sh --verbose
791
- ./scripts/build-ios.sh --verbose
792
- ./scripts/build-android.sh --verbose
793
- ./scripts/build-windows.sh --verbose
794
- ```
795
-
796
- **Dry-run mode**:
797
- ```bash
798
- # See what would happen without executing
799
- ./scripts/build-macos.sh --dry-run
800
- ```
801
-
802
- **Platform-specific diagnostics**:
803
- ```bash
804
- # macOS/iOS
805
- xcodebuild -version
806
- swift --version
807
-
808
- # Android
809
- ./gradlew --version
810
- adb devices
811
-
812
- # React Native
813
- npx react-native doctor
814
- ```
815
-
816
- ---
817
-
818
- ## Advanced Usage
819
-
820
- ### Custom Build Configurations
821
-
822
- **macOS with custom output**:
823
- ```bash
824
- ./scripts/build-macos.sh \
825
- --configuration release \
826
- --output-dir /path/to/output \
827
- --clean
828
- ```
829
-
830
- **iOS archive with custom scheme**:
831
- ```bash
832
- ./scripts/build-ios.sh \
833
- --scheme MyCustomScheme \
834
- --configuration Release \
835
- --archive
836
- ```
837
-
838
- **Android with multiple variants**:
839
- ```bash
840
- # Debug build
841
- ./scripts/build-android.sh --variant debug
842
-
843
- # Release APK
844
- ./scripts/build-android.sh --variant release
845
-
846
- # Release AAB
847
- ./scripts/build-android.sh --variant release --aab
848
- ```
849
-
850
- ### Continuous Integration
851
-
852
- **Local CI testing**:
853
- ```bash
854
- # Simulate CI environment
855
- export CI=true
856
-
857
- # Run builds as CI would
858
- ./scripts/build-macos.sh --skip-signing
859
- ./scripts/build-ios.sh --simulator --skip-signing
860
- ./scripts/build-android.sh --variant release
861
- ```
862
-
863
- **Custom CI workflows**:
864
- - Copy `scripts/ci-config.yml` to `.github/workflows/`
865
- - Modify as needed for your workflow
866
- - Configure required secrets
867
-
868
- ### Automated Versioning
869
-
870
- **Update version across all platforms**:
871
- ```bash
872
- # Update version.env
873
- echo "VERSION=1.2.3" > version.env
874
-
875
- # Builds will automatically use this version
876
- ./scripts/build-macos.sh
877
- ./scripts/build-ios.sh
878
- ./scripts/build-android.sh
879
- ```
880
-
881
- ---
882
-
883
- ## Script Maintenance
884
-
885
- All scripts follow these conventions:
886
-
887
- - ✅ Bash shebang: `#!/usr/bin/env bash`
888
- - ✅ Strict mode: `set -e -u`
889
- - ✅ Color output with terminal detection
890
- - ✅ Comprehensive help via `--help`
891
- - ✅ Dry-run mode via `--dry-run`
892
- - ✅ Verbose mode via `--verbose`
893
- - ✅ Error handling with clear messages
894
- - ✅ Prerequisite checking
895
- - ✅ Build summaries
896
-
897
- **Make scripts executable**:
898
- ```bash
899
- chmod +x scripts/*.sh
900
- ```
901
-
902
- **Update all scripts**:
903
- ```bash
904
- # Pull latest changes
905
- git pull
906
-
907
- # Make executable
908
- chmod +x scripts/*.sh
909
- ```
910
-
911
- ---
912
-
913
- ## License
914
-
915
- These scripts are part of the Runic project and follow the same license.
916
-
917
- ---
918
-
919
- ## Support
920
-
921
- For issues, questions, or contributions:
922
- - Open an issue on GitHub
923
- - Check existing documentation
924
- - Run scripts with `--verbose` for debugging
925
-
926
- **Happy Building! 🚀**