К основному содержанию
правило официальный · GitHub

moodle — правило для GitHub Copilot: код под Moodle без сюрпризов

Правило задаёт Copilot стандарты Moodle: Frankenstyle-неймспейсы, Mustache-шаблоны, обязательные функции безопасности. Пригодится, если пишете плагины и темы.

Установить в GitHub Copilot · Вручную: положить файлы Все способы и платформы ↓
.github/instructions/moodle.instructions.md
Открыть на GitHub

Что делает moodle

Файл описывает проект как Moodle-репозиторий и просит генерировать код под ту версию ядра, что стоит у вас. Внутри — требования к структуре плагина: каталоги /db, /lang, /classes, /templates, файлы /version.php, /settings.php и /lib.php, если он правда нужен. Классы получают неймспейс по компоненту — local_myplugin, mod_forum, block_mycatalog.

Отдельный блок про безопасность. Запросы к базе идут через $DB с плейсхолдерами, доступ проверяют require_login() и require_capability(), параметры берут через required_param() и optional_param(). HTML живёт в renderer и Mustache, а не внутри PHP; в JavaScript — AMD-модули вместо инлайн-скриптов.

Правило применяется к **/*.php, **/*.js, **/*.mustache, **/*.xml, **/*.css и **/*.scss. Учтите: PHP должен быть совместим с версией ядра, и синтаксис новее неё ломает совместимость. Поэтому Copilot не подставит функции, которых в Moodle нет.

Какие задачи решает

  • создать локальный плагин с version.php и settings.php
  • добавить таблицу в db/install.xml и скрипт обновления
  • собрать форму на moodleform
  • вывести таблицу через renderer и Mustache
  • проверить права и параметры запроса по стандарту Moodle

Примеры запросов агенту

  • Сгенерируй базовый локальный плагин с version.php, settings.php и lib.php
  • Создай новую таблицу в db/install.xml и upgrade-скрипт в db/upgrade.php
  • Сделай renderer с Mustache для вывода таблицы

Как установить moodle

Вручную: положить файлы

.github/instructions/moodle.instructions.md

Поле applyTo задаёт, к каким файлам применять

По шагам, с командами для каждой платформы: AGENTS.md и CLAUDE.md: что это, кто читает и какой выбрать

Из того же набора674

Весь набор →
pcf-code-components Правило объясняет Copilot, как устроены code components в Power Apps component framework: манифест, реализация, ресурсы. Пригодится, когда правите ControlManifest.Input.xml или index.ts. ★ 40 418звёзд репо oop-design-patterns Правило для GitHub Copilot, которое подталкивает его к паттернам GoF и принципам SOLID при генерации и рефакторинге ООП-кода. ★ 40 418звёзд репо no-heredoc Правило запрещает агенту писать файлы через heredoc и перенаправления в терминале, потому что в VS Code такие команды портят содержимое. ★ 40 418звёзд репо nestjs Правило подключает к GitHub Copilot набор стандартов NestJS: модули, DI, DTO и валидация. Пригодится, когда агент пишет серверный код на TypeScript. ★ 40 418звёзд репо langchain-python Правило для GitHub Copilot, которое подсказывает агенту паттерны LangChain: Runnable, LCEL, чат-модели, ретриверы и векторные хранилища. Пригодится, если вы пишете на Python с LangChain. ★ 40 418звёзд репо java-upgrade Правило подсказывает Copilot подключить скилл java-upgrade, когда вы меняете версию Java в Maven или Gradle. Пригодится при переходе между LTS. ★ 40 418звёзд репо intellij-java-kotlin Правило задаёт Copilot рамки работы с Java и Kotlin в IntelliJ IDEA: сборка через Gradle или Maven, аккуратные правки и проверка теми же командами, что в CI. ★ 40 418звёзд репо github-actions-ci-cd-best-practices Правило для GitHub Copilot: подсказывает структуру workflow, работу с секретами, кэшем и матрицами при правке файлов в .github/workflows/. ★ 40 418звёзд репо

Похожие

