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 undertweaks/:
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 thecategory array:
Toggle vs. apply-only
If your tweak modifies a setting that can be cleanly reversed, include bothapply.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.