XCSKit is the umbrella product for the package. It does not define its own API surface; instead, it re-exports the individual modules so downstream clients can import a single module name.
Importing XCSKit makes the public APIs of these modules available:
XCSCoreXCSParserXCSValidatorXCSTranslatorXCSWriterXCSAnalytics
This is implemented with @_exported import statements in the umbrella target.
import Foundation
import XCSKit
let data = try Data(contentsOf: catalogURL)
let catalog = try XCSParser.parse(data: data)
let findings = XCSValidator.validate(catalog)
let stats = XCSAnalytics.statistics(in: catalog)Use the umbrella import when:
- you want convenience over minimal imports
- you are building an app or CLI that uses several package layers together
- you do not need strict compile-time separation between parser, validator, translator, writer, and analytics concerns
Prefer importing individual modules when you want tighter dependency boundaries or a smaller visible API surface in each file.