CommunityRecherche & Datenanalysegithub.com

Obgeor2696/SwiftData-Agent-Skill

Verbessert KI-Codierungsassistenten, um präzisen SwiftData-Code zu generieren, der Modelle, Abfragen, Prädikate, Migrationen und iCloud-Synchronisation effektiv handhabt.

Was ist SwiftData-Agent-Skill?

Dieses Skill für KI-Agenten wie Claude Code oder Cursor optimiert die Fähigkeit des Assistenten, korrekten und effizienten SwiftData-Code für Apple-Plattformen zu schreiben. Es behandelt zentrale SwiftData-Konzepte wie @Model-Entitäten, @Relationship- und @Attribute-Property-Wrapper sowie die Konfiguration des ModelContainers. Darüber hinaus unterstützt es die Erstellung komplexer Abfragen mit Prädikaten (Predicate), die Verwaltung von Datenmigrationen bei Schemaänderungen und die Einrichtung von iCloud Sync via CloudKit. Entwickler profitieren von konsistenten Code-Vorschlägen, die den SwiftData-Richtlinien entsprechen, was Zeit spart und häufige Fehler wie falsche Modelldeklarationen oder ineffiziente Abfragen vermeidet. Das Skill ist besonders nützlich für iOS-, macOS-, watchOS- und visionOS-Projekte, die lokale Persistenz mit SwiftData nutzen.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add Obgeor2696/SwiftData-Agent-Skill

Installed? Explore more Recherche & Datenanalyse skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht SwiftData-Agent-Skill?

Verbessert KI-Codierungsassistenten, um präzisen SwiftData-Code zu generieren, der Modelle, Abfragen, Prädikate, Migrationen und iCloud-Synchronisation effektiv handhabt.

Überblick

Dieses Skill vermittelt KI-Agenten die Best Practices und Syntax für SwiftData, Apples modernes Persistenz-Framework, das auf Core Data aufbaut. Es stellt sicher, dass generierter Code die neuesten APIs und Konventionen verwendet.

Verwendung

Binde dieses Skill in deine Agent-Konfiguration ein (z. B. .cursorrules für Cursor oder die Skill-Definitionsdatei für Claude Code). Danach kann der Agent SwiftData-Code mit folgenden Schritten generieren:

  1. Modelle definieren: Mit @Model, @Attribute, @Relationship und eindeutigen Indizes.
  2. Abfragen erstellen: Mit @Query oder FetchDescriptor und Predicate.
  3. Migrationen handhaben: Mit SchemaMigrationPlan und VersionedSchema.
  4. iCloud Sync konfigurieren: Mit CloudKitContainer in ModelConfiguration.

Unterstützte Plattformen

PlattformSwiftData-Unterstützung
iOS 17+Vollständig
macOS 14+Vollständig
watchOS 10+Vollständig
visionOS 1+Vollständig
tvOS 17+Eingeschränkt

Beispiel: Ein einfaches Modell

import SwiftData
import Foundation

@Model
final class Task {
    var title: String
    var isCompleted: Bool
    var createdAt: Date
    
    init(title: String, isCompleted: Bool = false) {
        self.title = title
        self.isCompleted = isCompleted
        self.createdAt = Date()
    }
}

Abfragen mit Prädikaten

let predicate = #Predicate<Task> { task in
    task.isCompleted == false && task.title.contains("dringend")
}
let descriptor = FetchDescriptor<Task>(predicate: predicate)
let tasks = try? modelContext.fetch(descriptor)

Migrationen

Definiere ein SchemaMigrationPlan, um Änderungen zwischen Modellversionen zu handhaben:

enum TaskMigrationPlan: SchemaMigrationPlan {
    static var schemas: [VersionedSchema.Type] = [
        TaskSchemaV1.self,
        TaskSchemaV2.self
    ]
    
    static var stages: [MigrationStage] = [
        .lightweight(from: TaskSchemaV1.self, to: TaskSchemaV2.self)
    ]
}

iCloud Sync

Aktiviere iCloud Synchronisation in der ModelConfiguration:

let config = ModelConfiguration(cloudKitDatabase: .private("iCloud.your.bundle.id"))
let container = try ModelContainer(for: Task.self, configurations: config)

Lizenz

Siehe LICENSE für Details.

Verwandte Skills