Skip to content

Align repository with DPC conventions#59

Open
Copilot wants to merge 3 commits intomasterfrom
copilot/align-repo-with-dpc-conventions
Open

Align repository with DPC conventions#59
Copilot wants to merge 3 commits intomasterfrom
copilot/align-repo-with-dpc-conventions

Conversation

Copy link
Copy Markdown

Copilot AI commented Mar 22, 2026

Brings the repo into compliance with the DPC conventions by adding all required documentation files, CI/CD workflows, and Copilot instructions.

Documentation

  • README.md – Restructured to the required section order; Usage now links to in-repo docs; added Testing, Development, and Changelog sections
  • CONTRIBUTING.md – Created from DPC template (Thank You → Links → Requirements → Getting Started → Issues/Milestones → Making Changes → Testing → Questions)
  • USER_GUIDE.md – Prerequisites, first steps, common scenarios for all three sub-commands, permissions table
  • COMMANDS.md – Full reference for /aaf accounts, /aaf ips, /aaf alts
  • CONFIG.md – Every config.yml key documented with type, default, description, and YAML example
  • CHANGELOG.md – Keep a Changelog format; seeds a [2.0.0] entry and an [Unreleased] section

CI/CD

  • .github/workflows/build.yml – Triggers on push/PR to main and develop; JDK 17 + ./gradlew clean build; scoped to permissions: contents: read
  • .github/workflows/release.yml – Triggers on release: created; builds and attaches build/libs/*.jar to the release via softprops/action-gh-release@v2

Copilot

  • .github/copilot-instructions.md – Technology stack, source layout, coding conventions, and DPC contribution workflow
Original prompt

Align this repository with the DPC (Dans Plugins Community) conventions defined at
https://github.com/Dans-Plugins/dpc-conventions.

Read each of the following convention documents in full before making any changes:

Then perform the following steps:

  1. Inspect the repository — read README.md, CONTRIBUTING.md, any existing docs/, and
    .github/workflows/ files to understand the current state.

  2. Build a gap checklist comparing the repo against every requirement in the convention
    documents above.

  3. Implement all required changes directly in the repository:

    • Update README.md to include all required sections in the correct order, following
      the templates in README_STRUCTURE.md.
    • Create or update CONTRIBUTING.md using the template in CONTRIBUTING_STANDARDS.md.
    • Create any missing documentation files (USER_GUIDE.md, COMMANDS.md, CONFIG.md,
      CHANGELOG.md) with appropriate starter content derived from the plugin's existing
      code and configuration.
    • Add or update .github/workflows/build.yml using the CI template in TESTING_AND_CI.md.
    • Add or update .github/workflows/release.yml using the template in RELEASE_AUTOMATION.md.
    • Create or update .github/copilot-instructions.md using the template in GITHUB_COPILOT_INSTRUCTIONS.md.
    • Make any other changes needed to satisfy the conventions.
  4. Do not restate convention rules in commit messages or comments — reference the
    relevant convention document URL instead.

Keep changes minimal and focused on closing the identified gaps. Do not refactor
existing code or alter plugin behaviour.


⚡ Quickly spin up Copilot coding agent tasks from anywhere on your macOS or Windows machine with Raycast.

Co-authored-by: dmccoystephenson <21204351+dmccoystephenson@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Dans-Plugins/AlternateAccountFinder/sessions/29b4f607-dfc0-4056-ac3e-29b977552b3a
Copilot AI changed the title [WIP] Align repository with DPC conventions Align repository with DPC conventions Mar 22, 2026
Copilot AI requested a review from dmccoystephenson March 22, 2026 17:11
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Aligns the repository with DPC conventions by standardizing project documentation and adding baseline CI/release automation and Copilot guidance.

Changes:

  • Restructures README.md and adds new convention-aligned docs (USER_GUIDE.md, COMMANDS.md, CONFIG.md, CHANGELOG.md, CONTRIBUTING.md).
  • Adds GitHub Actions workflows for build and release publishing.
  • Adds repository-specific Copilot instructions.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
README.md Reordered/expanded README sections; adds links to in-repo docs; adds testing/dev/release pointers
CONTRIBUTING.md Adds contribution guide based on DPC template
USER_GUIDE.md Adds getting-started guide and common command scenarios
COMMANDS.md Adds command reference for /aaf subcommands
CONFIG.md Documents config.yml keys with types/defaults/examples
CHANGELOG.md Seeds Keep a Changelog formatted changelog
.github/workflows/build.yml Adds CI build on push/PR to main/develop
.github/workflows/release.yml Adds release build + attachment upload workflow
.github/copilot-instructions.md Adds Copilot guidance on stack, layout, and workflow

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

- `logins/` – Business logic and repository for login/IP tracking
- `notifications/` – Notification service integrations (Mailboxes, RPKit, message)
- `src/main/resources/` – `plugin.yml`, `config.yml`, and database migration scripts
- `src/test/java/` – Unit tests
Copy link

Copilot AI Mar 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This lists src/test/java/ as the location for unit tests, but that directory doesn't exist in the current repo. Consider removing this line or adding the test directory (with at least a starter test) so the instructions match reality.

Suggested change
- `src/test/java/`Unit tests
- `src/test/java/`(intended) unit test sources; create this directory when adding tests

Copilot uses AI. Check for mistakes.
- name: Upload JAR to release
uses: softprops/action-gh-release@v2
with:
files: build/libs/*.jar
Copy link

Copilot AI Mar 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

files: build/libs/*.jar will upload every JAR produced by the build (likely both the plain JAR and the shaded *-all.jar). If only the runnable shaded artifact should be released, narrow this glob (e.g., to build/libs/*-all.jar) or explicitly select the intended artifact to avoid confusing releases.

Suggested change
files: build/libs/*.jar
files: build/libs/*-all.jar

Copilot uses AI. Check for mistakes.
CONTRIBUTING.md Outdated
Comment on lines +56 to +59
Run the unit tests with:

Linux: `./gradlew clean test`
Windows: `.\gradlew.bat clean test`
Copy link

Copilot AI Mar 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This guide instructs contributors to run "unit tests", but the repository currently has no test sources (src/test/) and no JUnit (or other test framework) dependency configured in build.gradle. Either add a real test setup or reword this section to reflect the current state (e.g., ./gradlew clean build as a verification build).

Suggested change
Run the unit tests with:
Linux: `./gradlew clean test`
Windows: `.\gradlew.bat clean test`
Run a verification build with:
Linux: `./gradlew clean build`
Windows: `.\gradlew.bat clean build`

Copilot uses AI. Check for mistakes.
Comment on lines +42 to +59
## Testing

### Unit Tests

Linux:

```
./gradlew clean test
```

Windows:

```
.\gradlew.bat clean test
```

If you see `BUILD SUCCESSFUL`, the tests have passed.

Copy link

Copilot AI Mar 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The README documents "Unit Tests" and instructs running ./gradlew clean test, but the repo currently has no src/test/ directory and build.gradle has no JUnit (or other test) dependencies configured. Either add/enable an actual test setup (e.g., add JUnit 5 dependencies + test sources) or adjust this section to avoid implying unit tests exist.

Copilot uses AI. Check for mistakes.
README.md Outdated
Comment on lines +62 to +66
### Test Server with Plugin Hot-Reloading

A Docker-based test server is available for development.

#### Setup
Copy link

Copilot AI Mar 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section claims a "Test Server with Plugin Hot-Reloading", but the current compose.yml/Dockerfile only build the image (including building/copying the plugin once) and don't mount the built JAR into the container for live reload. Either remove the hot-reloading claim or update the Docker setup to actually support it (e.g., volume-mount build/libs/*-all.jar into plugins/).

Copilot uses AI. Check for mistakes.
README.md Outdated
- [Planned Improvements](https://github.com/dmccoystephenson/AlternateAccountFinder/issues?q=is%3Aopen+is%3Aissue+label%3Aenhancement)
Please fill out a bug report [here](https://github.com/Dans-Plugins/AlternateAccountFinder/issues/new).

- [Known Bugs](https://github.com/Dans-Plugins/AlternateAccountFinder/issues?q=is%3Aopen+is%3Aissue+label%3Abug)
Copy link

Copilot AI Mar 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The "Known Bugs" link is listed under "Support" here, but it’s also listed again later under the "Roadmap" section. Consider keeping it in only one place (or replacing this with a short note that the issue tracker is used for bugs) to avoid duplicated/out-of-sync links.

Suggested change
- [Known Bugs](https://github.com/Dans-Plugins/AlternateAccountFinder/issues?q=is%3Aopen+is%3Aissue+label%3Abug)

Copilot uses AI. Check for mistakes.
README.md Outdated
```

This requires [Docker](https://docs.docker.com/get-docker/) and [Docker Compose](https://docs.docker.com/compose/install/) to be installed.
## Authors and Acknowledgement
Copy link

Copilot AI Mar 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Heading uses "Acknowledgement" (singular). For grammar/consistency with common OSS docs, this should typically be "Acknowledgements".

Suggested change
## Authors and Acknowledgement
## Authors and Acknowledgements

Copilot uses AI. Check for mistakes.
- Language: Java
- Build tool: Gradle (Groovy DSL) with Shadow plugin for fat JARs
- Target platform: Spigot / Paper (API version 1.17+)
- Test framework: JUnit 5
Copy link

Copilot AI Mar 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The instructions state the test framework is JUnit 5, but build.gradle currently has no JUnit (or other test framework) dependency configured. Either add the test dependencies/configuration or remove this to avoid misleading guidance.

Suggested change
- Test framework: JUnit 5
- Test framework: Not yet configured (prefer JUnit 5; add dependencies in build.gradle before writing tests)

Copilot uses AI. Check for mistakes.
@dmccoystephenson
Copy link
Copy Markdown
Member

@copilot address comments

Co-authored-by: dmccoystephenson <21204351+dmccoystephenson@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Dans-Plugins/AlternateAccountFinder/sessions/c11eabe6-ccb7-44e7-b3e6-1293455f1276
Copy link
Copy Markdown
Author

Copilot AI commented Mar 22, 2026

@copilot address comments

Done in commit 10453a9. All eight review points have been addressed:

  • README.md: removed the duplicate "Known Bugs" link from the Support section; renamed "Unit Tests" → "Verification Build" and switched to ./gradlew clean build; removed the hot-reloading claim from the Development section; fixed "Acknowledgement" → "Acknowledgements".
  • CONTRIBUTING.md: Testing section now instructs ./gradlew clean build instead of clean test.
  • .github/copilot-instructions.md: test framework line clarified to "Not yet configured (prefer JUnit 5…)"; src/test/java/ entry marked as intended/future.
  • .github/workflows/release.yml: JAR glob narrowed to build/libs/*-all.jar.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +70 to +74
| Permission | Default | Description |
|--------------|---------|--------------------------------------------------|
| `aaf.accounts` | op | Allows viewing all accounts for an IP address |
| `aaf.ips` | op | Allows viewing all IPs for a player |
| `aaf.alts` | op | Allows viewing suspected alt accounts for a player |
Copy link

Copilot AI Mar 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The permissions table markdown is malformed (rows start with ||), which will render as an extra empty column (or not render as a table in some viewers). Use a single leading | per row (and consistent trailing |) so the table renders correctly.

Copilot uses AI. Check for mistakes.

### Language Files

Update `src/main/resources/lang/` for any user-facing string changes.
Copy link

Copilot AI Mar 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section references src/main/resources/lang/ for user-facing strings, but that directory doesn't exist in the repo right now. Either update this guidance to match the current codebase (e.g., point at the current message/notification classes), or add the lang/ directory and wire it up before documenting it here.

Suggested change
Update `src/main/resources/lang/` for any user-facing string changes.
Update the appropriate message/notification classes or resource files for any user-facing string changes, keeping them centralized for easier localization.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants