@malopezr7/bridgekit-cli
v0.0.1-beta.0
Published
Code-generation CLI for BridgeKit — emits Kotlin & Swift bindings from TypeScript contracts
Maintainers
Readme
@malopezr7/bridgekit-cli
Code-generation CLI for BridgeKit. It reads your TypeScript contract files and emits native bindings — Kotlin for Android, Swift for iOS — that match the runtime wire protocol exactly.
Requirements
- Node ≥ 22.6 — the CLI loads
*.contract.tsfiles directly using Node's native TypeScript support (--experimental-strip-types), so no separate build step or TS loader is needed for your contracts.
Install
pnpm add -D @malopezr7/bridgekit-cli@betaThis exposes a bridgekit binary.
Usage
bridgekit generate [options]Emit native files from contract definitions.
| Option | Default | Description |
| ------ | ------- | ----------- |
| --contracts <glob> | **/*.contract.ts | Glob for contract files |
| --out-dir <path> | bridgekit/generated | Output directory |
| --platform <k\|s> | kotlin | Target platform: kotlin or swift |
| --package <pkg> | derived from contract id | Kotlin package override |
| --into <path> | — | Mirror the generated output to a second path |
| --check | — | Diff against out-dir instead of writing; exits 1 on drift |
Examples
# Android (Kotlin) — default platform
bridgekit generate \
--contracts "src/**/*.contract.ts" \
--out-dir android/app/src/main/java/com/myapp/bridgekit/generated
# iOS (Swift)
bridgekit generate --platform swift \
--contracts "src/**/*.contract.ts" \
--out-dir ios/MyApp/bridgekit/generated
# CI guard — fail if generated output is stale
bridgekit generate --check
# Generate locally and mirror into a host native app
bridgekit generate --into ../MyNativeApp/features/myfeature/bridgekitHow it works
generate loads each contract in an isolated Node ESM worker (using native type
stripping), collects the contract descriptors, and runs the platform emitter
(kotlin or swift). A lockfile records the generated surface so --check can
detect drift in CI. The CLI is self-contained — its only runtime dependency is
chalk.
License
MIT © malopezr7
