Skip to content

Addons

oops-addons-add

Usage:

oops-addons-add [OPTIONS] ADDONS_LIST

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:

oops-addons-add mass_editing,web_notify

Stage the symlinks without committing:

oops-addons-add sale_management --no-commit

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:

oops-addons-compare [OPTIONS] ADDONS_LIST

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:

oops-addons-compare "sale,purchase,account"

Remove extra local symlinks not in the provided list:

oops-addons-compare "sale,purchase" --delete

Compare against a file and skip the commit:

oops-addons-compare "$(cat addons.txt)" --delete --no-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:

oops-addons-download [OPTIONS] URL BRANCH

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:

oops-addons-download https://github.com/OCA/server-ux.git 18.0

Download only specific addons:

oops-addons-download https://github.com/OCA/server-ux.git 18.0 --addons mass_editing

Use a GitHub token for private repositories:

oops-addons-download https://github.com/OCA/server-ux.git 18.0 --token $GH_TOKEN

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:

oops-addons-list [OPTIONS]

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:

oops-addons-list

Export as JSON for scripting:

oops-addons-list --format json

Limit to a single submodule:

oops-addons-list -n apikcloud/apik-addons

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:

oops-addons-materialize [OPTIONS] ADDONS

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:

oops-addons-materialize my_addon --dry-run

Replace a symlink with a real directory and commit:

oops-addons-materialize my_addon