|
| 1 | +<!-- AUTO-GENERATED from rundeck-plugins/.github/templates/copilot-instructions.shared.md -- DO NOT EDIT. Run scripts/sync-copilot-instructions.sh to update. --> |
| 2 | + |
| 3 | +# GitHub Copilot Instructions |
| 4 | + |
| 5 | +This repository is part of the `rundeck-plugins` organization and follows the org-wide engineering guide. |
| 6 | + |
| 7 | +- Canonical guide: https://github.com/rundeck-plugins/.github/blob/main/CLAUDE.md |
| 8 | +- Plugin overview: https://github.com/rundeck-plugins/.github/blob/main/PLUGINS_OVERVIEW.md |
| 9 | + |
| 10 | +Read the canonical guide for the full context. The essentials below apply to work in this repo. |
| 11 | + |
| 12 | +## Working agreements |
| 13 | +- Optimize for customer impact first; connect technical choices to customer/business impact. |
| 14 | +- Strive for backwards compatibility. Announce deprecations; don't remove until the next major version. |
| 15 | +- Do not push to GitHub or create commits unless explicitly asked. |
| 16 | +- Never add `Co-authored-by` / agent / Cursor trailers or email author flags to commits. Plain messages describing the change only. |
| 17 | +- Commit messages and PR descriptions explain the "why" and the customer impact, not just the "what." |
| 18 | +- Avoid emojis unless explicitly requested. |
| 19 | +- Write full build logs to a `temp/` dir at the repo root using `YYYYMMDD-HHMMSS-<desc>.log` names; re-read logs instead of re-running builds repeatedly. |
| 20 | + |
| 21 | +## Build and release conventions |
| 22 | +- Baseline: Rundeck 6.0 (Grails 7 / Spring Boot 3). JAR plugins build on Java 17. |
| 23 | +- Maven coordinates: group `com.rundeck.plugins`, published to PackageCloud (`PKGCLD_READ_TOKEN`). |
| 24 | +- Versioning: Axion from git tags with `prefix = ''` (tags like `1.2.3`, no `v`). |
| 25 | +- ZIP (script) plugins: package with Gradle `type: Jar` (archiveExtension `zip`), publish with `extension = 'jar'` and `pom.packaging = 'jar'`, and process `plugin.yaml` with `ReplaceTokens` (never `expand`). |
| 26 | +- Groovy-based JAR plugins need the `groovy` Gradle plugin and `groovy-all` dependency or the jar ships with no compiled classes. |
| 27 | + |
| 28 | +## Branch and CI conventions |
| 29 | +- Default branch is `main`. Target CI triggers at `main`. |
| 30 | +- Security scanning is centralized: `.github/workflows/snyk-scan.yml` calls the org reusable Snyk workflow (push/PR to `main`, weekly Monday 06:00 UTC, and manual dispatch). |
0 commit comments