From server-side-swift
Bootstrap new Hummingbird server-side Swift services with the official hb CLI, CLI-selected Server or Lambda application shape, Hummingbird swift-configuration support, Fluent ORM and PostgreSQL for long-running services, CLI-generated Docker files, Docker Compose local dependencies, generated AGENTS guidance, and SwiftPM validation. Use when creating a fresh Hummingbird service from scratch or maintaining this skill's bootstrap defaults.
How this skill is triggered — by the user, by Claude, or both
Slash command
/server-side-swift:bootstrap-hummingbird-serviceThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create a new Hummingbird service repository from nothing to a consistent, database-backed local baseline.
Create a new Hummingbird service repository from nothing to a consistent, database-backed local baseline.
The practical decision is not whether Hummingbird should use the CLI, the template repository, or a hand-built SwiftPM scaffold. The default is already chosen: start with the official hb CLI, answer the current Server or Lambda prompts deliberately, keep Hummingbird's generated application, configuration, package, and Docker shape, and only then add project-specific persistence or deployment support.
For long-running Hummingbird servers, Gale's default baseline is Fluent ORM with PostgreSQL plus Docker Compose Postgres for local development. For CLI-generated Lambda apps, preserve the generated Lambda adapter shape first and add persistence only when the service actually needs it.
AGENTS.md guidance.hummingbird-server-workflow.persistence-workflow.docker-workflow.Use official Hummingbird and package sources before making CLI, configuration, persistence, or package claims:
Use SwiftPM and Swift.org documentation for package, toolchain, and Linux behavior when Hummingbird docs do not own the rule being used.
namedestinationexecutable_namedatabase_namedatabase_userdatabase_passwordskip_validationswiftgithbhb init <name>
hb templates ask whether the application is Server or Lambda; Lambda apps then ask for APIGateway, APIGatewayV2, or FunctionURL; Server and Lambda flows both offer feature prompts such as OpenAPI, and Server flows also offer WebSockets. Preserve Hummingbird's generated application, executable layout, .dockerignore, and Dockerfile instead of replacing them with a hand-written SwiftPM or Docker scaffold.swift-configuration support generated or documented by Hummingbird.env, and in-memory defaults for Server apps, or environment-driven configuration for Lambda appshummingbird-lambda as the AWS Lambda deployment adapter generated by the Hummingbird templateOpenAPIHummingbird as the generated handler registration transport on a Hummingbird RouterAPIProtocol implementation transport-neutral enough that a later server executable or Lambda adapter can share the same API implementationswift-openapi-lambda; that is a separate valid OpenAPI Lambda transport, not the transport generated by the current Hummingbird templatehb initcompose.yaml with a postgres service when the selected hb template does not already generate a Compose fileassets/AGENTS.md into the new repository rootAGENTS.md is not visible inside ordinary service repositoriestemplates/codex-local-environments/hummingbird.toml into .codex/environments/hummingbird.tomlEXECUTABLE_NAME with the actual executable targetswift buildswift testdocker compose configdocker build .docker compose up -d postgresswift run <executable> or hb watch only when runtime startup validation is requestedhb init <name>Server or Lambda pathhummingbird-lambdaOpenAPIHummingbirdAGENTS.mdswift-configuration supportlocalhost5432development-passwordskip_validation is requestedstatus
success: service scaffold, repo guidance, and requested validation completedblocked: prerequisites, target-directory constraints, or unsupported CLI choices prevented the runfailed: the scaffold started but generation, dependency wiring, or validation failedpath_type
primary: official hb CLI bootstrap pathfallback: non-mutating guidance only because the CLI path could not safely runoutput
compose.yaml shapeAGENTS.md installedhb, preserve the generated Server or Lambda application shape, and keep Hummingbird's generated configuration support for every fresh Hummingbird service unless the user explicitly approves a project-specific exception.hb init; validate and keep them in the initial scaffold.swift-openapi-lambda unless the user explicitly chooses that separate transport..env.* files with sensitive values, machine-local paths, or private dependency URLs.hb --help, or generated scaffold files.docker-workflow only when changing beyond the CLI-generated Docker baseline, such as adding multi-service production behavior, registry publishing, CI image builds, deployment-runtime tuning, or nonstandard image hardening.hb is missing and Homebrew is acceptable, install with:
brew tap hummingbird-project/tap
brew install hb
hb is unavailable and cannot be installed, stop with a non-mutating fallback plan. Do not silently switch to the template repository.hummingbird-server-workflow for routes, middleware, request contexts, service lifecycle, and framework tests.persistence-workflow for models, migrations, query design, transactions, and database-backed tests after the initial baseline exists.docker-workflow for production Dockerfiles, multi-stage images, image validation, registries, or container deployment.fly-io-deployment-workflow for Fly.io apps, Fly Postgres, secrets, health checks, and deploy validation.assets/AGENTS.mdnpx claudepluginhub gaelic-ghost/socket --plugin server-side-swiftCreates, edits, and verifies skills using a test-driven development approach with pressure scenarios and subagents.