Tweaks are PowerShell scripts paired with aDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/thedogecraft/sparkle/llms.txt
Use this file to discover all available pages before exploring further.
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.
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Folder name of the tweak. Must match the directory name. |
title | string | Yes | Text displayed in the UI card. |
description | string | Yes | Short description shown on the UI card. |
category | string[] | Yes | One or more categories used to sort tweaks in the UI. |
reversible | boolean | No (default true) | Set to false to show an Apply button instead of a toggle. |
modal | string | No | Text shown in a confirmation modal before the tweak is applied. |
recommended | boolean | No | Displays a recommended icon on the UI card. |
top | boolean | No | Pins the tweak to the top of the list. |
warning | string | No | Displays a warning icon; users see the text on hover. |
restart | boolean | No | Shows a message indicating a system restart is required. |
deepDescription | string | No | Detailed description supporting Markdown. Used in documentation. |
links | object[] | No | Related resources. Each object must have name and url string properties. |
risk | string | No | Risk level: safe, caution, or risky. Shows a corresponding icon in the UI. |
addedversion | string | No* | Version string when the tweak was first added. Appears in the UI. |
updatedversion | string | No* | Version string when the tweak was last updated. Appears in the UI. |
addedversion is required for all new tweaks. updatedversion is required whenever you update an existing tweak.Risk levels
| Level | When to use |
|---|---|
safe | No meaningful risk to system stability or data. |
caution | May affect system behavior; the user should understand what it does before applying. |
risky | Could cause instability or be difficult to reverse; should include a warning and ideally a modal. |
Categories
Assign one or more of the following categories in thecategory array:
| Category | Description |
|---|---|
General | General-purpose tweaks that don’t fit a specific area. |
Appearance | Changes to Windows visual elements and themes. |
Performance | Improvements to system or application performance. |
Privacy | Tweaks that reduce data collection or tracking. |
Gaming | Optimizations for FPS, game services, or GPU configuration. |
Network | Adjustments to network and connectivity settings. |
GPU | Modifications specific to GPU configuration. |
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
Create the tweak directory
Add a new folder under
tweaks/ using a descriptive kebab-case name, for example tweaks/disable-cortana/.Write apply.ps1
Implement the changes your tweak makes. Test it on a real Windows machine and verify it produces the expected result.
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.
Write meta.json
Fill in all required fields and any optional fields that apply. Set
addedversion to the current Sparkle version.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.