SwitchCraft supports an addon system to extend its functionality while keeping the core lightweight and compliant with antivirus heuristics (e.g., by separating Advanced/Intune analysis).
SwitchCraft attempts to install addons automatically in the following order:
- Local Cache: Checks if the addon is present in
addons/folder. - Current Release: Downloads the matching zip from the GitHub Release for your version.
- Main Branch: Falls back to the latest code from the
mainbranch. - Older Releases: Scans previous releases for compatible assets.
If automatic installation fails, you can:
- Browser Download: Open the release page and download the addon ZIP manually.
- Custom Upload: In
Settings -> Help -> Addon Manager, use the "Upload Custom Addon" button to select the downloaded ZIP file.
Addons are standard Python packages located in the addons/ directory.
A valid addon ZIP must contain a top-level folder matching switchcraft_<name> or have that folder somewhere inside.
Example Structure:
my_addon.zip
└── switchcraft_myfeature/
├── __init__.py # Required: Entry point
├── service.py # Optional: Logic
└── gui/
└── view.py # Optional: UI components
- Clone the SwitchCraft repository.
- Create a folder
src/switchcraft_<name>. - Implement your logic.
- To distribute, zip the folder
switchcraft_<name>.
- Advanced: Provides Intune Graph API and Brute-force analysis tools.
- Winget: Provides Winget CLI wrapper and repository search.
- AI: Provides generic AI assistant interfaces.
Warning
Only install addons from trusted sources (e.g., the official GitHub repository). Custom addons run with the same privileges as SwitchCraft.