Skip to content
Go to file


Failed to load latest commit information.

stars issues ci version deno version vr scripts nest badge

Cross-platform desktop automation framework for Deno.


  • Keyboard

    • Type a string using .type
    • Tap a key using .tap
    • Toggle key using .toggleKey
  • Mouse

    • Simulate mouse movement using .moveMouse
    • Click using .click
    • Simulate a scroll using .scroll
    • Get mouse position using .mousePosition
    • Get mouse position pixel color .pixelColor
  • Screen

    • Capture screen using .screenshot
    • Get screen size using .screenSize
    • Check if point out of bounds using .pointVisible
    • Get number of pixels in a point using .screenScale
  • Notifications

    • Native popup using .alert
    • Notifications using .notify
  • Monitors

    • Get the number of monitors using .getMonitors
  • Window management (only for linux)

    • Get window title using .getWindow
    • Transform windows size using .transformByIndex


Detailed documentation of the API is available at:



sudo apt-get update
sudo apt-get install libdbus-1-dev x11-xserver-utils wmctrl libxtst-dev cmake libc-dev libx11-dev libxcb1-dev


Running your Deno script with AutoPilot requires some flags

deno run --unstable -A file.ts

NOTE: Prebuilt binaries are automatically downloaded the first time you import Autopilot in your project and are cached.

import AutoPilot from '';

// create a new AutoPilot instance.
var pilot = new AutoPilot();

// type a string
await pilot.type("Yay! This works");

// alert something
await pilot.alert("This is a alert");

// get screen size
await pilot.screenSize();

// move mouse
await pilot.moveMouse(200, 400);

// take a full-screen screenshot
await pilot.screenshot("screenshot.png");

Env variables

  • CACHE: Set if you want to update the release from Github.
  • DEV: Set if you want t use the development debug builds.


Clone this repo and run cargo build to produce a development build.


  • Run tests: vr test
  • Run and produce benchmarks: vr bench
  • Format code fmt: vr fmt
  • Create development build: vr build


Contributing code and ideas to AutoPilot is really easy! Create an issue or PR. :)


See MIT License. All rights reserved. Divy Srivastava 2020.

You can’t perform that action at this time.