diff --git a/README.md b/README.md new file mode 100644 index 0000000..b621e5f --- /dev/null +++ b/README.md @@ -0,0 +1,31 @@ +# 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.