This tool helps you do common Wikipedia maintenance tasks faster. It does guided, policy-aligned workflows so that you can handle repetitive moderation and cleanup work with fewer manual steps.
Project status: actively maintained
Adiutor is intended for use by Wikipedia editors and administrators. It is meant to help editors and admins do page maintenance, deletion nominations, reporting, warning, and other anti-vandalism workflows.
Adiutor provides a gadget menu in supported skins and opens task-specific dialogs. It uses MediaWiki APIs to create edits, post notices, file requests on noticeboards, and update optional user-level settings. For more details about the technical implementation, see the developer documentation.
This tool cannot replace editorial judgment or local policy consensus. It does not have autonomous moderation, machine learning decision-making, or server-side background processing in this gadget repository.
Before using this tool, you should be familiar with:
- the basics of Wikipedia editing policies and deletion/reporting workflows
- JavaScript gadget usage in MediaWiki
You should have:
- access to a MediaWiki installation with gadget support (local or remote)
- Node.js for local development and deployment scripts
- a user account with permissions required by each action (some features require sysop or advanced rights)
- Enable Adiutor on your wiki (or load it in local development).
- Ensure gadget pages are deployed (
MediaWiki:Gadget-adiutor-*.js/.json/.css). - Ensure the Gadgets-definition line includes
Adiutor. - Hard refresh the browser.
- Ensure gadget pages are deployed (
- Open a supported page (article, user page, etc.).
- Click the Adiutor menu in the page UI.
- Open a target page.
- From Adiutor menu, choose Create speedy deletion request.
- Select one or more CSD reasons.
- Fill extra fields (for example copyvio URL) if needed.
- Optionally enable creator notification and logging.
- Submit and confirm the page refresh reflects the new template.
- Open a page.
- From Adiutor menu, choose Tag page.
- Select one or more maintenance tags.
- Fill optional parameters where required.
- Submit and verify the inserted template(s) in page source/history.
- Run the deploy script from repository root.
- Provide
--api-url,--username,--password. - Use
--onlyfor targeted deployments.
- Provide
- Purge updated gadget pages.
- Hard refresh and retest affected workflows.
Deploy script fails with TypeError: ... split is not a function
- Use the updated script and pass flags as either
--key=valueor--key value.
Changes deployed but UI still shows old behavior
- Purge the modified gadget pages and do a hard browser refresh.
Tag/CSD action fails with operation error
- Check browser console, validate selected reasons/inputs, and verify required user rights and page protections.
- Report issues at https://phabricator.wikimedia.org/tag/adiutor/
- Ask questions or get help at https://meta.wikimedia.org/wiki/Adiutor. You can expect a response in a reasonable maintainer response window.
This tool uses MediaWiki ResourceLoader modules and the mw.Api client to do edit, notification, and noticeboard workflows. It depends on OOUI, MediaWiki core modules, JSON configuration files, and user global preferences because it uses configurable client-side dialogs for maintenance operations.
The src/adiutor.js module initializes options/translations and starts the launcher. The src/adiutor-ail.js module builds the main UI menu/router. Task modules in src/adiutor-*.js implement workflow-specific dialogs and API calls. JSON config in src/adiutor-*.json defines reasons, templates, and module options. The scripts/ directory contains deployment and development helpers.
How to set up development environment:
- Install prerequisites.
- Install Node.js (current LTS recommended).
- Ensure you have access to a MediaWiki instance for testing.
How to install:
- Install repository dependencies.
npm install- Verify lint tooling is available (
npm run lint).
How to configure:
- Prepare deploy credentials and target API URL.
- Configure gadget definition and module pages on your target wiki.
How to build and run locally:
- Use development/deploy scripts.
- Start dev helper:
npm start - Deploy selected files:
node scripts/deploy.js --only <file1,file2>
- Start dev helper:
How to run tests:
- Run checks.
- Lint:
npm run lint - Run Jest tests if present:
npx jest
- Lint:
-
TypeError: ... split is not a functionin deploy script- Usually caused by argument parsing mismatch. Use updated
scripts/deploy.jsand valid CLI flags.
- Usually caused by argument parsing mismatch. Use updated
-
operation-failednotification after submitting a workflow- Inspect browser console/network response for API errors (permissions, protected page, invalid params).
The Adiutor maintainers welcome contributions.
- bug fixes and regression fixes for workflow modules
- localization updates, docs improvements, and test coverage improvements
Before contributing, read the repository guidelines and coding conventions. We follow Wikimedia ESLint conventions in this project.
-
Create and prepare your change.
- Create a branch and implement focused edits.
- Run lint/tests and verify behavior on a local wiki.
-
Submit and iterate.
- Open a merge request or share patch set with context and test notes.
- Address review feedback and keep commits scoped.
Adiutor was created and is maintained by Doğu Abaris, with contributions from Wikimedia community editors, translators, and reviewers.
See LICENSE.