# Cardboard Sikuli IDE and scripting platform to automate and control desktop applications, for GUI application testing or robotic process automation (RPA). This is a clean-room implementation of the Sikuli application based on RobotGo, Goja, and MIQT. - OpenCV image matching - Desktop IDE with screen grabber based on Qt 6 - It uses Javascript as the scripting language instead of Python 2 ## Compiling *Tested on Debian 12* ```bash apt install libopencv-dev qt6-base-dev build-essential golang-go go build -ldflags '-s -w' ``` ## See also - [Original MIT Sikuli](https://github.com/sikuli/sikuli) - [RaiMan's SikuliX](https://github.com/RaiMan/SikuliX1) - Application icon from Material Design icons (`eye-tracking`) ## Scripting reference - `SIKULI_WAIT` - Global variable to set the default refresh rate between operations (milliseconds). Default = 200 - `SIKULI_TIMEOUT` - Global variable to set the default time to wait for an image to appear (milliseconds). Default = 3000 - `SIKULI_THRESHOLD` - Global variable to set the image match accuracy threshold (floating point from 0 to 1). Default = 0.9 - `ClickAt(filepath, offset_x, offset_y)` - Wait for image to appear, then move the mouse and click it at the specified offset. Throws a Javascript error if no match is found.