This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
XcodeGraph is a Swift Package containing data structures and utilities for modeling Xcode project graphs. It consists of three main modules:
- XcodeGraph: Core data structures (Graph, Target, Project, Workspace, etc.) for modeling Xcode projects
- XcodeMetadata: Metadata extraction from precompiled binaries (frameworks, libraries, XCFrameworks)
- XcodeGraphMapper: Maps actual
.xcworkspace/.xcodeprojfiles to XcodeGraph structures using XcodeProj
Sources/XcodeGraph/Models/: Core data structures like Project, Target, Scheme, BuildConfigurationSources/XcodeGraph/Graph/: Graph representation with dependencies and relationshipsSources/XcodeGraphMapper/Mappers/: Conversion logic from XcodeProj to XcodeGraph modelsSources/XcodeMetadata/Providers/: Binary metadata extraction for frameworks and libraries
swift build # Debug build
swift build --configuration release # Release buildswift test # Run all tests
swift test --skip XcodeGraphMapperTests --skip XcodeMetadataTests # Linux (no Xcode utilities)mise run lint # Run SwiftLint and SwiftFormat
mise run lint-fix # Auto-fix linting issuesmise run docs:build # Build documentation- Requires macOS 13+ for full functionality
- Linux support available with limited testing (XcodeGraphMapperTests and XcodeMetadataTests require Xcode utilities)
- Swift 6.0.3+ with StrictConcurrency enabled
- Unit tests for each module in corresponding
Tests/directories - Test data and mocks in
Tests/*/TestData/andTests/*/Mocks/ - XCFramework fixtures in
Tests/Fixtures/for metadata testing