scenario-text-overlay scenario-labs Рендерит точный текст и плашки в PNG через Mustache-шаблоны для наложения на графику и видео в Scenario. CX Codex +1 397установок php-pro https://github.com/Jeffallan Задаёт правила разработки на PHP 8.3+ для Laravel и Symfony: включает strict_types, анализ в PHPStan на уровне 9 и тесты PHPUnit или Pest. CX Codex +1 15 500установок php-best-practices php-community Набор из 51 правила для проверки кода на PHP 8.0–8.5 по стандартам PSR, SOLID и строгой типизации. Пригодится при код-ревью и рефакторинге классов. CX Codex +1 3 700установок laravel-best-practices Laravel Community Скилл с 31 правилом по Laravel 13: архитектура, Eloquent, контроллеры, валидация. Пригодится, когда агент пишет код на PHP. CX Codex +1 2 300установок php-development Mindrally Скилл задаёт агенту правила написания PHP 8+ кода: SOLID, PSR-12, строгая типизация, тесты на PHPUnit. Пригодится, когда проект на PHP растёт и хочется единый стиль. CX Codex +1 1 100установок laravel-development Mindrally Скилл задаёт агенту рамки Laravel-разработки: SOLID, PSR-12, Eloquent вместо сырого SQL. Пригодится, когда ИИ пишет код в Laravel-проекте. CX Codex +1 909установок

Рядом в теме «Бэкенд и API»

Всё по теме «Бэкенд и API» →

Вопросы о moodle

Как установить правило moodle в GitHub Copilot?

Положите файл по пути .github/instructions/moodle.instructions.md в репозитории. Copilot подхватит его для файлов, указанных в applyTo.

Что делает правило moodle?

Задаёт Copilot контекст Moodle-проекта: структуру плагинов, неймспейсы Frankenstyle, работу с $DB и функциями безопасности, HTML только в Mustache.

На какие файлы распространяется правило?

На **/*.php, **/*.js, **/*.mustache, **/*.xml, **/*.css и **/*.scss — это указано в applyTo.

Исходный текст

moodle.instructions.md · MIT
---
applyTo: '**/*.php, **/*.js, **/*.mustache, **/*.xml, **/*.css, **/*.scss'
description: 'Instructions for GitHub Copilot to generate code in a Moodle project context.'
---

# Project Context

This repository contains a Moodle project. Ensure that any generated code is compatible with the specific Moodle version used in this project (for example, Moodle 3.11, 4.1 LTS, or later).

It includes:
- Plugin development (local, block, mod, auth, enrol, tool, etc.)
- Theme customization
- CLI scripts
- Integrations with external services using the Moodle API

# Code Standards

- Follow the official Moodle Coding guidelines: https://moodledev.io/general/development/policies/codingstyle
- PHP must be compatible with the core version (e.g., PHP 7.4 / 8.0 / 8.1).
- Do not use modern syntax that is not supported by core if it breaks compatibility.
- Class naming must use Moodle namespaces.
- Follow Moodle’s standard plugin directory layout (for example: classes/output, classes/form, db/, lang/, templates/…).
- Mandatory use of Moodle security functions:
  - `$DB` with SQL placeholders
  - `require_login()`, `require_capability()`
  - Parameters handled with `required_param()` / `optional_param()`

# Code Generation Rules

- When creating new PHP classes in plugins, use the Moodle component (Frankenstyle) namespace that matches the plugin's component name, e.g. `local_myplugin`, `mod_forum`, `block_mycatalog`, `tool_mytool`.
- In plugins, always respect the structure:
  - /db
  - /lang
  - /classes
  - /templates
  - /version.php
  - /settings.php
  - /lib.php (only if necessary)

- Use renderers and Mustache templates for HTML. Do not mix HTML inside PHP.
- In JavaScript code, use AMD modules, not inline scripts.
- Prefer Moodle API functions over manual code whenever possible.
- Do not invent Moodle functions that do not exist.

# Examples of What Copilot Should Be Able to Answer

- "Generate a basic local plugin with version.php, settings.php, and lib.php."
- "Create a new table in db/install.xml and an upgrade script in db/upgrade.php."
- "Generate a Moodle form using moodleform."
- "Create a renderer with Mustache to display a table."

# Expected Style

- Clear and specific answers in the Moodle context.
- Always include files with full paths.
- If there are multiple ways to do something, use the approach recommended by Moodle.

© github · MIT · github/awesome-copilot

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой