npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@sikuligo/sikuli-go

v0.1.76

Published

sikuli-go Node.js client

Readme

sikuli-go (Node.js)

sikuli-go is a Go implementation of Sikuli visual automation. This package provides the Node.js SDK for launching sikuli-go locally and executing automation with a small API surface.

Canonical Documentation

Long-form Node.js docs now live in the published guide:

Quickstart

init:js-examples prompts for a target directory, scaffolds a package.json with the latest @sikuligo/sikuli-go dependency, runs yarn install, and copies .mjs examples into examples/.

yarn dlx @sikuligo/sikuli-go init:js-examples
cd sikuli-go-demo
yarn node examples/click.mjs
import { Screen, Pattern } from "@sikuligo/sikuli-go";

const screen = await Screen();
try {
  const match = await screen.click(Pattern("assets/pattern.png").exact());
  console.log(`clicked match target at (${match.targetX}, ${match.targetY})`);
} finally {
  await screen.close();
}

Install In An Existing Project

npm install @sikuligo/sikuli-go
# or
yarn add @sikuligo/sikuli-go

Runtime Helpers

Install the runtime binaries on PATH:

yarn dlx @sikuligo/sikuli-go install-binary

Start the runtime and dashboard:

yarn dlx @sikuligo/sikuli-go -listen

Open:

  • http://127.0.0.1:8080/dashboard

Run the standalone monitor after installing the binaries:

sikuli-go-monitor

By default it serves the monitor UI on :8080 and reads sikuli-go.db from the current working directory.

Dashboard Preview

The local runtime exposes both the dashboard and the standalone monitor workflow described in the guide:

Dashboard Screenshot

Monitor Screenshot

Common Package Entry Points

  • Screen() or Screen.start() uses auto mode
  • Screen.connect() attaches to an existing runtime
  • Screen.spawn() forces a new runtime process
  • screen.region(x, y, w, h) scopes the search area

For the full runtime model, diagnostics flow, and troubleshooting notes, use the Node.js guide pages above.

FindOnScreen Benchmark Test Results

Generated: 2026-03-07T23:32:15.506029+00:00

Reports

Engine Summary

Cases/OK metrics are query-level counts (regions x scenarios x resolutions), not just benchmark row count.

| Engine | Cases | OK | Partial | Not Found | Unsupported | Error | Overlap Miss | Avg ms/op | Median ms/op | |---|---:|---:|---:|---:|---:|---:|---:|---:|---:| | akaze | 120 | 39 | 0 | 78 | 0 | 0 | 3 | 172.121 | 147.695 | | brisk | 120 | 47 | 0 | 63 | 0 | 0 | 10 | 388.483 | 123.118 | | hybrid | 120 | 69 | 0 | 45 | 0 | 0 | 6 | 171.017 | 134.411 | | kaze | 120 | 63 | 0 | 50 | 0 | 0 | 7 | 824.898 | 640.512 | | orb | 120 | 13 | 0 | 96 | 0 | 0 | 11 | 56.443 | 44.794 | | sift | 120 | 56 | 0 | 55 | 0 | 0 | 9 | 256.756 | 198.264 | | template | 120 | 64 | 0 | 56 | 0 | 0 | 0 | 154.257 | 114.466 |

Run Mega Summary

Run Mega Summary

Benchmark Graphs

Performance Graph

Accuracy Graph

Scenario Kind Graphs

Scenario Kind Match Time

Scenario Kind Success

Resolution Group Graphs

Resolution Match Time

Resolution Matches

Resolution Misses

Resolution False Positives

Artifact Directories

Scenario Summary Images (10)

hybrid_gate_conflicts_1920x1080_i09

hybrid_gate_conflicts_1920x1080_i09

multi_monitor_dpi_shift_1920x1080_i10

multi_monitor_dpi_shift_1920x1080_i10

noise_stress_random_1920x1080_i04

noise_stress_random_1920x1080_i04

orb_feature_rich_1920x1080_i07

orb_feature_rich_1920x1080_i07

perspective_skew_sweep_1920x1080_i06

perspective_skew_sweep_1920x1080_i06

photo_clutter_1920x1080_i02

photo_clutter_1920x1080_i02

repetitive_grid_camouflage_1920x1080_i03

repetitive_grid_camouflage_1920x1080_i03

scale_rotate_sweep_1920x1080_i05

scale_rotate_sweep_1920x1080_i05

template_control_exact_1920x1080_i08

template_control_exact_1920x1080_i08

vector_ui_baseline_1920x1080_i01

vector_ui_baseline_1920x1080_i01