This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of KippleTools with Swift 6.0 for Linux.

Swift 6 data race errors: 8

Build Command

bash -c docker run --rm -v "checkouts-4609320-1":/host -w "$workDir" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/bdrelling/KippleTools.git
Reference: main
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/bdrelling/KippleTools
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at d250ed2 Disabled the redundantBackticks rule
Cloned https://github.com/bdrelling/KippleTools.git
Revision (git rev-parse @):
d250ed2d2751c5d0b6c32db7819b35ccd3de269a
SPI manifest file found: $workDir/.spi.yml
SUCCESS checkout https://github.com/bdrelling/KippleTools.git at main
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $workDir
https://github.com/bdrelling/KippleTools.git
Running build ...
bash -c docker run --rm -v "checkouts-4609320-1":/host -w "$workDir" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1
Fetching https://github.com/nicklockwood/SwiftFormat
Fetching https://github.com/apple/swift-argument-parser
[1/11679] Fetching swift-argument-parser
[9345/50104] Fetching swift-argument-parser, swiftformat
Fetched https://github.com/apple/swift-argument-parser from cache (0.77s)
[3074/38425] Fetching swiftformat
Fetched https://github.com/nicklockwood/SwiftFormat from cache (21.42s)
Computing version for https://github.com/nicklockwood/SwiftFormat
Computed https://github.com/nicklockwood/SwiftFormat at 0.53.10 (4.23s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.4.0 (0.56s)
Creating working copy for https://github.com/nicklockwood/SwiftFormat
Working copy of https://github.com/nicklockwood/SwiftFormat resolved at 0.53.10
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.4.0
warning: 'swiftformat': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /host/spi-builder-workspace/.build/checkouts/SwiftFormat/Sources/Info.plist
[1/1] Compiling plugin GenerateManual
[2/2] Compiling plugin SwiftFormatPlugin
Building for debugging...
[2/22] Write sources
[3/22] Copying pre-commit
[4/22] Write sources
[5/22] Copying default.gitignore
[6/22] Copying app.gitignore
[7/22] Copying default.swiftformat
[8/22] Write sources
[11/22] Copying default.swiftlint.yml
[13/22] Write swift-version-24593BA9C3E375BF.txt
[15/41] Emitting module ArgumentParserToolInfo
[16/41] Compiling ArgumentParserToolInfo ToolInfo.swift
[17/42] Wrapping AST for ArgumentParserToolInfo for debugging
[19/79] Compiling ArgumentParser ArgumentVisibility.swift
[20/79] Compiling ArgumentParser CompletionKind.swift
[21/79] Compiling ArgumentParser Errors.swift
[22/79] Compiling ArgumentParser Flag.swift
[23/79] Compiling ArgumentParser NameSpecification.swift
[24/84] Emitting module ArgumentParser
[27/86] Compiling ArgumentParser BashCompletionsGenerator.swift
[28/86] Compiling ArgumentParser CompletionsGenerator.swift
[29/86] Compiling ArgumentParser FishCompletionsGenerator.swift
[30/86] Compiling ArgumentParser ZshCompletionsGenerator.swift
[31/86] Compiling ArgumentParser Argument.swift
[32/86] Compiling ArgumentParser ArgumentHelp.swift
[33/86] Compiling ArgumentParser CollectionExtensions.swift
[34/86] Compiling ArgumentParser Platform.swift
[35/86] Compiling ArgumentParser SequenceExtensions.swift
[36/86] Compiling ArgumentParser StringExtensions.swift
[37/86] Compiling ArgumentParser Tree.swift
[38/86] Compiling ArgumentParser Name.swift
[39/86] Compiling ArgumentParser Parsed.swift
[40/86] Compiling ArgumentParser ParsedValues.swift
[41/86] Compiling ArgumentParser ParserError.swift
[42/86] Compiling ArgumentParser SplitArguments.swift
[43/86] Compiling ArgumentParser DumpHelpGenerator.swift
[44/86] Compiling ArgumentParser HelpCommand.swift
[45/86] Compiling ArgumentParser HelpGenerator.swift
[46/86] Compiling ArgumentParser MessageInfo.swift
[47/86] Compiling ArgumentParser UsageGenerator.swift
[48/86] Compiling ArgumentParser Option.swift
[49/86] Compiling ArgumentParser OptionGroup.swift
[50/86] Compiling ArgumentParser AsyncParsableCommand.swift
[51/86] Compiling ArgumentParser CommandConfiguration.swift
[52/86] Compiling ArgumentParser EnumerableFlag.swift
[53/86] Compiling ArgumentParser ExpressibleByArgument.swift
[54/86] Compiling ArgumentParser ParsableArguments.swift
[55/86] Compiling ArgumentParser ParsableArgumentsValidation.swift
[56/86] Compiling ArgumentParser ParsableCommand.swift
[57/86] Compiling ArgumentParser ArgumentDecoder.swift
[58/86] Compiling SwiftFormat SwiftFormat.swift
[59/86] Compiling SwiftFormat Tokenizer.swift
[60/86] Compiling ArgumentParser CommandParser.swift
[61/86] Compiling ArgumentParser InputKey.swift
[62/86] Compiling ArgumentParser InputOrigin.swift
[63/87] Wrapping AST for ArgumentParser for debugging
[65/96] Compiling KippleToolsCore Shell.swift
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:66:16: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
 3 | import Foundation
 4 |
 5 | public struct Shell {
   |               `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
 6 |     private let executablePath: String
 7 |     private let outputPipe: Pipe
   :
64 |
65 | public extension Shell {
66 |     static let `default`: Self = .sh
   |                |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
67 |
68 |     static let sh: Self = .init(executablePath: "/bin/sh")
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:68:16: warning: static property 'sh' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
 3 | import Foundation
 4 |
 5 | public struct Shell {
   |               `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
 6 |     private let executablePath: String
 7 |     private let outputPipe: Pipe
   :
66 |     static let `default`: Self = .sh
67 |
68 |     static let sh: Self = .init(executablePath: "/bin/sh")
   |                |- warning: static property 'sh' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'sh' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
69 |     static let bash: Self = .init(executablePath: "/bin/bash")
70 |     static let zsh: Self = .init(executablePath: "/bin/zsh")
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:69:16: warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
 3 | import Foundation
 4 |
 5 | public struct Shell {
   |               `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
 6 |     private let executablePath: String
 7 |     private let outputPipe: Pipe
   :
67 |
68 |     static let sh: Self = .init(executablePath: "/bin/sh")
69 |     static let bash: Self = .init(executablePath: "/bin/bash")
   |                |- warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'bash' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
70 |     static let zsh: Self = .init(executablePath: "/bin/zsh")
71 | }
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:70:16: warning: static property 'zsh' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
 3 | import Foundation
 4 |
 5 | public struct Shell {
   |               `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
 6 |     private let executablePath: String
 7 |     private let outputPipe: Pipe
   :
68 |     static let sh: Self = .init(executablePath: "/bin/sh")
69 |     static let bash: Self = .init(executablePath: "/bin/bash")
70 |     static let zsh: Self = .init(executablePath: "/bin/zsh")
   |                |- warning: static property 'zsh' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'zsh' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
71 | }
72 |
[66/97] Compiling KippleToolsCore ShellCommand.swift
[67/97] Compiling KippleToolsCore ShellError.swift
[68/97] Compiling KippleToolsCore ShellCommand+SwiftPackageManager.swift
[69/97] Compiling KippleToolsCore ShellCommand+FileSystem.swift
[70/97] Compiling KippleToolsCore ShellCommand+Git.swift
[71/97] Compiling KippleToolsCore VerboseLogging.swift
[72/97] Compiling KippleToolsCore Data+ShellOutput.swift
[73/97] Compiling KippleToolsCore Process+Convenience.swift
[74/97] Emitting module KippleToolsCore
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:66:16: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
 3 | import Foundation
 4 |
 5 | public struct Shell {
   |               `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
 6 |     private let executablePath: String
 7 |     private let outputPipe: Pipe
   :
64 |
65 | public extension Shell {
66 |     static let `default`: Self = .sh
   |                |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
67 |
68 |     static let sh: Self = .init(executablePath: "/bin/sh")
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:68:16: warning: static property 'sh' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
 3 | import Foundation
 4 |
 5 | public struct Shell {
   |               `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
 6 |     private let executablePath: String
 7 |     private let outputPipe: Pipe
   :
66 |     static let `default`: Self = .sh
67 |
68 |     static let sh: Self = .init(executablePath: "/bin/sh")
   |                |- warning: static property 'sh' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'sh' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
69 |     static let bash: Self = .init(executablePath: "/bin/bash")
70 |     static let zsh: Self = .init(executablePath: "/bin/zsh")
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:69:16: warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
 3 | import Foundation
 4 |
 5 | public struct Shell {
   |               `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
 6 |     private let executablePath: String
 7 |     private let outputPipe: Pipe
   :
67 |
68 |     static let sh: Self = .init(executablePath: "/bin/sh")
69 |     static let bash: Self = .init(executablePath: "/bin/bash")
   |                |- warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'bash' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
70 |     static let zsh: Self = .init(executablePath: "/bin/zsh")
71 | }
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:70:16: warning: static property 'zsh' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
 3 | import Foundation
 4 |
 5 | public struct Shell {
   |               `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
 6 |     private let executablePath: String
 7 |     private let outputPipe: Pipe
   :
68 |     static let sh: Self = .init(executablePath: "/bin/sh")
69 |     static let bash: Self = .init(executablePath: "/bin/bash")
70 |     static let zsh: Self = .init(executablePath: "/bin/zsh")
   |                |- warning: static property 'zsh' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'zsh' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
71 | }
72 |
[75/98] Wrapping AST for KippleToolsCore for debugging
[84/98] Emitting module SwiftFormat
[94/99] Wrapping AST for SwiftFormat for debugging
[96/113] Compiling KippleFramework SwiftVersion.swift
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/SwiftBuilder.swift:8:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SwiftBuilder' may have shared mutable state; this is an error in the Swift 6 language mode
 3 | import KippleToolsCore
 4 |
 5 | final class SwiftBuilder {
   |             `- note: class 'SwiftBuilder' does not conform to the 'Sendable' protocol
 6 |     // MARK: Shared Instance
 7 |
 8 |     static let shared = SwiftBuilder()
   |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SwiftBuilder' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 9 |
10 |     // MARK: Properties
[97/113] Compiling KippleFramework BuildCommand.swift
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/SwiftBuilder.swift:8:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SwiftBuilder' may have shared mutable state; this is an error in the Swift 6 language mode
 3 | import KippleToolsCore
 4 |
 5 | final class SwiftBuilder {
   |             `- note: class 'SwiftBuilder' does not conform to the 'Sendable' protocol
 6 |     // MARK: Shared Instance
 7 |
 8 |     static let shared = SwiftBuilder()
   |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SwiftBuilder' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 9 |
10 |     // MARK: Properties
[98/114] Compiling KippleFramework MainCommand.swift
[99/114] Compiling KippleFramework Platform.swift
[100/114] Emitting module KippleFramework
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:66:16: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
 3 | import Foundation
 4 |
 5 | public struct Shell {
   |               `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
 6 |     private let executablePath: String
 7 |     private let outputPipe: Pipe
   :
64 |
65 | public extension Shell {
66 |     static let `default`: Self = .sh
   |                |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
67 |
68 |     static let sh: Self = .init(executablePath: "/bin/sh")
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/FileFormatter.swift:9:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'FileFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
  4 | import KippleToolsCore
  5 |
  6 | final class FileFormatter {
    |             `- note: class 'FileFormatter' does not conform to the 'Sendable' protocol
  7 |     // MARK: Shared Instance
  8 |
  9 |     static let shared = FileFormatter()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'FileFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 10 |
 11 |     // MARK: Constants
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/SwiftBuilder.swift:8:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SwiftBuilder' may have shared mutable state; this is an error in the Swift 6 language mode
 3 | import KippleToolsCore
 4 |
 5 | final class SwiftBuilder {
   |             `- note: class 'SwiftBuilder' does not conform to the 'Sendable' protocol
 6 |     // MARK: Shared Instance
 7 |
 8 |     static let shared = SwiftBuilder()
   |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SwiftBuilder' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 9 |
10 |     // MARK: Properties
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:69:16: warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
 3 | import Foundation
 4 |
 5 | public struct Shell {
   |               `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
 6 |     private let executablePath: String
 7 |     private let outputPipe: Pipe
   :
67 |
68 |     static let sh: Self = .init(executablePath: "/bin/sh")
69 |     static let bash: Self = .init(executablePath: "/bin/bash")
   |                |- warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'bash' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
70 |     static let zsh: Self = .init(executablePath: "/bin/zsh")
71 | }
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/SwiftFormat.swift:56:1: warning: extension declares a conformance of imported type 'FileHandle' to imported protocol 'TextOutputStream'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
54 | }
55 |
56 | extension FileHandle: TextOutputStream {
   | |- warning: extension declares a conformance of imported type 'FileHandle' to imported protocol 'TextOutputStream'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
57 |     public func write(_ string: String) {
58 |         self.write(Data(string.utf8))
[101/114] Compiling KippleFramework SwiftBuilder.swift
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/SwiftBuilder.swift:8:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SwiftBuilder' may have shared mutable state; this is an error in the Swift 6 language mode
 3 | import KippleToolsCore
 4 |
 5 | final class SwiftBuilder {
   |             `- note: class 'SwiftBuilder' does not conform to the 'Sendable' protocol
 6 |     // MARK: Shared Instance
 7 |
 8 |     static let shared = SwiftBuilder()
   |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SwiftBuilder' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 9 |
10 |     // MARK: Properties
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:69:16: warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
 3 | import Foundation
 4 |
 5 | public struct Shell {
   |               `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
 6 |     private let executablePath: String
 7 |     private let outputPipe: Pipe
   :
67 |
68 |     static let sh: Self = .init(executablePath: "/bin/sh")
69 |     static let bash: Self = .init(executablePath: "/bin/bash")
   |                |- warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'bash' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
70 |     static let zsh: Self = .init(executablePath: "/bin/zsh")
71 | }
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/SwiftFormat.swift:56:1: warning: extension declares a conformance of imported type 'FileHandle' to imported protocol 'TextOutputStream'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
54 | }
55 |
56 | extension FileHandle: TextOutputStream {
   | |- warning: extension declares a conformance of imported type 'FileHandle' to imported protocol 'TextOutputStream'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
57 |     public func write(_ string: String) {
58 |         self.write(Data(string.utf8))
/host/spi-builder-workspace/.build/checkouts/SwiftFormat/Sources/CommandLine.swift:49:16: warning: static property 'print' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
  47 |
  48 |     /// Output handler - override this to intercept output from the CLI
  49 |     static var print: (String, OutputType) -> Void = { _, _ in
     |                |- warning: static property 'print' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
     |                |- note: convert 'print' to a 'let' constant to make 'Sendable' shared state immutable
     |                |- note: annotate 'print' with '@MainActor' if property should only be accessed from the main actor
     |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  50 |         fatalError("No print hook set.")
  51 |     }
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/SwiftFormat.swift:13:13: warning: reference to static property 'print' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
11 |
12 |     init() {
13 |         CLI.print = self.print
   |             `- warning: reference to static property 'print' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
14 |     }
15 |
/host/spi-builder-workspace/.build/checkouts/SwiftFormat/Sources/CommandLine.swift:49:16: note: static property declared here
  47 |
  48 |     /// Output handler - override this to intercept output from the CLI
  49 |     static var print: (String, OutputType) -> Void = { _, _ in
     |                `- note: static property declared here
  50 |         fatalError("No print hook set.")
  51 |     }
[102/114] Compiling KippleFramework SwiftFormat.swift
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/SwiftBuilder.swift:8:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SwiftBuilder' may have shared mutable state; this is an error in the Swift 6 language mode
 3 | import KippleToolsCore
 4 |
 5 | final class SwiftBuilder {
   |             `- note: class 'SwiftBuilder' does not conform to the 'Sendable' protocol
 6 |     // MARK: Shared Instance
 7 |
 8 |     static let shared = SwiftBuilder()
   |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SwiftBuilder' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 9 |
10 |     // MARK: Properties
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:69:16: warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
 3 | import Foundation
 4 |
 5 | public struct Shell {
   |               `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
 6 |     private let executablePath: String
 7 |     private let outputPipe: Pipe
   :
67 |
68 |     static let sh: Self = .init(executablePath: "/bin/sh")
69 |     static let bash: Self = .init(executablePath: "/bin/bash")
   |                |- warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'bash' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
70 |     static let zsh: Self = .init(executablePath: "/bin/zsh")
71 | }
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/SwiftFormat.swift:56:1: warning: extension declares a conformance of imported type 'FileHandle' to imported protocol 'TextOutputStream'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
54 | }
55 |
56 | extension FileHandle: TextOutputStream {
   | |- warning: extension declares a conformance of imported type 'FileHandle' to imported protocol 'TextOutputStream'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
57 |     public func write(_ string: String) {
58 |         self.write(Data(string.utf8))
/host/spi-builder-workspace/.build/checkouts/SwiftFormat/Sources/CommandLine.swift:49:16: warning: static property 'print' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
  47 |
  48 |     /// Output handler - override this to intercept output from the CLI
  49 |     static var print: (String, OutputType) -> Void = { _, _ in
     |                |- warning: static property 'print' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
     |                |- note: convert 'print' to a 'let' constant to make 'Sendable' shared state immutable
     |                |- note: annotate 'print' with '@MainActor' if property should only be accessed from the main actor
     |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  50 |         fatalError("No print hook set.")
  51 |     }
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/SwiftFormat.swift:13:13: warning: reference to static property 'print' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
11 |
12 |     init() {
13 |         CLI.print = self.print
   |             `- warning: reference to static property 'print' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
14 |     }
15 |
/host/spi-builder-workspace/.build/checkouts/SwiftFormat/Sources/CommandLine.swift:49:16: note: static property declared here
  47 |
  48 |     /// Output handler - override this to intercept output from the CLI
  49 |     static var print: (String, OutputType) -> Void = { _, _ in
     |                `- note: static property declared here
  50 |         fatalError("No print hook set.")
  51 |     }
[103/114] Compiling KippleFramework BuildEnvironment.swift
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:66:16: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
 3 | import Foundation
 4 |
 5 | public struct Shell {
   |               `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
 6 |     private let executablePath: String
 7 |     private let outputPipe: Pipe
   :
64 |
65 | public extension Shell {
66 |     static let `default`: Self = .sh
   |                |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
67 |
68 |     static let sh: Self = .init(executablePath: "/bin/sh")
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/FileFormatter.swift:9:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'FileFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
  4 | import KippleToolsCore
  5 |
  6 | final class FileFormatter {
    |             `- note: class 'FileFormatter' does not conform to the 'Sendable' protocol
  7 |     // MARK: Shared Instance
  8 |
  9 |     static let shared = FileFormatter()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'FileFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 10 |
 11 |     // MARK: Constants
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:69:16: warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
 3 | import Foundation
 4 |
 5 | public struct Shell {
   |               `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
 6 |     private let executablePath: String
 7 |     private let outputPipe: Pipe
   :
67 |
68 |     static let sh: Self = .init(executablePath: "/bin/sh")
69 |     static let bash: Self = .init(executablePath: "/bin/bash")
   |                |- warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'bash' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
70 |     static let zsh: Self = .init(executablePath: "/bin/zsh")
71 | }
[104/114] Compiling KippleFramework FileFormatter.swift
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:66:16: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
 3 | import Foundation
 4 |
 5 | public struct Shell {
   |               `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
 6 |     private let executablePath: String
 7 |     private let outputPipe: Pipe
   :
64 |
65 | public extension Shell {
66 |     static let `default`: Self = .sh
   |                |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
67 |
68 |     static let sh: Self = .init(executablePath: "/bin/sh")
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/FileFormatter.swift:9:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'FileFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
  4 | import KippleToolsCore
  5 |
  6 | final class FileFormatter {
    |             `- note: class 'FileFormatter' does not conform to the 'Sendable' protocol
  7 |     // MARK: Shared Instance
  8 |
  9 |     static let shared = FileFormatter()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'FileFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 10 |
 11 |     // MARK: Constants
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:69:16: warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
 3 | import Foundation
 4 |
 5 | public struct Shell {
   |               `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
 6 |     private let executablePath: String
 7 |     private let outputPipe: Pipe
   :
67 |
68 |     static let sh: Self = .init(executablePath: "/bin/sh")
69 |     static let bash: Self = .init(executablePath: "/bin/bash")
   |                |- warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'bash' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
70 |     static let zsh: Self = .init(executablePath: "/bin/zsh")
71 | }
[105/114] Compiling KippleFramework resource_bundle_accessor.swift
[106/114] Compiling KippleFramework SetupCommand.swift
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:69:16: warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
 3 | import Foundation
 4 |
 5 | public struct Shell {
   |               `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
 6 |     private let executablePath: String
 7 |     private let outputPipe: Pipe
   :
67 |
68 |     static let sh: Self = .init(executablePath: "/bin/sh")
69 |     static let bash: Self = .init(executablePath: "/bin/bash")
   |                |- warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'bash' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
70 |     static let zsh: Self = .init(executablePath: "/bin/zsh")
71 | }
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/SwiftBuilder.swift:8:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SwiftBuilder' may have shared mutable state; this is an error in the Swift 6 language mode
 3 | import KippleToolsCore
 4 |
 5 | final class SwiftBuilder {
   |             `- note: class 'SwiftBuilder' does not conform to the 'Sendable' protocol
 6 |     // MARK: Shared Instance
 7 |
 8 |     static let shared = SwiftBuilder()
   |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SwiftBuilder' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 9 |
10 |     // MARK: Properties
[107/114] Compiling KippleFramework TestCommand.swift
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:69:16: warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
 3 | import Foundation
 4 |
 5 | public struct Shell {
   |               `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
 6 |     private let executablePath: String
 7 |     private let outputPipe: Pipe
   :
67 |
68 |     static let sh: Self = .init(executablePath: "/bin/sh")
69 |     static let bash: Self = .init(executablePath: "/bin/bash")
   |                |- warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'bash' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
70 |     static let zsh: Self = .init(executablePath: "/bin/zsh")
71 | }
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/SwiftBuilder.swift:8:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SwiftBuilder' may have shared mutable state; this is an error in the Swift 6 language mode
 3 | import KippleToolsCore
 4 |
 5 | final class SwiftBuilder {
   |             `- note: class 'SwiftBuilder' does not conform to the 'Sendable' protocol
 6 |     // MARK: Shared Instance
 7 |
 8 |     static let shared = SwiftBuilder()
   |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SwiftBuilder' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 9 |
10 |     // MARK: Properties
[108/114] Compiling KippleFramework UninstallCommand.swift
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:69:16: warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
 3 | import Foundation
 4 |
 5 | public struct Shell {
   |               `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
 6 |     private let executablePath: String
 7 |     private let outputPipe: Pipe
   :
67 |
68 |     static let sh: Self = .init(executablePath: "/bin/sh")
69 |     static let bash: Self = .init(executablePath: "/bin/bash")
   |                |- warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'bash' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
70 |     static let zsh: Self = .init(executablePath: "/bin/zsh")
71 | }
[109/114] Compiling KippleFramework FormatCommand.swift
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/FileFormatter.swift:9:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'FileFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
  4 | import KippleToolsCore
  5 |
  6 | final class FileFormatter {
    |             `- note: class 'FileFormatter' does not conform to the 'Sendable' protocol
  7 |     // MARK: Shared Instance
  8 |
  9 |     static let shared = FileFormatter()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'FileFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 10 |
 11 |     // MARK: Constants
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:69:16: warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
 3 | import Foundation
 4 |
 5 | public struct Shell {
   |               `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
 6 |     private let executablePath: String
 7 |     private let outputPipe: Pipe
   :
67 |
68 |     static let sh: Self = .init(executablePath: "/bin/sh")
69 |     static let bash: Self = .init(executablePath: "/bin/bash")
   |                |- warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'bash' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
70 |     static let zsh: Self = .init(executablePath: "/bin/zsh")
71 | }
[110/114] Compiling KippleFramework InstallCommand.swift
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/FileFormatter.swift:9:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'FileFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
  4 | import KippleToolsCore
  5 |
  6 | final class FileFormatter {
    |             `- note: class 'FileFormatter' does not conform to the 'Sendable' protocol
  7 |     // MARK: Shared Instance
  8 |
  9 |     static let shared = FileFormatter()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'FileFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 10 |
 11 |     // MARK: Constants
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:69:16: warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
 3 | import Foundation
 4 |
 5 | public struct Shell {
   |               `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
 6 |     private let executablePath: String
 7 |     private let outputPipe: Pipe
   :
67 |
68 |     static let sh: Self = .init(executablePath: "/bin/sh")
69 |     static let bash: Self = .init(executablePath: "/bin/bash")
   |                |- warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'bash' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
70 |     static let zsh: Self = .init(executablePath: "/bin/zsh")
71 | }
[111/115] Wrapping AST for KippleFramework for debugging
[113/117] Compiling kipple main.swift
[114/117] Emitting module kipple
[115/118] Wrapping AST for kipple for debugging
[116/118] Write Objects.LinkFileList
[117/118] Linking kipple
Build complete! (75.10s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.3.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser"
    },
    {
      "identity" : "swiftformat",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.53.10",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/nicklockwood/SwiftFormat"
    }
  ],
  "manifest_display_name" : "KippleTools",
  "name" : "KippleTools",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "13.0"
    }
  ],
  "products" : [
    {
      "name" : "kipple",
      "targets" : [
        "kipple"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "KippleToolsCore",
      "targets" : [
        "KippleToolsCore"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "kipple",
      "module_type" : "SwiftTarget",
      "name" : "kipple",
      "path" : "Sources/kipple",
      "product_memberships" : [
        "kipple"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "KippleFramework"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "KippleToolsCoreTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleToolsCoreTests",
      "path" : "Tests/KippleToolsCoreTests",
      "sources" : [
        "ShellCommandTests.swift",
        "ShellTests.swift"
      ],
      "target_dependencies" : [
        "KippleToolsCore"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleToolsCore",
      "module_type" : "SwiftTarget",
      "name" : "KippleToolsCore",
      "path" : "Sources/KippleToolsCore",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "product_memberships" : [
        "kipple",
        "KippleToolsCore"
      ],
      "sources" : [
        "Extensions/Data+ShellOutput.swift",
        "Extensions/Process+Convenience.swift",
        "Extensions/ShellCommand+FileSystem.swift",
        "Extensions/ShellCommand+Git.swift",
        "Extensions/ShellCommand+SwiftPackageManager.swift",
        "Helpers/Shell.swift",
        "Models/ShellCommand.swift",
        "Models/ShellError.swift",
        "Protocols/VerboseLogging.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleFrameworkTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleFrameworkTests",
      "path" : "Tests/KippleFrameworkTests",
      "sources" : [
        "PrintCommandTests.swift",
        "ResourceTests.swift"
      ],
      "target_dependencies" : [
        "KippleFramework"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleFramework",
      "module_type" : "SwiftTarget",
      "name" : "KippleFramework",
      "path" : "Sources/KippleFramework",
      "product_dependencies" : [
        "SwiftFormat"
      ],
      "product_memberships" : [
        "kipple"
      ],
      "resources" : [
        {
          "path" : "/host/spi-builder-workspace/Sources/KippleFramework/Resources/gitignore/default.gitignore",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Sources/KippleFramework/Resources/gitignore/app.gitignore",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Sources/KippleFramework/Resources/git-hooks/pre-commit",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Sources/KippleFramework/Resources/swiftformat/default.swiftformat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/host/spi-builder-workspace/Sources/KippleFramework/Resources/swiftlint/default.swiftlint.yml",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "Core/Helpers/BuildEnvironment.swift",
        "Core/Helpers/FileFormatter.swift",
        "Core/Helpers/SwiftBuilder.swift",
        "Core/Helpers/SwiftFormat.swift",
        "Core/MainCommand.swift",
        "Core/Models/Platform.swift",
        "Core/Models/SwiftVersion.swift",
        "Core/Subcommands/BuildCommand.swift",
        "Core/Subcommands/FormatCommand.swift",
        "Core/Subcommands/InstallCommand.swift",
        "Core/Subcommands/SetupCommand.swift",
        "Core/Subcommands/TestCommand.swift",
        "Core/Subcommands/UninstallCommand.swift"
      ],
      "target_dependencies" : [
        "KippleToolsCore"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.7"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.