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.
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.
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):
packages/client-node/src/index.ts.Sikuli.launch() and Sikuli.connect() implemented in packages/client-node/src/sikuli.ts.packages/client-node/src/launcher.ts.packages/client-node/src/binary.ts.sikuli-go doctor (packages/client-node/src/doctor.ts).@sikuligo/sikuli-go npm package (SDK/meta package):
launch, find, click, typeText, hotkey, app control methods).sikuli-go.sikuli-go binary:
launch().proto/sikuli/v1/sikuli.proto compatibility.Recommended packaging model:
@sikuligo/sikuli-go@sikuligo/bin-darwin-arm64@sikuligo/bin-darwin-x64@sikuligo/bin-linux-x64@sikuligo/bin-win32-x64Repository scaffolding:
packages/client-node/packages/bin-*/package.jsonscripts/clients/build-node-binaries.shscripts/clients/release-node-binaries.shsikuli-go and sikuli-go-monitor.@sikuligo/sikuli-go at runtime.@sikuligo/sikuli-go:
docs/strategy/client-strategy.md (Node.js section).launch() before returning control.doctor command (npx @sikuligo/sikuli-go doctor) for environment checks.@sikuligo/sikuli-go meta package and @sikuligo/bin-* packages.