Skip to main content
Tweaks are PowerShell scripts paired with a meta.json configuration file. Sparkle reads the metadata to display the tweak in the UI and runs the scripts when the user applies or reverts it.

Directory structure

Each tweak lives in its own subdirectory under tweaks/:
If a tweak cannot be reversed, omit unapply.ps1. Sparkle will display an Apply button instead of a toggle in the UI.

meta.json schema

Every tweak must include a meta.json file. The table below describes all available fields.
addedversion is required for all new tweaks. updatedversion is required whenever you update an existing tweak.

Risk levels

Categories

Assign one or more of the following categories in the category array:

Toggle vs. apply-only

If your tweak modifies a setting that can be cleanly reversed, include both apply.ps1 and unapply.ps1. The UI will render a toggle. If the change cannot be reversed — for example, because it deletes files or makes a one-way system change — omit unapply.ps1 entirely. The UI will render an Apply button instead of a toggle. You can also set "reversible": false in meta.json explicitly.

Working example: disable telemetry

The following is the real Disable Telemetry tweak from the Sparkle repository.

meta.json

apply.ps1

unapply.ps1

Submit your tweak

1

Create the tweak directory

Add a new folder under tweaks/ using a descriptive kebab-case name, for example tweaks/disable-cortana/.
2

Write apply.ps1

Implement the changes your tweak makes. Test it on a real Windows machine and verify it produces the expected result.
3

Write unapply.ps1 (if reversible)

Implement the logic that restores the settings to their original state. If the tweak cannot be reversed, skip this file.
4

Write meta.json

Fill in all required fields and any optional fields that apply. Set addedversion to the current Sparkle version.
5

Open a pull request

Fork the repository, commit your new tweak directory, and open a pull request with a clear description of what the tweak does and why it is useful.