Bind immutable @owlmeans/entrypoint declarations to protocol-bound server implementations. Load when serving a shared API, socket, or queue entrypoint.
Scanned 9/22/2026
Install to Claude Code
npx -y skills add owlmeans/common --skill server-entrypoint --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Server Entrypoint?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/owlmeans-server-entrypoint)More formats (shields.io, HTML) on the badges page.
---
name: server-entrypoint
description: Bind immutable @owlmeans/entrypoint declarations to protocol-bound server implementations. Load when serving a shared API, socket, or queue entrypoint.
user-invocable: false
---
# @owlmeans/server-entrypoint
**Install:** `bun add @owlmeans/server-entrypoint@^0.1.18-rc.28`
Bind the imported protocol object to the implementation that serves it:
```ts
import { bind } from '@owlmeans/server-entrypoint'
import { handlers } from '@owlmeans/server-api'
const api = handlers<AppContext>()
export const serverBindings = [
bind(projectProtocols.create, api.body(projectProtocols.create, async (body, context) =>
context.projects.create(body)
)),
]
```
`bind(protocol, handler?, options?)` returns a `ServerProtocolEntrypoint<Protocol>`.
`bindAll(declarations, handlers?)` is for a flat protocol collection at a registration boundary. A handler carries its
`protocol`, and a collection is matched by object identity; an alias is never used to find or
replace it. HTTP code should use `handlers<Context>()`; sockets use `connection(protocol, callback)`.
The second argument is either a protocol-bound handler (from `handlers<Context>()` above, or a
library factory that returns one) or omitted entirely for a parent route. A plain callback passed
directly to `bind()` is NOT the same thing: it is treated as a ref handler and invoked once, at
bind time, with the entrypoint ref as its only argument — not per-request. Wrap it with
`handlers<Context>()` first.
Do not create a mutable contextual declaration, use a compatibility entrypoint type, or attach a
handler with an alias. The declaration is shared data; the binding is its server-local runtime.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!