L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Développement · SKILL.md

swift-tooling

swift-tooling

Configure SPM packages, SwiftLint, and build settings for Swift projects. Use when managing Swift packages with SPM, configuring build settings, or enforcing Swift code quality.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: swift-tooling description: Configure SPM packages, SwiftLint, and build settings for Swift projects. Use when managing Swift packages with SPM, configuring build settings, or enforcing Swift code quality. metadata: triggers: files: - 'Package.swift' - '.swiftlint.yml' keywords: - package - target - dependency

Swift Tooling Standards

Priority: P0 (CRITICAL)

Define SPM Packages

  • Package.swift: Define clear targets, products, and dependencies.
  • Modularization: Break large projects into local packages for faster builds.
  • Versioning: Use semantic versioning (Major.Minor.Patch) for shared packages.

See implementation examples for Package.swift structure, SwiftLint config, and environment-specific code.

Enforce Code Quality

  • SwiftLint: Use for consistent style enforcement. Create .swiftlint.yml in project root with disabled_rules and opt_in_rules sections.
  • Compiler Warnings: Treat warnings as errors in CI to maintain code health.
  • Documentation: Use triple slashes /// for documentation comments on public APIs (DocC-compatible).

Manage Build Configurations

  • Xcconfig: Use external configuration files to manage build settings.
  • Environment Flags: Use #if DEBUG for development-only code, closed with #endif.
  • Schemes: Maintain separate schemes for Development, Staging, and Production.

Anti-Patterns

  • No API keys in code: Use environment variables or build configs.
  • No // swiftlint:disable: Fix underlying issue.
  • No manually added frameworks: Use SPM.

References

Canonical response anchors

  • Additional task-grounded exact anchors: triple slashes; documentation comments
Skills enregistrées