Guidelines and procedures for registry maintainers and plugin moderators.
Moderators manage plugin status by commenting commands on the plugin's tracking issue:
/broken: Flag the plugin as non-functional or incompatible with current DMS./working: Clear the broken flag after fixes are verified./unmaintained: Flag the plugin as abandoned by its upstream author./deprecated: Flag the plugin as deprecated or superseded./review: Mark the plugin as verified by a moderator./unreview: Remove the reviewed mark./similar #<issue>: Link related plugins (use/unsimilar #<issue>to unlink).
Plugin authors may also use /unmaintained or /deprecated on their own tracking issues.
Purging a plugin removes its entry from the registry, breaking existing installations. Deprecation is always preferred over deletion.
- Deprecation First: Flag tracking issues with
/deprecatedor/unmaintainedinstead of deleting the registry entry. - Verification & Grace Period: Non-emergency removals require verification and cooldown before purging (3 consecutive daily strikes for dead repositories; 60-day adoption window for obsolete plugins).
- Adoption First: If an unmaintained plugin remains useful, priority is given to updating the repository pointer to an active community fork instead of purging.
| Tier | Reason | Criteria | Verification / Cooldown | Action |
|---|---|---|---|---|
| 1 | Emergency | Malware, security exploits, unauthorized exfiltration, or legal/DMCA takedowns | None | Immediate deletion by maintainers |
| 2 | Dead Upstream | Repo deleted or returns 404/410/451 across 3 consecutive daily automated check runs | 3 daily strikes | Automated removal PR opened for moderator review; merged or closed manually (never auto-merged) |
| 3 | Obsolete / Broken | Flagged /broken or /unmaintained > 6 months with no upstream activity, or superseded by built-in DMS features |
60 days | Purge only after adoption period expires |
| 4 | Author Request | Verified request from original author | 14–30 days | Advance notice before removal; community may fork and retain entry |
- Deprecate (Day 0): Flag tracking issue with
/deprecatedor/unmaintained. - Adoption Window (Days 0–60): Label issue
help wantedoradoption-needed. Community members may adopt by submitting a PR updatingrepoto an active fork. - Purge (Day 60+): If unadopted, run the purge tool to remove the plugin files and update registry data:
python3 script/purge_plugin.py <plugin_id>
A purged plugin may be restored at any time via PR if an active, compatible repository is provided and verified.