Node Package User Flow

Start with Node.js Client if you want the current package guide. This page remains the deeper design and packaging note behind that guide.

This document defines the target user story for a Node.js-first integration where automation can run after npm install with minimal code.

User Story

As a Node.js user, I want to install sikuli-go from npm and run desktop automation with a few lines of code, without manually managing gRPC server startup.

Target Developer Experience

Install:

npm install @sikuligo/sikuli-go

Use:

import { Sikuli } from "@sikuligo/sikuli-go";

const bot = await Sikuli.launch();
await bot.click({ x: 300, y: 220 });
await bot.typeText("hello");
await bot.hotkey(["cmd", "enter"]);
await bot.close();

Implementation status (baseline in repo):

Required Components

  1. @sikuligo/sikuli-go npm package (SDK/meta package):
  2. sikuli-go binary:
  3. client/server contract:

Binary Packaging Strategy

Recommended packaging model:

  1. Publish one JS meta package:
  2. Publish per-platform binary packages as required dependencies:

Repository scaffolding:

  1. Each binary package:
  2. Runtime resolution in @sikuligo/sikuli-go:

Release and Build Requirements

Runtime Requirements

Operational Requirements

Implementation Milestones

  1. package split:
  2. launch manager:
  3. compatibility and release:
  4. onboarding: