Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
- .woodpecker.yaml: image paths -> library/autojanet-{agent,dispatcher}
- .woodpecker.yaml: secret names RS_HARBOR_USER / RS_HARBOR_PASS (global)
- container/Dockerfile: restore COPY skills/, skills/ populated from opencode config
- skills/: 84 opencode skills bundled into image
- k8s/manifests: update image refs to library/
46 lines
2.5 KiB
Markdown
46 lines
2.5 KiB
Markdown
# Swift Language Prompt Snippet
|
|
|
|
## Key Concepts
|
|
|
|
- **Optionals and Optional Chaining**: `Type?` wraps values that may be nil; `?.` chains safely
|
|
- **Protocols and Protocol Extensions**: Define contracts with default implementations via extensions
|
|
- **Value Types vs Reference Types**: Structs and enums are value types; classes are reference types
|
|
- **Closures**: Self-contained blocks of functionality that capture surrounding context
|
|
- **Property Wrappers**: `@State`, `@Binding`, `@Published` encapsulate property storage logic
|
|
- **Result Builders**: `@ViewBuilder`, `@resultBuilder` enable declarative DSL syntax
|
|
- **Actors and Structured Concurrency**: `actor` types for data isolation; `async let`, `TaskGroup`
|
|
- **Generics**: Type parameters with `where` clauses and associated type constraints
|
|
- **Enums with Associated Values**: Each case can carry distinct typed payloads
|
|
- **Extensions**: Add methods, computed properties, and protocol conformance to existing types
|
|
|
|
## Import Patterns
|
|
|
|
- `import Foundation` — core library with data types, collections, networking
|
|
- `import UIKit` — iOS UI framework for traditional view controller architecture
|
|
- `import SwiftUI` — declarative UI framework with reactive state management
|
|
- `@testable import ModuleName` — import with internal access for unit testing
|
|
|
|
## File Patterns
|
|
|
|
- `Package.swift` — Swift Package Manager manifest defining targets and dependencies
|
|
- `*.xcodeproj` / `*.xcworkspace` — Xcode project and workspace configuration
|
|
- `AppDelegate.swift` — UIKit application lifecycle entry point
|
|
- `App.swift` — SwiftUI application entry point using `@main`
|
|
- `Tests/` — test target directory following SPM or Xcode conventions
|
|
|
|
## Common Frameworks
|
|
|
|
- **SwiftUI** — Declarative UI framework with reactive data flow
|
|
- **UIKit** — Imperative UI framework using view controllers and Auto Layout
|
|
- **Vapor** — Server-side Swift web framework with async support
|
|
- **Combine** — Reactive framework for processing values over time
|
|
- **Core Data** — Object graph and persistence framework
|
|
|
|
## Example Language Notes
|
|
|
|
> Uses `@Published` property wrapper to automatically notify SwiftUI views of state
|
|
> changes. When the wrapped value mutates, the property wrapper triggers `objectWillChange`
|
|
> on the enclosing `ObservableObject`, causing dependent views to re-render.
|
|
>
|
|
> Protocol extensions provide default implementations, allowing types to conform by
|
|
> simply declaring conformance — no method body needed if defaults suffice.
|