Upgrading ARI from Upstream
ARI is designed to be upgraded directly from the GitHub upstream repository. When you pull the latest changes, all files in the project will be updated to match upstream, including everything inside the modules-core directory.
What Gets Overwritten
When you upgrade from upstream, all files and modules inside modules-core will be overwritten. This directory is managed entirely by the upstream repository and should be treated as read-only. Any local changes you make directly to modules in modules-core will be lost on the next upgrade.
Protecting Your Customizations with modules-custom
If you want to modify a core module or create your own, place it in the modules-custom directory. This directory is ignored by upstream updates and is entirely yours to manage.
To customize an existing core module:
- Copy the module folder from
modules-coreintomodules-custom. - Make your changes in the
modules-customcopy. - Upgrade freely — your custom version is safe.
Module Loading Priority
If the same module exists in both modules-core and modules-custom, only the version in modules-custom will be loaded. This allows you to override any core module with your own version without needing to delete or modify the original in modules-core.
This means you can:
- Fork a core module and tweak it to fit your workflow.
- Fix a bug in a core module locally while waiting for an upstream patch.
- Experiment with changes to a module without affecting the original.
Recommended Upgrade Workflow
- Commit or back up your work before pulling upstream changes.
- Pull the latest changes from the upstream repository.
- Review any conflicts — these should only occur if you edited files outside of
modules-custom. - Test your modules to make sure everything still works with the updated core.
Summary
| Directory | Managed By | Survives Upgrade | Loaded When Duplicate Exists |
|---|---|---|---|
modules-core |
Upstream | No | No (overridden by custom) |
modules-custom |
You | Yes | Yes (takes priority) |
Keep your customizations in modules-custom and you can upgrade ARI with confidence.