Installation
@ekrooh/bare is published to npm. Install it from the root of your
frontend package:
npm install @ekrooh/bareThe package ships compiled ESM JavaScript + type declarations (dist/) via
the exports map — no build step on your side, no TypeScript source shipped.
Subpath exports
Section titled “Subpath exports”| Import path | Contents |
|---|---|
@ekrooh/bare/core | Wire protocol, plugin kernel, RPC messenger, types |
@ekrooh/bare/runtime | Worklet runtime factory + loopback server wiring |
@ekrooh/bare/plugins | Canonical plugin factories (createDefaultPlugins) |
@ekrooh/bare/plugins/*/events | Typed event builders per plugin |
@ekrooh/bare/transports | WebSocket + mock MessageTransports |
Native hosts
Section titled “Native hosts”- Android:
io.github.anderscan.ekrooh:bare-hoston Maven Central (GitHub Packages as a fallback); a self-contained AAR — the Bare Kit runtime ships inside it. - iOS: the Swift package
BareHostfrom the repo rootPackage.swift, at the same release tag;BareKit.xcframeworkcomes with it as a SwiftPM binary target.
Versioning
Section titled “Versioning”One semver vX.Y.Z covers the whole framework — JS package, Android AAR, and
every artifact. Breaking the wire protocol, plugin contracts, JS exports, or
the Kotlin host API is a major-version event. The JS type surface, the
Kotlin API and the Swift API are each pinned by a committed snapshot, so a
change to them fails CI until it is reviewed.