SparkCode

A coding agent for the terminal, built for blind and low-vision developers.

SparkCode is a fork of opencode, the open source coding agent for the terminal. It keeps everything opencode can do and adds a screen reader mode in which NVDA and JAWS read answers, tool calls and permission questions the moment they appear.

What you get

The same opencode, read aloud

The screen reader keeps up

Every answer, every tool and every permission question reaches the screen as one more line of text. The screen reader reads it at once, with no screen-sized text field and no redrawing.

A free model to start with

SparkCode works with the free Big Pickle model by default. Add a key for your own provider the way you would in opencode and use any model the upstream project supports.

Open, and in step with opencode

The code is public under the MIT licence. SparkCode regularly takes in the changes from opencode, so new features and models reach it shortly after the upstream release.

Install

One line in PowerShell

SparkCode runs on Windows, in Windows Terminal with NVDA or JAWS. Open PowerShell, paste the command and press Enter.

irm https://sparkcode.unlockedspark.org/install.ps1 | iex

The installer downloads the latest release from GitHub, verifies the checksum, unpacks the program into your user directory and adds the sparkcode command to your path. It reports every step as a single line, with no progress bars or animation, so a screen reader reads it cleanly.

Updating

A new version is installed with sparkcode update, run in any terminal.

Other systems

Packages come first for Windows. On macOS and Linux, SparkCode can be built from source as described in the repository.

Screen reader mode

Turns itself on when it finds a screen reader

On start SparkCode checks whether NVDA or JAWS is running and, if so, starts in text mode instead of the full-screen interface. Force the mode with the --screen-reader flag, or turn it off with the environment variable OPENCODE_SCREEN_READER=0. The full-screen opencode interface stays available at any time.

In text mode every line begins with a label: you, assistant, tool, permission. SparkCode announces the start and the end of the model's work with a word and a sound, and breaks longer answers into paragraphs so the screen reader does not run them into one block.

Do you work with a screen reader and have thoughts on how SparkCode speaks? Write to hello@unlockedspark.org or open a thread in the repository on GitHub. Every such note goes straight into the next release.

SparkCode is free

It is built by Unlocked Spark Foundation, funded by donations. If SparkCode saves you work, help us keep it free for everyone who needs it.