@sriinnu/runic 2.0.0 → 2.11.2
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 +261 -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
package/.swiftformat
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
# SwiftFormat configuration for Peekaboo project
|
|
2
|
-
# Compatible with Swift 6 strict concurrency mode
|
|
3
|
-
|
|
4
|
-
# IMPORTANT: Don't remove self where it's required for Swift 6 concurrency
|
|
5
|
-
--self insert # Insert self for member references (required for Swift 6)
|
|
6
|
-
--selfrequired # List of functions that require explicit self
|
|
7
|
-
--importgrouping testable-bottom # Group @testable imports at the bottom
|
|
8
|
-
--extensionacl on-declarations # Set ACL on extension members
|
|
9
|
-
|
|
10
|
-
# Indentation
|
|
11
|
-
--indent 4
|
|
12
|
-
--indentcase false
|
|
13
|
-
--ifdef no-indent
|
|
14
|
-
--xcodeindentation enabled
|
|
15
|
-
|
|
16
|
-
# Line breaks
|
|
17
|
-
--linebreaks lf
|
|
18
|
-
--maxwidth 120
|
|
19
|
-
|
|
20
|
-
# Whitespace
|
|
21
|
-
--trimwhitespace always
|
|
22
|
-
--emptybraces no-space
|
|
23
|
-
--nospaceoperators ...,..<
|
|
24
|
-
--ranges no-space
|
|
25
|
-
--someAny true
|
|
26
|
-
|
|
27
|
-
# Wrapping
|
|
28
|
-
--wraparguments before-first
|
|
29
|
-
--wrapparameters before-first
|
|
30
|
-
--wrapcollections before-first
|
|
31
|
-
--closingparen same-line
|
|
32
|
-
|
|
33
|
-
# Organization
|
|
34
|
-
--organizetypes class,struct,enum,extension
|
|
35
|
-
--extensionmark "MARK: - %t + %p"
|
|
36
|
-
--marktypes always
|
|
37
|
-
--markextensions always
|
|
38
|
-
--structthreshold 0
|
|
39
|
-
--enumthreshold 0
|
|
40
|
-
|
|
41
|
-
# Swift 6 specific
|
|
42
|
-
--swiftversion 6.2
|
|
43
|
-
|
|
44
|
-
# Other
|
|
45
|
-
--stripunusedargs closure-only
|
|
46
|
-
--header ignore
|
|
47
|
-
--allman false
|
|
48
|
-
|
|
49
|
-
# Exclusions
|
|
50
|
-
--exclude .build,.swiftpm,DerivedData,node_modules,dist,coverage,xcuserdata,Core/PeekabooCore/Sources/PeekabooCore/Extensions/NSArray+Extensions.swift
|
package/.swiftlint.yml
DELETED
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
# SwiftLint configuration for Peekaboo - Swift 6 compatible
|
|
2
|
-
|
|
3
|
-
# Paths to include
|
|
4
|
-
included:
|
|
5
|
-
- Sources
|
|
6
|
-
- Tests
|
|
7
|
-
|
|
8
|
-
# Paths to exclude
|
|
9
|
-
excluded:
|
|
10
|
-
- .build
|
|
11
|
-
- DerivedData
|
|
12
|
-
- "**/Generated"
|
|
13
|
-
- "**/Resources"
|
|
14
|
-
- "**/.build"
|
|
15
|
-
- "**/Package.swift"
|
|
16
|
-
- "**/Tests/Resources"
|
|
17
|
-
- "Apps/CLI/.build"
|
|
18
|
-
- "**/DerivedData"
|
|
19
|
-
- "**/.swiftpm"
|
|
20
|
-
- Pods
|
|
21
|
-
- Carthage
|
|
22
|
-
- fastlane
|
|
23
|
-
- vendor
|
|
24
|
-
- "*.playground"
|
|
25
|
-
# Exclude specific files that should not be linted/formatted
|
|
26
|
-
- "Core/PeekabooCore/Sources/PeekabooCore/Extensions/NSArray+Extensions.swift"
|
|
27
|
-
|
|
28
|
-
# Analyzer rules (require compilation)
|
|
29
|
-
analyzer_rules:
|
|
30
|
-
- unused_declaration
|
|
31
|
-
- unused_import
|
|
32
|
-
|
|
33
|
-
# Enable specific rules
|
|
34
|
-
opt_in_rules:
|
|
35
|
-
- array_init
|
|
36
|
-
- closure_spacing
|
|
37
|
-
- contains_over_first_not_nil
|
|
38
|
-
- empty_count
|
|
39
|
-
- empty_string
|
|
40
|
-
- explicit_init
|
|
41
|
-
- fallthrough
|
|
42
|
-
- fatal_error_message
|
|
43
|
-
- first_where
|
|
44
|
-
- joined_default_parameter
|
|
45
|
-
- last_where
|
|
46
|
-
- literal_expression_end_indentation
|
|
47
|
-
- multiline_arguments
|
|
48
|
-
- multiline_parameters
|
|
49
|
-
- operator_usage_whitespace
|
|
50
|
-
- overridden_super_call
|
|
51
|
-
- pattern_matching_keywords
|
|
52
|
-
- private_outlet
|
|
53
|
-
- prohibited_super_call
|
|
54
|
-
- redundant_nil_coalescing
|
|
55
|
-
- sorted_first_last
|
|
56
|
-
- switch_case_alignment
|
|
57
|
-
- unneeded_parentheses_in_closure_argument
|
|
58
|
-
- vertical_parameter_alignment_on_call
|
|
59
|
-
|
|
60
|
-
# Disable rules that conflict with Swift 6 or our coding style
|
|
61
|
-
disabled_rules:
|
|
62
|
-
# Swift 6 requires explicit self - disable explicit_self rule
|
|
63
|
-
- explicit_self
|
|
64
|
-
|
|
65
|
-
# SwiftFormat handles these
|
|
66
|
-
- trailing_whitespace
|
|
67
|
-
- trailing_newline
|
|
68
|
-
- trailing_comma
|
|
69
|
-
- vertical_whitespace
|
|
70
|
-
- indentation_width
|
|
71
|
-
|
|
72
|
-
# Too restrictive or not applicable
|
|
73
|
-
- identifier_name # Single letter names are fine in many contexts
|
|
74
|
-
- file_header
|
|
75
|
-
- explicit_top_level_acl
|
|
76
|
-
- explicit_acl
|
|
77
|
-
- explicit_type_interface
|
|
78
|
-
- missing_docs
|
|
79
|
-
- required_deinit
|
|
80
|
-
- prefer_nimble
|
|
81
|
-
- quick_discouraged_call
|
|
82
|
-
- quick_discouraged_focused_test
|
|
83
|
-
- quick_discouraged_pending_test
|
|
84
|
-
- anonymous_argument_in_multiline_closure
|
|
85
|
-
- no_extension_access_modifier
|
|
86
|
-
- no_grouping_extension
|
|
87
|
-
- switch_case_on_newline
|
|
88
|
-
- strict_fileprivate
|
|
89
|
-
- extension_access_modifier
|
|
90
|
-
- convenience_type
|
|
91
|
-
- no_magic_numbers
|
|
92
|
-
- one_declaration_per_file
|
|
93
|
-
- vertical_whitespace_between_cases
|
|
94
|
-
- vertical_whitespace_closing_braces
|
|
95
|
-
- superfluous_else
|
|
96
|
-
- number_separator
|
|
97
|
-
- prefixed_toplevel_constant
|
|
98
|
-
- opening_brace
|
|
99
|
-
- trailing_closure
|
|
100
|
-
- contrasted_opening_brace
|
|
101
|
-
- sorted_imports
|
|
102
|
-
- redundant_type_annotation
|
|
103
|
-
- shorthand_optional_binding
|
|
104
|
-
- untyped_error_in_catch
|
|
105
|
-
- file_name
|
|
106
|
-
- todo
|
|
107
|
-
|
|
108
|
-
# Rule configurations
|
|
109
|
-
force_cast: warning
|
|
110
|
-
force_try: warning
|
|
111
|
-
|
|
112
|
-
# identifier_name rule disabled - see disabled_rules section
|
|
113
|
-
|
|
114
|
-
type_name:
|
|
115
|
-
min_length:
|
|
116
|
-
warning: 2
|
|
117
|
-
error: 1
|
|
118
|
-
max_length:
|
|
119
|
-
warning: 60
|
|
120
|
-
error: 80
|
|
121
|
-
|
|
122
|
-
function_body_length:
|
|
123
|
-
warning: 150
|
|
124
|
-
error: 300
|
|
125
|
-
|
|
126
|
-
file_length:
|
|
127
|
-
warning: 1500
|
|
128
|
-
error: 2500
|
|
129
|
-
ignore_comment_only_lines: true
|
|
130
|
-
|
|
131
|
-
type_body_length:
|
|
132
|
-
warning: 800
|
|
133
|
-
error: 1200
|
|
134
|
-
|
|
135
|
-
cyclomatic_complexity:
|
|
136
|
-
warning: 20
|
|
137
|
-
error: 120
|
|
138
|
-
|
|
139
|
-
large_tuple:
|
|
140
|
-
warning: 4
|
|
141
|
-
error: 5
|
|
142
|
-
|
|
143
|
-
nesting:
|
|
144
|
-
type_level:
|
|
145
|
-
warning: 4
|
|
146
|
-
error: 6
|
|
147
|
-
function_level:
|
|
148
|
-
warning: 5
|
|
149
|
-
error: 7
|
|
150
|
-
|
|
151
|
-
line_length:
|
|
152
|
-
warning: 120
|
|
153
|
-
error: 250
|
|
154
|
-
ignores_comments: true
|
|
155
|
-
ignores_urls: true
|
|
156
|
-
|
|
157
|
-
# Custom rules can be added here if needed
|
|
158
|
-
|
|
159
|
-
# Reporter type
|
|
160
|
-
reporter: "xcode"
|
package/CONTRIBUTING.md
DELETED
|
@@ -1,456 +0,0 @@
|
|
|
1
|
-
# Contributing to Runic
|
|
2
|
-
|
|
3
|
-
Thank you for your interest in contributing to Runic! This document provides guidelines and instructions for contributing.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## 📋 Table of Contents
|
|
8
|
-
|
|
9
|
-
- [Code of Conduct](#code-of-conduct)
|
|
10
|
-
- [How Can I Contribute?](#how-can-i-contribute)
|
|
11
|
-
- [Development Setup](#development-setup)
|
|
12
|
-
- [Code Quality Standards](#code-quality-standards)
|
|
13
|
-
- [Pull Request Process](#pull-request-process)
|
|
14
|
-
- [Testing Guidelines](#testing-guidelines)
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## 📜 Code of Conduct
|
|
19
|
-
|
|
20
|
-
### Our Pledge
|
|
21
|
-
|
|
22
|
-
We are committed to providing a welcoming and inclusive environment for all contributors.
|
|
23
|
-
|
|
24
|
-
### Our Standards
|
|
25
|
-
|
|
26
|
-
- ✅ Use welcoming and inclusive language
|
|
27
|
-
- ✅ Be respectful of differing viewpoints and experiences
|
|
28
|
-
- ✅ Accept constructive criticism gracefully
|
|
29
|
-
- ✅ Focus on what is best for the community
|
|
30
|
-
- ✅ Show empathy towards other community members
|
|
31
|
-
|
|
32
|
-
### Unacceptable Behavior
|
|
33
|
-
|
|
34
|
-
- ❌ Harassment, trolling, or derogatory comments
|
|
35
|
-
- ❌ Personal or political attacks
|
|
36
|
-
- ❌ Publishing others' private information
|
|
37
|
-
- ❌ Unprofessional conduct
|
|
38
|
-
|
|
39
|
-
---
|
|
40
|
-
|
|
41
|
-
## 🤝 How Can I Contribute?
|
|
42
|
-
|
|
43
|
-
### Reporting Bugs
|
|
44
|
-
|
|
45
|
-
Before creating a bug report:
|
|
46
|
-
1. Check existing issues to avoid duplicates
|
|
47
|
-
2. Collect relevant information (OS, version, steps to reproduce)
|
|
48
|
-
3. Include error messages and logs if applicable
|
|
49
|
-
|
|
50
|
-
**Bug Report Template:**
|
|
51
|
-
```markdown
|
|
52
|
-
**Description**: Clear description of the bug
|
|
53
|
-
**Steps to Reproduce**:
|
|
54
|
-
1. Step one
|
|
55
|
-
2. Step two
|
|
56
|
-
3. ...
|
|
57
|
-
|
|
58
|
-
**Expected Behavior**: What should happen
|
|
59
|
-
**Actual Behavior**: What actually happens
|
|
60
|
-
**Environment**:
|
|
61
|
-
- OS: macOS 14.0
|
|
62
|
-
- Version: Runic 2.0
|
|
63
|
-
- Platform: macOS/iOS/Windows/Android
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
### Suggesting Enhancements
|
|
67
|
-
|
|
68
|
-
Enhancement suggestions are welcome! Please include:
|
|
69
|
-
- Clear use case description
|
|
70
|
-
- Why this enhancement would be useful
|
|
71
|
-
- Potential implementation approach (if you have ideas)
|
|
72
|
-
|
|
73
|
-
### Security Issues
|
|
74
|
-
|
|
75
|
-
**DO NOT** open public issues for security vulnerabilities. Instead:
|
|
76
|
-
1. Review [SECURITY_AUDIT.md](SECURITY_AUDIT.md)
|
|
77
|
-
2. Email security concerns privately
|
|
78
|
-
3. Allow reasonable time for fixes before disclosure
|
|
79
|
-
|
|
80
|
-
---
|
|
81
|
-
|
|
82
|
-
## 💻 Development Setup
|
|
83
|
-
|
|
84
|
-
### Prerequisites
|
|
85
|
-
|
|
86
|
-
- **macOS/iOS**: Xcode 15.0+, Swift 6.2+
|
|
87
|
-
- **Windows/Android**: Node.js 18+, React Native CLI
|
|
88
|
-
- **API/MCP**: Node.js 18+, TypeScript 5.7+
|
|
89
|
-
- **Git**: For version control
|
|
90
|
-
|
|
91
|
-
### Initial Setup
|
|
92
|
-
|
|
93
|
-
```bash
|
|
94
|
-
# Clone your fork
|
|
95
|
-
git clone https://github.com/YOUR_USERNAME/Runic.git
|
|
96
|
-
cd Runic
|
|
97
|
-
|
|
98
|
-
# Add upstream remote
|
|
99
|
-
git remote add upstream https://github.com/sriinnu/Runic.git
|
|
100
|
-
|
|
101
|
-
# Setup all platforms
|
|
102
|
-
./Scripts/setup-all.sh
|
|
103
|
-
|
|
104
|
-
# Run tests to verify setup
|
|
105
|
-
./test-all.sh
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
### Building Components
|
|
109
|
-
|
|
110
|
-
```bash
|
|
111
|
-
# macOS app (complete build with frameworks)
|
|
112
|
-
./Scripts/build-macos.sh --skip-tests
|
|
113
|
-
|
|
114
|
-
# Swift CLI tool only
|
|
115
|
-
swift build
|
|
116
|
-
|
|
117
|
-
# API Server
|
|
118
|
-
cd api-server && npm install && npx tsc
|
|
119
|
-
|
|
120
|
-
# MCP Servers
|
|
121
|
-
cd mcp-servers && ./setup.sh
|
|
122
|
-
|
|
123
|
-
# React Native
|
|
124
|
-
cd runic-cross-platform && npm install
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
---
|
|
128
|
-
|
|
129
|
-
## ✨ Code Quality Standards
|
|
130
|
-
|
|
131
|
-
### Swift Code
|
|
132
|
-
|
|
133
|
-
**Documentation:**
|
|
134
|
-
```swift
|
|
135
|
-
/// Brief description of what this function does
|
|
136
|
-
///
|
|
137
|
-
/// - Parameters:
|
|
138
|
-
/// - param1: Description of param1
|
|
139
|
-
/// - param2: Description of param2
|
|
140
|
-
/// - Returns: Description of return value
|
|
141
|
-
/// - Throws: Description of errors that can be thrown
|
|
142
|
-
func myFunction(param1: String, param2: Int) throws -> Bool {
|
|
143
|
-
// Implementation
|
|
144
|
-
}
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
**File Size:**
|
|
148
|
-
- Maximum 300 lines per Swift file
|
|
149
|
-
- Split large files into logical modules
|
|
150
|
-
|
|
151
|
-
**Concurrency:**
|
|
152
|
-
```swift
|
|
153
|
-
// ✅ Good - Explicit concurrency
|
|
154
|
-
actor MyActor {
|
|
155
|
-
func doSomething() async throws { }
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
// ❌ Bad - No concurrency annotation
|
|
159
|
-
class MyClass {
|
|
160
|
-
func doSomething() { /* async work */ }
|
|
161
|
-
}
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
### TypeScript Code
|
|
165
|
-
|
|
166
|
-
**Documentation:**
|
|
167
|
-
```typescript
|
|
168
|
-
/**
|
|
169
|
-
* Brief description of the function
|
|
170
|
-
*
|
|
171
|
-
* @param param1 - Description of param1
|
|
172
|
-
* @param param2 - Description of param2
|
|
173
|
-
* @returns Description of return value
|
|
174
|
-
* @throws Description of errors
|
|
175
|
-
*/
|
|
176
|
-
function myFunction(param1: string, param2: number): boolean {
|
|
177
|
-
// Implementation
|
|
178
|
-
}
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
**File Size:**
|
|
182
|
-
- Maximum 400 lines per TypeScript file
|
|
183
|
-
- Use module splitting for large files
|
|
184
|
-
|
|
185
|
-
**Type Safety:**
|
|
186
|
-
```typescript
|
|
187
|
-
// ✅ Good - Strict typing
|
|
188
|
-
interface User {
|
|
189
|
-
id: string;
|
|
190
|
-
name: string;
|
|
191
|
-
email: string;
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
function getUser(id: string): User {
|
|
195
|
-
// Implementation
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
// ❌ Bad - Using 'any'
|
|
199
|
-
function getUser(id: any): any {
|
|
200
|
-
// Implementation
|
|
201
|
-
}
|
|
202
|
-
```
|
|
203
|
-
|
|
204
|
-
### General Guidelines
|
|
205
|
-
|
|
206
|
-
1. **No Secrets in Code**
|
|
207
|
-
- Never commit API keys, tokens, or credentials
|
|
208
|
-
- Use environment variables or Keychain
|
|
209
|
-
- Check .gitignore before committing
|
|
210
|
-
|
|
211
|
-
2. **Error Handling**
|
|
212
|
-
- Always handle errors gracefully
|
|
213
|
-
- Log errors appropriately (never log tokens!)
|
|
214
|
-
- Provide user-friendly error messages
|
|
215
|
-
|
|
216
|
-
3. **Performance**
|
|
217
|
-
- Keep UI responsive (60 FPS target)
|
|
218
|
-
- Minimize network requests
|
|
219
|
-
- Cache data appropriately
|
|
220
|
-
|
|
221
|
-
4. **Security**
|
|
222
|
-
- Store credentials in Keychain
|
|
223
|
-
- Use HTTPS only
|
|
224
|
-
- No token logging
|
|
225
|
-
- Validate all inputs
|
|
226
|
-
|
|
227
|
-
---
|
|
228
|
-
|
|
229
|
-
## 🔀 Pull Request Process
|
|
230
|
-
|
|
231
|
-
### Before Submitting
|
|
232
|
-
|
|
233
|
-
1. **Update from upstream:**
|
|
234
|
-
```bash
|
|
235
|
-
git fetch upstream
|
|
236
|
-
git rebase upstream/main
|
|
237
|
-
```
|
|
238
|
-
|
|
239
|
-
2. **Run all tests:**
|
|
240
|
-
```bash
|
|
241
|
-
./test-all.sh
|
|
242
|
-
```
|
|
243
|
-
|
|
244
|
-
3. **Verify no sensitive data:**
|
|
245
|
-
```bash
|
|
246
|
-
git diff --cached | grep -i "api.*key\|token\|secret"
|
|
247
|
-
```
|
|
248
|
-
|
|
249
|
-
### PR Checklist
|
|
250
|
-
|
|
251
|
-
- [ ] Code follows style guidelines
|
|
252
|
-
- [ ] All files have appropriate documentation
|
|
253
|
-
- [ ] No file exceeds size limits (300-400 lines)
|
|
254
|
-
- [ ] All tests pass (`./test-all.sh`)
|
|
255
|
-
- [ ] No compiler warnings
|
|
256
|
-
- [ ] No sensitive data in commit
|
|
257
|
-
- [ ] Commit messages are clear and descriptive
|
|
258
|
-
|
|
259
|
-
### PR Template
|
|
260
|
-
|
|
261
|
-
```markdown
|
|
262
|
-
## Description
|
|
263
|
-
Brief description of changes
|
|
264
|
-
|
|
265
|
-
## Type of Change
|
|
266
|
-
- [ ] Bug fix (non-breaking change)
|
|
267
|
-
- [ ] New feature (non-breaking change)
|
|
268
|
-
- [ ] Breaking change
|
|
269
|
-
- [ ] Documentation update
|
|
270
|
-
|
|
271
|
-
## Testing
|
|
272
|
-
How was this tested?
|
|
273
|
-
|
|
274
|
-
## Screenshots (if UI changes)
|
|
275
|
-
Add screenshots here
|
|
276
|
-
|
|
277
|
-
## Checklist
|
|
278
|
-
- [ ] Code follows guidelines
|
|
279
|
-
- [ ] All tests pass
|
|
280
|
-
- [ ] Documentation updated
|
|
281
|
-
```
|
|
282
|
-
|
|
283
|
-
### Review Process
|
|
284
|
-
|
|
285
|
-
1. Automated CI checks must pass
|
|
286
|
-
2. At least one maintainer review required
|
|
287
|
-
3. All review comments addressed
|
|
288
|
-
4. Squash commits before merge (if requested)
|
|
289
|
-
|
|
290
|
-
---
|
|
291
|
-
|
|
292
|
-
## 🧪 Testing Guidelines
|
|
293
|
-
|
|
294
|
-
### Running Tests
|
|
295
|
-
|
|
296
|
-
```bash
|
|
297
|
-
# All tests
|
|
298
|
-
./test-all.sh
|
|
299
|
-
|
|
300
|
-
# Swift only
|
|
301
|
-
swift test
|
|
302
|
-
|
|
303
|
-
# TypeScript (API Server)
|
|
304
|
-
cd api-server && npm test
|
|
305
|
-
|
|
306
|
-
# TypeScript (MCP Servers)
|
|
307
|
-
cd mcp-servers/persistence-server && npm test
|
|
308
|
-
|
|
309
|
-
# React Native
|
|
310
|
-
cd runic-cross-platform && npm test
|
|
311
|
-
```
|
|
312
|
-
|
|
313
|
-
### Writing Tests
|
|
314
|
-
|
|
315
|
-
**Swift:**
|
|
316
|
-
```swift
|
|
317
|
-
import XCTest
|
|
318
|
-
@testable import RunicCore
|
|
319
|
-
|
|
320
|
-
final class MyTests: XCTestCase {
|
|
321
|
-
func testExample() throws {
|
|
322
|
-
let result = myFunction()
|
|
323
|
-
XCTAssertEqual(result, expectedValue)
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
```
|
|
327
|
-
|
|
328
|
-
**TypeScript:**
|
|
329
|
-
```typescript
|
|
330
|
-
import { describe, it, expect } from '@jest/globals';
|
|
331
|
-
|
|
332
|
-
describe('MyModule', () => {
|
|
333
|
-
it('should do something', () => {
|
|
334
|
-
const result = myFunction();
|
|
335
|
-
expect(result).toBe(expectedValue);
|
|
336
|
-
});
|
|
337
|
-
});
|
|
338
|
-
```
|
|
339
|
-
|
|
340
|
-
### Test Coverage
|
|
341
|
-
|
|
342
|
-
- Aim for 80%+ code coverage
|
|
343
|
-
- Test edge cases and error conditions
|
|
344
|
-
- Mock external dependencies
|
|
345
|
-
- No tests should require network access
|
|
346
|
-
|
|
347
|
-
---
|
|
348
|
-
|
|
349
|
-
## 📝 Commit Message Guidelines
|
|
350
|
-
|
|
351
|
-
### Format
|
|
352
|
-
|
|
353
|
-
```
|
|
354
|
-
<type>: <subject>
|
|
355
|
-
|
|
356
|
-
<body>
|
|
357
|
-
|
|
358
|
-
<footer>
|
|
359
|
-
```
|
|
360
|
-
|
|
361
|
-
### Types
|
|
362
|
-
|
|
363
|
-
- `feat`: New feature
|
|
364
|
-
- `fix`: Bug fix
|
|
365
|
-
- `docs`: Documentation changes
|
|
366
|
-
- `style`: Formatting changes
|
|
367
|
-
- `refactor`: Code refactoring
|
|
368
|
-
- `test`: Adding tests
|
|
369
|
-
- `chore`: Maintenance tasks
|
|
370
|
-
|
|
371
|
-
### Examples
|
|
372
|
-
|
|
373
|
-
```bash
|
|
374
|
-
# Good
|
|
375
|
-
feat: Add model usage tracking to CLI
|
|
376
|
-
|
|
377
|
-
Added new 'models' command to CLI that shows usage breakdown
|
|
378
|
-
by AI model. Includes JSON output mode and filtering options.
|
|
379
|
-
|
|
380
|
-
Closes #123
|
|
381
|
-
|
|
382
|
-
# Bad
|
|
383
|
-
update stuff
|
|
384
|
-
```
|
|
385
|
-
|
|
386
|
-
---
|
|
387
|
-
|
|
388
|
-
## 🎨 Code Style
|
|
389
|
-
|
|
390
|
-
### Swift
|
|
391
|
-
|
|
392
|
-
Follow [Swift API Design Guidelines](https://swift.org/documentation/api-design-guidelines/)
|
|
393
|
-
|
|
394
|
-
```swift
|
|
395
|
-
// ✅ Good
|
|
396
|
-
func fetchUserData(for userID: String) async throws -> User
|
|
397
|
-
|
|
398
|
-
// ❌ Bad
|
|
399
|
-
func FetchUserData(userID: String) -> User
|
|
400
|
-
```
|
|
401
|
-
|
|
402
|
-
### TypeScript
|
|
403
|
-
|
|
404
|
-
Follow [TypeScript Coding Guidelines](https://github.com/Microsoft/TypeScript/wiki/Coding-guidelines)
|
|
405
|
-
|
|
406
|
-
```typescript
|
|
407
|
-
// ✅ Good
|
|
408
|
-
async function fetchUserData(userId: string): Promise<User>
|
|
409
|
-
|
|
410
|
-
// ❌ Bad
|
|
411
|
-
function FetchUserData(userID: any)
|
|
412
|
-
```
|
|
413
|
-
|
|
414
|
-
---
|
|
415
|
-
|
|
416
|
-
## 🏗️ Architecture Decisions
|
|
417
|
-
|
|
418
|
-
When making architectural decisions:
|
|
419
|
-
|
|
420
|
-
1. **Document the decision** in appropriate markdown file
|
|
421
|
-
2. **Consider multi-platform impact** - will this work on all platforms?
|
|
422
|
-
3. **Security implications** - does this affect security?
|
|
423
|
-
4. **Performance impact** - benchmarks if significant
|
|
424
|
-
5. **Breaking changes** - document and version appropriately
|
|
425
|
-
|
|
426
|
-
---
|
|
427
|
-
|
|
428
|
-
## 📬 Communication
|
|
429
|
-
|
|
430
|
-
### Where to Ask Questions
|
|
431
|
-
|
|
432
|
-
- **General Questions**: GitHub Discussions
|
|
433
|
-
- **Bug Reports**: GitHub Issues
|
|
434
|
-
- **Feature Requests**: GitHub Issues (with `enhancement` label)
|
|
435
|
-
- **Security**: Private email (see SECURITY_AUDIT.md)
|
|
436
|
-
|
|
437
|
-
### Response Times
|
|
438
|
-
|
|
439
|
-
- We aim to respond to issues within 48 hours
|
|
440
|
-
- Pull requests reviewed within 1 week
|
|
441
|
-
- Security issues get priority response
|
|
442
|
-
|
|
443
|
-
---
|
|
444
|
-
|
|
445
|
-
## 🎁 Recognition
|
|
446
|
-
|
|
447
|
-
Contributors will be:
|
|
448
|
-
- Listed in CONTRIBUTORS.md (if file exists)
|
|
449
|
-
- Credited in release notes
|
|
450
|
-
- Mentioned in project documentation
|
|
451
|
-
|
|
452
|
-
Thank you for contributing to Runic! 🙏
|
|
453
|
-
|
|
454
|
-
---
|
|
455
|
-
|
|
456
|
-
**Questions?** Open a discussion on GitHub or check our [documentation](docs/).
|
package/Icon.icns
DELETED
|
Binary file
|
|
Binary file
|
package/Icon.icon/icon.json
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"fill" : {
|
|
3
|
-
"automatic-gradient" : "extended-srgb:0.00000,0.53333,1.00000,1.00000"
|
|
4
|
-
},
|
|
5
|
-
"groups" : [
|
|
6
|
-
{
|
|
7
|
-
"layers" : [
|
|
8
|
-
{
|
|
9
|
-
"image-name" : "runic.png",
|
|
10
|
-
"name" : "runic",
|
|
11
|
-
"position" : {
|
|
12
|
-
"scale" : 1.4,
|
|
13
|
-
"translation-in-points" : [
|
|
14
|
-
0,
|
|
15
|
-
0
|
|
16
|
-
]
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
],
|
|
20
|
-
"shadow" : {
|
|
21
|
-
"kind" : "neutral",
|
|
22
|
-
"opacity" : 0.5
|
|
23
|
-
},
|
|
24
|
-
"translucency" : {
|
|
25
|
-
"enabled" : true,
|
|
26
|
-
"value" : 0.5
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
],
|
|
30
|
-
"supported-platforms" : {
|
|
31
|
-
"circles" : [
|
|
32
|
-
"watchOS"
|
|
33
|
-
],
|
|
34
|
-
"squares" : "shared"
|
|
35
|
-
}
|
|
36
|
-
}
|