Addons¶
oops-addons-add¶
Usage:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
--no-commit |
boolean | If set, created symlinks will not be committed. | False |
--help |
boolean | Show this message and exit. | False |
Examples:
Add mass_editing and web_notify from any tracked submodule:
Stage the symlinks without committing:
oops-addons-compare¶
Compare a provided addon list against the local root addons.
Prints addons missing locally (prefixed with -) and extra local addons not in the list (prefixed with +). With --delete, extra local symlinks are removed.
Usage:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
--delete |
boolean | Remove extra local symlinks not in the provided list. | False |
--no-commit |
boolean | Do not commit changes | False |
--help |
boolean | Show this message and exit. | False |
Examples:
Check which addons from a list are missing or extra in the repo root:
Remove extra local symlinks not in the provided list:
Compare against a file and skip the commit:
oops-addons-download¶
Download and extract addons from a GitHub repository branch.
Fetches the branch as a ZIP archive, extracts addon directories into the working directory, and adds them to .gitignore (unless --no-exclude is passed). A GitHub token can be provided via --token or the TOKEN / GH_TOKEN / GITHUB_TOKEN environment variables.
Usage:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
--token |
text | N/A | None |
--addons |
text | List of addons separated by commas | None |
--exclude / --no-exclude |
boolean | N/A | True |
--help |
boolean | Show this message and exit. | False |
Examples:
Download all addons from a branch:
Download only specific addons:
Use a GitHub token for private repositories:
oops-addons-list¶
List all addons discovered across submodules with their metadata.
Displays a table with addon name, symlink flag, submodule, upstream branch, PR flag, version, and author. Output can be formatted as text, JSON, or CSV.
Usage:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
--format |
choice (text | json | csv) |
Output format | text |
--init / --no-init |
boolean | Run 'git submodule update --init' for submodules whose path is missing on disk | False |
--name, -n |
text | Limit to these submodule names (as in .gitmodules) | None |
--symlinks-only |
boolean | Show only addons that are symlinked at the repo root | False |
--all |
boolean | List all addons, including those not in submodules (i.e. in the root of the repo) | False |
--help |
boolean | Show this message and exit. | False |
Examples:
Display the addon table:
Export as JSON for scripting:
Limit to a single submodule:
oops-addons-materialize¶
Replace addon symlinks with a real copy of the addon directory.
Useful when you need to modify a third-party addon locally. The symlink is removed and its target directory is copied in place. Only symlinks are processed; real directories are skipped.
Usage:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
--dry-run |
boolean | Show what would happen, do nothing. | False |
--no-commit |
boolean | Do not commit changes | False |
--help |
boolean | Show this message and exit. | False |
Examples:
Preview what would be copied without making changes:
Replace a symlink with a real directory and commit: