Merged
Conversation
- Move ClaudeUsageCore, ClaudeUsageData, ClaudeUsageUI to Packages/ - Add standalone Package.swift for each package - Add Xcode project with local sources for sandboxed app - Disable sandbox to allow access to ~/.claude directory - Fix Swift 6 concurrency: make SystemClock nonisolated - Add missing ClaudeUsageCore import in AnalyticsRows - Use realHomeDirectory() to access actual user home in sandbox
…p launch - Detect preview environment via XCODE_RUNNING_FOR_PLAYGROUNDS - Use minimal placeholder content in MenuBarExtra during previews - Add ClaudeUsageUI dependency to Xcode project - Remove duplicated source files now imported from package
- Remove ClaudeCodeUsage executable target from package - Keep ClaudeUsageUI as pure library - Xcode project provides the single app entry point
- Move files from Sources/ClaudeUsageUI/ to Sources/ - Add explicit path parameter to target definition - Reduce nesting depth for cleaner navigation
- Add explicit path parameters to all targets - Move Sources/<PackageName>/* to Sources/ - Move Tests/<PackageName>Tests/* to Tests/ - Reduce nesting depth for cleaner navigation
- Delete redundant root Package.swift and wrapper targets - Update Makefile to run tests from individual packages - Xcode project references packages directly in Packages/
- Add LSUIElement=YES to make app an accessory/agent app - Window only appears when explicitly requested from menu bar
- Create Previews.swift as single entry point for all previews - Contains Menu Bar and Main Window previews in one file
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
⏺ Hybrid Xcode Project + Swift Packages Architecture
Restructure codebase to use standalone Swift packages managed by an Xcode project.
Changes
Architecture
Structure
Fixes
Testing
make test # Runs all package tests