-
Notifications
You must be signed in to change notification settings - Fork 0
Claudecode experiment1 #25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
osrufung
wants to merge
9
commits into
main
Choose a base branch
from
claudecode_experiment1
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
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
- Updated swift-tools-version from 5.7 to 6.0 - Added swiftLanguageModes: [.v6] to Package.swift - Changed all static var configuration to static let configuration for Swift 6 concurrency safety - Added @preconcurrency import for ArgumentParser to handle non-Sendable CommandConfiguration - All tests pass (19 tests) - Build successful with Swift 6 language mode Modified files: - Package.swift: Swift 6.0 tools version and language mode - CompareCommand.swift: static let + @preconcurrency import - DependantCommand.swift: static let + @preconcurrency import - GraphCommand.swift: static let + @preconcurrency import - HistoryCommand.swift: static let + @preconcurrency import - Main.swift: static let + @preconcurrency import - ModulesCommand.swift: static let + @preconcurrency import 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Ignore editor and IDE specific configuration folders. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Changed ModulesCommand to read Podfile.lock directly from the filesystem instead of requiring it to be committed to git. This fixes issue #24 where users encountered yamlParsingFailed errors when running jungle modules on new projects that haven't committed Podfile.lock to git yet. Also added demo_project/ to .gitignore to exclude test projects. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Created Samples directory with two reference projects: - SPMSample: Swift Package Manager project with Alamofire, RealmSwift, SwiftyJSON, Kingfisher - CocoaPodsSample: iOS project with Moya, RxSwift, SnapKit, and other popular pods Updated root README.md with sample project information and usage instructions. Added individual README files for each sample explaining dependencies and usage. These samples serve as reference implementations for testing Jungle's analysis capabilities with different dependency management systems. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Created a comprehensive Makefile with the following targets: - make build: Build the executable in release mode - make install: Build and install to /usr/local/bin (customizable with PREFIX) - make uninstall: Remove installed executable - make clean: Clean build artifacts - make test: Run tests - make help: Show available commands Updated README.md to document Makefile usage as the recommended installation method, with examples of custom installation paths. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Updated the install and uninstall targets to automatically use sudo when the target directory requires elevated permissions. The Makefile now: - Checks if the install path is writable - Automatically uses sudo for system directories like /usr/local/bin - Works without sudo for user directories like ~/.local/bin Updated README.md to clarify installation options: - System-wide installation (may require password) - User installation (no sudo required) This fixes the "Permission denied" error when running make install. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Updated Makefile to install to ~/.local/bin by default instead of /usr/local/bin, eliminating the need for sudo permissions. Changes: - Changed PREFIX default from /usr/local to $HOME/.local - Removed sudo logic from install/uninstall targets - Added PATH check that warns users if ~/.local/bin is not in PATH - Simplified installation process with helpful PATH setup instructions Updated README.md to reflect the simpler installation process: - Single installation method (no system vs user choice) - Clear PATH setup instructions - Removed sudo/permission references This makes installation easier and safer for users without requiring elevated permissions. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Updated DependantCommand to read Podfile.lock directly from the filesystem
instead of requiring it to be in git, matching the fix previously applied
to ModulesCommand.
Changed line 42-43 in DependantCommand.swift:
- Before: let podfileLock = try shell("git show HEAD:Podfile.lock", at: directoryURL)
- After: Read from filesystem using String(contentsOf:encoding:)
This fixes issue #24 for the dependant command, allowing it to work on
projects without git or with uncommitted Podfile.lock files.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
Restructured SPMSample from a simple single-module package to a complex multi-module architecture demonstrating internal dependencies and realistic project structure. New Architecture: - Core: Base utilities module (no dependencies) - Networking: HTTP client layer (depends on Core, Alamofire, SwiftyJSON) - DataLayer: Data persistence (depends on Core, RealmSwift) - APIClient: API integration (depends on Networking, DataLayer) - ImageService: Image loading (depends on Core, Kingfisher) - Feature1: User profile feature (depends on Core, APIClient, ImageService) - Feature2: Data sync feature (depends on Core, Networking, DataLayer) - SPMSample: Main module depending on all internal modules Benefits: - Demonstrates internal module dependencies for Jungle analysis - Shows realistic multi-layer architecture - Provides complex dependency graph for testing - Includes multiple test targets Updated README with: - Complete architecture diagram - Dependency graph visualization - Jungle command examples for different scenarios Tested with Jungle: - jungle modules --target SPMSample ✓ - jungle dependant --target Core ✓ 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
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.
No description provided.