From f1e00c85fea01b805e0b4f86aed014ccf4fae00e Mon Sep 17 00:00:00 2001 From: Yuriy Andamasov Date: Fri, 8 May 2026 21:27:40 +0300 Subject: general: T8595: add AGENTS.md (#472) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * general: T8595: add AGENTS.md * general: T8595: clean leaked internal references * general: T8595: restore eaten spaces in shell command examples * general: T8595: correct CI scope (no integration in CI yet) and version-matrix attribution * general: T8595: add changelog fragment + refine CI scope (unit-galaxy/unit-source) * general: T8595: address Copilot review threads on test command and commit convention - Line 15: add `ansible-test units` alongside the existing pytest command; the two correspond to the unit-galaxy and unit-source CI jobs respectively, so documenting both gives contributors accurate options for each CI path. - Line 30: change "Commit / PR title" to "Commit headline". No workflow in this repo enforces PR title format; the PR template checklist confirms only commit headlines must carry a Phorge task ID. 🤖 Generated by [robots](https://vyos.io) --- .github/copilot-instructions.md | 50 +---------------------------------------- 1 file changed, 1 insertion(+), 49 deletions(-) mode change 100644 => 120000 .github/copilot-instructions.md (limited to '.github') diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md deleted file mode 100644 index fc25faa1..00000000 --- a/.github/copilot-instructions.md +++ /dev/null @@ -1,49 +0,0 @@ -# Copilot Review Instructions — vyos.vyos - -This is the `vyos.vyos` Ansible network collection for managing VyOS devices. -Namespace `vyos`, name `vyos`, version `6.0.0`. All modules are prefixed `vyos_`. - -## Commit and PR standards - -- Every commit title must start with a Phorge task ID: `T: description`. -- Every PR must have exactly one changelog fragment in `changelogs/fragments/`. -- PR descriptions that state a test count (e.g. "Add 8 unit tests") must match the actual number of test methods in the changed files. Flag mismatches. - -## Changelog fragments - -Fragments are YAML files under `changelogs/fragments/`. Valid top-level keys: - -| Key | Use for | -|-----|---------| -| `trivial` | Developer tooling, CI, housekeeping, formatting-only changes | -| `bugfixes` | Bug fixes | -| `minor_changes` | New features or user-visible improvements | -| `major_changes` | Breaking changes | -| `security_fixes` | Security fixes | -| `doc_changes` | Documentation-only changes | - -Flag any fragment that uses `minor_changes` for what is actually developer tooling (linting, formatting, gitignore, test scaffolding). Those should use `trivial`. - -## Module architecture - -Two module families: - -**Resource modules** (`vyos_interfaces`, `vyos_firewall_rules`, `vyos_bgp_global`, etc.) follow a four-part structure under `plugins/module_utils/network/vyos/`: -- `argspec/{resource}/` — argument spec -- `config/{resource}/` — config builder -- `facts/{resource}/` — facts parser -- `rm_templates/{resource}.py` — regex/Jinja2 CLI templates - -Resource modules support all states: `merged`, `replaced`, `overridden`, `deleted`, `rendered`, `gathered`, `parsed`. - -**Legacy modules** (`vyos_vlan`, `vyos_config`, `vyos_command`, `vyos_user`, etc.) do not follow the resource module pattern. - -## VyOS CLI conventions - -- Set commands: `set interfaces ethernet eth0 address '192.0.2.1/24'` -- Delete commands: `delete interfaces ethernet eth0 address '192.0.2.1/24'` -- Quoting varies by context. In general, string values (descriptions, names, ELIN numbers) are single-quoted; boolean flags and bare keywords are not. However, address/prefix values may be quoted or unquoted depending on where they appear: - - Quoted: `address '192.0.2.1/24'`, `description 'my-iface'`, `elin '0000000911'` - - Unquoted: `address 192.0.2.1` (in firewall groups), `disable`, `mtu-ignore`, `vif 200` -- When reviewing tests and fixtures, align with the quoting style used by surrounding fixtures rather than flagging a missing quote as an error. -- Interface types: `ethernet`, `loopback`, `bonding`, `bridge`, `tunnel`, `wireguard`. diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md new file mode 120000 index 00000000..be77ac83 --- /dev/null +++ b/.github/copilot-instructions.md @@ -0,0 +1 @@ +../AGENTS.md \ No newline at end of file -- cgit v1.2.3