yolk

yolk-codegen CLI

Generates typed Swift and TypeScript bindings from a spec file.

Usage

yolk-codegen <spec.ts> <swift-out-dir> <ts-out-dir>

| Argument | Description | |---|---| | spec.ts | Path to the spec file containing *Spec interfaces | | swift-out-dir | Directory to write generated .swift files | | ts-out-dir | Directory to write generated .ts files |

Example

yolk-codegen logic/storage.spec.ts macos/Generated logic/src/generated

Output:

✓ Storage → macos/Generated/StorageModule.swift
✓ Storage → logic/src/generated/Storage.ts

Multiple specs

Each spec file is processed independently. To generate from multiple files, run codegen once per file:

yolk-codegen logic/storage.spec.ts macos/Generated logic/src/generated
yolk-codegen logic/network.spec.ts  macos/Generated logic/src/generated

Or add it as a script in package.json:

{
  "scripts": {
    "codegen": "yolk-codegen storage.spec.ts macos/Generated src/generated && yolk-codegen network.spec.ts macos/Generated src/generated"
  }
}

Generated file headers

All generated files include a header indicating they should not be modified manually:

// Generated by Yolk codegen — do not edit

Commit generated files alongside the spec — they are build artifacts that should be checked in.