Machine setup
This guide applies to users of the @guidepup/guidepup or @guidepup/playwright packages.
Machine setup is not required for users of the @guidepup/virtual-screen-reader package.
Automated setup
For some operating systems, enabling control of screen readers is tightly controlled.
To make machine setup easier, @guidepup/setup provides separate commands to configure your machine and to install screen reader assets. This guide applies to both steps.
Configure your machine
The setup command configures your machine for screen reader automation. It only needs to be run once per machine:
- Local
- CI / CD
npx @guidepup/setup setup
npx @guidepup/setup setup --ci
The CLI first attempts to configure your machine. On machines with tighter security controls, such as macOS with System Integrity Protection (SIP), it may prompt for additional manual steps.
If you are uncomfortable with providing credentials to this CLI you can manually achieve these steps by following the Manual VoiceOver Setup guide.
⚠️ Warning
You might be tempted to disable System Integrity Protection (SIP) to streamline this process, but this comes with serious security implications so please first refer to the Apple documentation for more details before taking any action.
It is strongly advised that you use
@guidepup/setupor the Manual VoiceOver Setup guide for local development in preference to changing SIP status.
Recording setup (macOS only)
If you are encountering errors in CI for macOS, you can pass a --macos-record flag to the setup command. It outputs a screen recording to a ./recordings/ folder within the current working directory.
- Local
- CI / CD
npx @guidepup/setup setup --macos-record
npx @guidepup/setup setup --ci --macos-record
Install screen reader assets
After installing @guidepup/guidepup (or a package that depends on it), run install from your project directory:
npx @guidepup/setup install
Guidepup reads the installed package's manifest to select the screen reader assets supported by that version. Run the command again whenever you upgrade Guidepup.
You can install an individual supported screen reader when needed:
npx @guidepup/setup install voiceover
npx @guidepup/setup install nvda
Cache location
By default, installed assets are stored in your operating system's cache directory:
~/.cache/guidepup/on Linux~/Library/Caches/guidepup/on macOS%USERPROFILE%\AppData\Local\guidepup\on Windows
To use a different location, set GUIDEPUP_SCREEN_READERS_PATH:
GUIDEPUP_SCREEN_READERS_PATH=$HOME/guidepup npx @guidepup/setup install
Proxy configuration
Screen reader assets are downloaded from GitHub release URLs. If your network uses an HTTPS proxy, set HTTPS_PROXY when running install:
HTTPS_PROXY=https://192.0.2.1 npx @guidepup/setup install
Cleanup
Unused assets are cleaned up automatically when install next runs.
Issues
If you are encountering issues with @guidepup/setup then please reach out and raise a GitHub issue.