Build giraffe web app
The Source for macOS Agent Workflows
npx -y skills add gaelic-ghost/socket --skill build-giraffe-web-appAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Build or modify a Giraffe web application in idiomatic F#, using composable HttpHandler functions, explicit ASP.NET Core integration, configuration, authentication, and focused endpoint tests.
SKILL.md
2.3 KB, as published. Nobody here has run it
Build Giraffe Web App
Use Giraffe's functional handler composition as the HTTP boundary, not as a reason to place business rules in route declarations.
Source Check
Inspect the existing host, package lock or project references, handlers, tests, and configuration first. Use the Giraffe documentation and ASP.NET Core documentation when repository evidence is insufficient.
Workflow
- Confirm that Giraffe is already selected; otherwise use
dotnet:choose-fsharp-web-frameworkfirst. - Keep request parsing, authentication context, and response writing in narrow
HttpHandlerfunctions. Compose reusable HTTP concerns with>=>only when they have one clear request-pipeline responsibility. - Put domain transformations and external-dependency contracts in separately testable F# modules. Pass dependencies explicitly or resolve genuine host dependencies at a clear ASP.NET Core boundary.
- Preserve ASP.NET Core ordering: routing, authentication, authorization, static files, exception handling, and Giraffe middleware must remain aligned with the application's existing host contract.
- Make response errors specific: route, failed input or dependency, and the safe client-facing outcome. Do not leak secrets or internal exception details.
- Test pure domain behavior first, then handler or host behavior for route, authorization, binding, status, and response regressions.
Validation
Use the narrowest project commands available, normally:
dotnet build <web-project.fsproj>
dotnet test <test-project.fsproj>
Do not run a live deployment or add a replacement middleware stack merely to exercise one handler.
Boundaries
- Keep
.fsprojfile order valid as modules are added. - Use ordinary ASP.NET Core middleware and services when that is the existing integration surface; do not reimplement them as Giraffe helpers.
- Route Azure hosting, identity, resource configuration, and deployment work to
the official Azure Skills plugin through
cloud-deployment-routing-workflow.