Automated code review
Moodle issues submitted for review and inclusion into core are examined by our continuous integration (ci) system and checked against various automated tests. We use the automated checks to help improve the code quality in Moodle.
Composer
Use composer to download Moodle code
Development tools
A range of tools are available to make your life as a Moodle developer easier, and your development faster. These range from editor and IDE integrations, to linting tools which helps your code meet Moodle's Coding style, to build tools essential to the build process.
Exception Tracing
Exceptions, and errors are a fact of life as a developer, and dealing with them in development should be as easy and painless as possible.
Generator tool
The Generator tool is a Moodle administration tool that allows you to generate test data for your Moodle site. It is helpful for testing and development purposes, as it can create a large number of users, courses, and other entities in a short time.
GitHub Actions integration
Moodle core
Gitpod
Gitpod is a free, cloud-based platform with IDE integration that provides a suitable development environment directly in a browser.
Moodle App Scripts: gulp push
The gulp push command automatically pushes a branch to a git remote and then updates the corresponding Moodle Tracker (Jira) issue with the diff URL or a patch file, similar to mdk push -t. This script was developed using mdk as an example. It's meant to be used for MOBILE issues, so it will only update the "main" fields in the tracker.
Moodle Development Kit
Every developer creates simple tools to avoid repeating cumbersome and/or boring tasks, and that is precisely why MDK has been created: to pack all those useful tools in a portable way across systems. Initially developed in Bash, the project moved to Python to avoid dealing with inconsistencies between Unix platforms, and eventually to support Windows.
PHP CodeSniffer
PHPCodeSniffer is a tool used to analyse PHP code using a set of rules. In many cases these rules can be used to automatically fix the errors they identify.