From server-side-swift
Build and diagnose Apple Containerization, apple/container 1.x, and persistent container machine workflows for server-side Swift on Apple silicon while keeping Apple tooling distinct from Docker and full VMs.
How this skill is triggered — by the user, by Claude, or both
Slash command
/server-side-swift:apple-containerization-workflowThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
When a task combines SwiftData with SwiftUI, keep SwiftData directly coupled to SwiftUI through Apple's data-driven path: `modelContainer`, environment `modelContext`, `@Query`, SwiftData model objects, and bindings. Do not add repositories, stores, service layers, DTO mirrors, view-model caches, wrapper objects, or other abstraction layers between SwiftData and SwiftUI. If this skill is not th...
When a task combines SwiftData with SwiftUI, keep SwiftData directly coupled to SwiftUI through Apple's data-driven path: modelContainer, environment modelContext, @Query, SwiftData model objects, and bindings. Do not add repositories, stores, service layers, DTO mirrors, view-model caches, wrapper objects, or other abstraction layers between SwiftData and SwiftUI. If this skill is not the right owner for SwiftData-backed SwiftUI work, hand off to apple-dev-skills:swiftui-app-architecture-workflow instead of inventing an intermediate data layer.
Build, run, test, or diagnose server-side Swift container work that specifically uses Apple's Containerization project or the apple/container command-line tool.
The practical decision is whether the task needs Apple's macOS-native container runtime, the lower-level Containerization Swift APIs, or ordinary Docker-compatible files. This skill keeps those paths separate so Docker deployment guidance does not accidentally become Apple-only runtime guidance.
container CLI, Containerization Swift APIs, OCI image work on Apple silicon, or native macOS container runtime behavior.container system start, container build, container run, container machine, image pull or push, registry login, kernel setup, lightweight VM startup, networking, Rosetta, nested virtualization, or Apple silicon runtime behavior.docker-workflow for generic Docker work.Use current official Apple and project documentation before claiming behavior, because this surface is young and changes quickly:
Treat documentation on a repository's main branch as current-branch documentation. When a user needs release-stable behavior, open the matching release tag and use that version's docs instead. The container 1.0.0 release links current-branch machine documentation that is not present under the release tag, so pair that document with the installed 1.x CLI's container machine --help and subcommand help before encoding commands.
Read references/apple-container-version-matrix.md before changing a version-sensitive workflow.
Package.swiftswift run commandcontainer notescontainer CLIcontainer behavior with Docker behaviorcontainercontainer machine Linux environmentcontainer CLI or package source checkoutcontainer, SwiftPM, log, or HTTP check.Keep the CLI and Swift package version lines separate:
apple/container CLI 1.x is the stable command surface covered here. Version 1.0 introduced persistent container machine environments, TOML-backed configuration, structured-list output changes, container cp, and removal of the version-zero XPC compatibility path.apple/containerization remains a 0.x Swift package. Pin an exact release or revision, read that source and generated API documentation, and treat source compatibility as unproven until the selected version builds and tests.container system property commands as compatibility shims. Migrate to the documented 1.x TOML configuration and report the required user-visible change.Use plain language when choosing between the paths:
container workflow means Apple's macOS CLI and services for building and running OCI images locally on Apple silicon.Prefer Docker guidance when the service needs portable deployment artifacts for Linux hosts, CI, or common container platforms. Prefer Apple Containerization guidance when the user specifically wants Apple's local macOS runtime, lower-level Swift APIs, or a comparison on Apple silicon.
Before recommending concrete Apple container commands, scripts, or flags, run or request the smallest probe that proves the local tool and docs match the intended workflow:
container version or the checked source/release tagcontainer --help and the relevant subcommand help before using Docker-like flagsIf any probe fails, report the missing capability and stop before adding repo scripts or docs that would encode a workflow the machine cannot run.
When using the container CLI:
container system start pathcontainer --help and container <command> --helpDo not assume Docker Compose features, Docker Desktop behavior, or Docker CLI flags map directly to Apple's container CLI. Check the container command's own help and release docs first.
Use container machine for a persistent Linux development environment, not for a disposable application container, macOS virtualization, or a Compose replacement.
container machine --help output.home-mount=none or the current documented equivalent, then hand control review to cybersecurity-skills:prepare-isolated-analysis-lab./dev/kvm; never promise it from a flag alone.Use apple-dev-skills:linux-development-vm-workflow when the question is whether a container machine, Lima/Colima environment, or full Linux VM provides the required fidelity. Use apple-dev-skills:virtualization-framework-workflow for custom full-VM implementation.
When using the Containerization Swift package directly:
cctl executable before writing new API codeDo not add Containerization package dependencies to an ordinary server-side Swift service just to run the service in a container. That is local runtime tooling, not service business logic.
For Vapor services:
vapor-server-workflow for app commands, routes, middleware, migrations, and Vapor environment behaviorcontainer run should execute the server, a migration command, or a custom Vapor commandFor Hummingbird services:
hummingbird-server-workflow for router, middleware, request context, application lifecycle, and service configurationUse docker-workflow when the work is mostly Dockerfile, Compose, or portable OCI image authoring. Use persistence-workflow when local container work adds a database service, volume, migration timing, or seed data.
Prefer this order:
container CLI or checked release docs.container CLI.curl against the running service only when HTTP behavior matters.When a container command fails, report the exact command, image, runtime service, kernel state, port, registry, architecture, or API symbol involved. Include the likely cause, such as unsupported macOS, missing kernel setup, service not started, registry auth failure, port mismatch, amd64 emulation mismatch, image entry-point mismatch, or a CLI flag that belongs to Docker rather than Apple's tool.
Return:
Apple container shape: CLI or Swift API path, host requirements, image source, executable target, ports, environment, and runtime services.Docs used: Apple Containerization, apple/container release docs, Virtualization framework, SwiftPM, Vapor, Hummingbird, Docker, or persistence docs consulted.Command path: exact container, SwiftPM, run, log, registry, or HTTP commands run or recommended.Runtime behavior: system service state, image build or pull behavior, entry point, arguments, environment, ports, volumes, networking, Rosetta, and kernel assumptions.
Validation: tool version, system start, build, run, logs, HTTP check, or Swift test results.Handoffs: Docker, Vapor, Hummingbird, persistence, macOS app integration, CI, registry publish, or deployment follow-up when the task crosses this skill's boundary.container CLI is a drop-in replacement for Docker or Compose.container machine as an ordinary application container, macOS VM, or safe hostile-workload boundary while home integration is enabled.container system property commands as a fallback for 1.x configuration.container CLI reached 1.x..env files, machine-local paths, kernel artifacts, private images, or local runtime state.Creates, edits, and verifies skills using a test-driven development approach with pressure scenarios and subagents.
npx claudepluginhub gaelic-ghost/socket --plugin server-side-swift