Skip to content

MAC RUNTIME · CLI · SDK

Your app does the work.Your mascot feels it.

Put a character above your Mac app and let your code direct it. Start in the terminal, then connect states and reactions through Swift, Node.js, or Electron.

Try a little change of mood.

A small API. A visible response.

The CLI and SDK connect to a native Mac renderer. Your application controls the character’s activity, reactions, visibility, size, and position.

01

Install and show Ko

Install the CLI and renderer on macOS 14 or newer with Apple Silicon. Show the public Ko character without signing in.

02

Connect your app

Use the CLI from scripts, the Swift SDK from a native app, or the TypeScript SDK from Node.js or Electron main.

03

Make it your character

Create a mascot and its behavior in Studio. Prepare its media and choose the appropriate delivery setup for your application.

FROM YOUR TERMINAL TO YOUR APP

Start with a command.
Keep going with code.

Show Ko, hold a working state, then celebrate. Connect the same actions to your app’s events.

CLI · macOS 14+ · Apple Silicon

masko show ko --name ko
masko state working --name ko
masko play celebrate --name ko --wait
Install and run the CLI →

TypeScript · Node.js / Electron main

import { Masko } from '@masko/sdk';

const ko = await Masko.mascot('ko');
await ko.show();
await ko.state('working');
await ko.play('celebrate');

// When your feature closes:
await ko.dispose();
Install and integrate the SDK →

Command line

Show a mascot, hold a working state, and play a celebration after a script finishes. The renderer keeps the character on screen after a command exits.

Terminal quickstart

Swift

Control the native mascot runtime from your Mac app. Use the SDK to manage states, reactions, and the lifetime of each character instance.

Swift SDK guide

TypeScript and Electron

Use the SDK from Node.js or Electron main. Bundle the renderer with an Electron app when your distribution needs it.

TypeScript SDK guide

THE LITTLE DETAILS

A few questions.

we were hoping you’d ask.

Where does the mascot appear?

In a separate floating window above your macOS apps. The native SDK does not embed the mascot inside an Electron window or browser layout. Studio’s canvas React export is a separate web playback path.

Which platforms are supported?

The released CLI and runtime require macOS 14 or later on Apple Silicon. The standalone TypeScript SDK requires Node.js 20 or later and the Mac runtime. This release does not support Windows or Linux.

What is the difference between a state and a reaction?

A state holds an ongoing activity, such as working. A reaction plays a temporary performance, such as celebrating, before returning. Your character’s graph defines the available behavior.

Can I ship my own character with my app?

Yes. Choose public or authenticated customer delivery for the mascot, and follow the SDK packaging guidance for the renderer. Keep personal authoring credentials out of distributed apps.

Customer mascot access
Where can I try working examples?

The homepage has a live behavior graph and Mac companion demonstrations. SDK documentation links to integration examples.

Try the app examples

START WITH A LITTLE CHARACTER

Give your appa companion.

Start with the CLI