@rulegate/adapter-kit
v0.3.0
Published
Public adapter contract and test harness for Rulegate adapters.
Readme
@rulegate/adapter-kit
The public contract for Rulegate adapters.
An adapter turns one canonical set of AI-agent instructions into one tool's native config,
and it is a pure module: { detect, read, write, docs }, no network, no writes.
This package is the contract. @rulegate/core is not — it is published because this
package depends on it, but it carries no compatibility guarantee, and adapter source may not
import it.
import {
ADAPTER_API_VERSION,
detected,
finalizeArtifact,
renderConcatenated,
selects,
sortRules,
withHtmlMarker,
type Adapter,
type AdapterContext,
type Artifact,
} from '@rulegate/adapter-kit';Two entry points:
@rulegate/adapter-kit— the frozen contract.@rulegate/adapter-kit/testing— the fixture harness, for tests only. It reads the filesystem, which is why it is not part of the contract entry.
Stability
The surface is frozen at API v1. Adding an export is non-breaking; removing or renaming
one, or changing an existing shape, requires an ADAPTER_API_VERSION bump.
The full list, the breaking/non-breaking policy, and how a v2 would arrive are in
docs/adapter-api-v1.md. Both halves are enforced by tests
rather than by review: test/public-api.test.ts pins the export names and kinds, and
test/shape/pins.ts pins the structural shapes that no export name would reveal.
MIT.
