Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.bitfield.so/llms.txt

Use this file to discover all available pages before exploring further.

Workflow

Callable package slot.

Use a slot when a package needs a named runnable door. App code asks the public target. It does not learn how the runnable thing is built, mounted, or replaced.

A slot is a callable door. The package boundary says the door name and the methods it accepts. The implementation behind that door stays behind the plug.

Folder shape

search-package/
  things-to-store-and-run.json
  slots/
    search-slot.bin

Boundary file

{
  "package": "search-package",
  "things": [
    {
      "type": "slot",
      "name": "product.search",
      "methods": [
        {
          "name": "query"
        }
      ],
      "boundary": {
        "call_shape": "envelope-bytes-in-envelope-bytes-out",
        "methods": [
          {
            "name": "query"
          }
        ]
      },
      "artifact": {
        "source_path": "slots/search-slot.bin"
      }
    }
  ]
}

App call

import { sendRequestToBitfieldTarget } from '@bitfield/runtime-kit';

const reply = await sendRequestToBitfieldTarget({
  target: 'product.search',
  payload: { query: 'blue jacket' },
});

What stays stable

Your app keeps calling product.search. The package can change the bytes behind that target without making the React component import implementation code, read a package file, or understand the slot internals.
The boundary is public. The implementation details are not. A docs example can show the door name and call shape without publishing how the thing behind it is built.
Last modified on May 9, 2026