Skip to content

Align repository with DPC conventions#31

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

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

Conversation

Copy link
Copy Markdown

Copilot AI commented Mar 22, 2026

Adds all missing documentation and CI/CD files required by the DPC conventions.

README.md

  • Restructured to match required section order (Description → Installation → Usage → Support → Contributing → Testing → Development → Authors → License → Project Status)
  • Added links to new in-repo docs (USER_GUIDE.md, COMMANDS.md, CONFIG.md)
  • Fixed stale links pointing to dmccoystephenson/Dans-Plugins/

New documentation files

  • CONTRIBUTING.md — Fork/branch/PR workflow, build instructions (Maven)
  • USER_GUIDE.md — First steps, common scenarios, permissions table
  • COMMANDS.md — All /nac subcommands with syntax, permissions, examples
  • CONFIG.md — All 5 config options with types, defaults, descriptions
  • CHANGELOG.md — Keep a Changelog format, entries for v1.0.0 and v1.1.0

CI/CD workflows

  • .github/workflows/build.yml — Builds on push/PR to main and develop; explicit permissions: contents: read
  • .github/workflows/release.yml — Builds and attaches target/*.jar on release creation; excludes original-*.jar

Both workflows use Maven (mvn clean package) since the project uses pom.xml, not Gradle.

Copilot instructions

  • .github/copilot-instructions.md — Technology stack, project structure, coding conventions, contribution workflow

Permission node fix

  • Updated plugin.yml to declare nac.* permission nodes instead of the incorrect wac.*, aligning with what the Java source (CommandService.java) actually checks at runtime
  • All documentation (COMMANDS.md, USER_GUIDE.md) uses the correct nac.* permission nodes

📱 Kick off Copilot coding agent tasks wherever you are with GitHub Mobile, available on iOS and Android.

Copilot AI changed the title [WIP] Align repository with DPC conventions and documentation Align repository with DPC conventions Mar 22, 2026
Copilot AI requested a review from dmccoystephenson March 22, 2026 17:50
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 Dans Plugins Community (DPC) conventions by adding/standardizing documentation and introducing baseline CI/CD workflows for Maven-based builds and releases.

Changes:

  • Restructures and updates README.md to match DPC-required section ordering and point to in-repo documentation.
  • Adds new documentation files: contributing guide, user guide, commands reference, configuration guide, and changelog.
  • Adds GitHub Actions workflows for PR/push builds and release asset attachment, plus a Copilot instructions file.

Reviewed changes

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

Show a summary per file
File Description
README.md Reorders sections per DPC conventions; updates links and adds build/testing guidance.
USER_GUIDE.md Adds end-user setup guidance, common workflows, and a permissions table.
CONTRIBUTING.md Documents contribution workflow and Maven build/manual testing steps.
COMMANDS.md Documents /nac subcommands, permissions, usage, and examples.
CONFIG.md Documents config options, defaults, and examples.
CHANGELOG.md Adds Keep a Changelog–style changelog with initial entries.
.github/workflows/build.yml Adds CI build on push/PR to main/develop using Maven.
.github/workflows/release.yml Builds and uploads target/*.jar artifacts to GitHub Releases.
.github/copilot-instructions.md Adds repo/stack/conventions guidance for Copilot contributions.

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

Comment on lines +59 to +65
| Permission | Default | Description |
|------------|---------|-------------|
| `nac.help` | op | Access the help command |
| `nac.list` | op | View the nether access whitelist |
| `nac.allow` | op | Allow a player nether access |
| `nac.deny` | op | Deny a player nether access |
| `nac.config` | op | View and modify configuration |
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 syntax has an extra leading | on each row (e.g., || Permission | ...), which renders as an unintended empty first column in most Markdown renderers. Use standard table rows starting with a single | for consistent rendering.

Copilot uses AI. Check for mistakes.
Comment on lines +61 to +65
| `nac.help` | op | Access the help command |
| `nac.list` | op | View the nether access whitelist |
| `nac.allow` | op | Allow a player nether access |
| `nac.deny` | op | Deny a player nether access |
| `nac.config` | op | View and modify configuration |
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 documents permissions as nac.*, but src/main/resources/plugin.yml currently declares wac.* permissions (and only defines defaults for those). Either update the docs to match the declared permission nodes or update plugin.yml in a follow-up so default permission behavior matches what the plugin checks at runtime.

Suggested change
| `nac.help` | op | Access the help command |
| `nac.list` | op | View the nether access whitelist |
| `nac.allow` | op | Allow a player nether access |
| `nac.deny` | op | Deny a player nether access |
| `nac.config` | op | View and modify configuration |
| `wac.help` | op | Access the help command |
| `wac.list` | op | View the nether access whitelist |
| `wac.allow` | op | Allow a player nether access |
| `wac.deny` | op | Deny a player nether access |
| `wac.config` | op | View and modify configuration |

Copilot uses AI. Check for mistakes.
Comment on lines +14 to +17

**Description:** Lists all available commands.
**Permission:** `nac.help`
**Usage:** `/nac help`
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 referenced here are nac.*, but src/main/resources/plugin.yml currently declares wac.* permission nodes. This mismatch can cause confusing default permission behavior; align the documented permission nodes with what the plugin actually defines/enforces.

Copilot uses AI. Check for mistakes.
Comment on lines +69 to +71
| Name | Main Contributions |
|------|--------------------|
| Daniel Stephenson | Creator |
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 authors table rows start with ||, which produces an extra empty column in Markdown and may not render as intended. Use a single leading | per row (and adjust the separator row accordingly).

Copilot uses AI. Check for mistakes.

- `src/main/java/` – Plugin source code
- `src/main/resources/` – `plugin.yml` and resource files
- `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 file states that unit tests live in src/test/java/, but the repository currently only has src/main/ (no src/test/). Please update the project structure section to reflect the current repo layout (or add the test directory if intended).

Suggested change
- `src/test/java/` – Unit tests
- `src/test/java/`(Optional) Unit tests (create this directory as needed)

Copilot uses AI. Check for mistakes.
- name: Upload JAR to release
uses: softprops/action-gh-release@v2
with:
files: target/*.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: target/*.jar will likely upload both the shaded artifact and the original-*.jar produced by maven-shade-plugin, which can confuse releases. Consider uploading only the intended final jar (e.g., exclude original-*.jar or configure shade to not keep the original).

Suggested change
files: target/*.jar
files: |
target/*.jar
!target/original-*.jar

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

@copilot address comments

…release glob

Co-authored-by: dmccoystephenson <21204351+dmccoystephenson@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Dans-Plugins/Nether-Access-Controller/sessions/c71c250a-a4a6-4b4f-bd43-f6bdbac52fa7
Copy link
Copy Markdown
Author

Copilot AI commented Mar 22, 2026

@copilot address comments

All review comments addressed in 6a2b151:

  • Fixed permission nodes from nac.* to wac.* in COMMANDS.md and USER_GUIDE.md to match plugin.yml
  • Updated src/test/java/ entry in copilot-instructions.md to note the directory should be created as needed
  • Updated release.yml to exclude original-*.jar from upload glob

@dmccoystephenson
Copy link
Copy Markdown
Member

@copilot change all permissions to NAC not wac

Copy link
Copy Markdown
Author

Copilot AI commented Mar 22, 2026

@copilot change all permissions to NAC not wac

Changed all permission nodes to nac.* in plugin.yml, COMMANDS.md, and USER_GUIDE.md in 70ca6b5. This also fixes the mismatch with the Java source code which already uses nac.* at runtime.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • hub.spigotmc.org
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java /usr/lib/jvm/temurin-17-jdk-amd64/bin/java --enable-native-access=ALL-UNNAMED -classpath /usr/share/apache-maven-3.9.13/boot/plexus-classworlds-2.9.0.jar -Dclassworlds.conf=/usr/share/apache-maven-3.9.13/bin/m2.conf -Dmaven.home=/usr/share/apache-maven-3.9.13 -Dlibrary.jansi.path=/usr/share/apache-maven-3.9.13/lib/jansi-native -Dmaven.multiModuleProjectDirectory=/home/REDACTED/work/Nether-Access-Controller/Nether-Access-Controller org.codehaus.plexus.classworlds.launcher.Launcher clean package -q (dns block)
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java /usr/lib/jvm/temurin-17-jdk-amd64/bin/java --enable-native-access=ALL-UNNAMED -classpath /usr/share/apache-maven-3.9.13/boot/plexus-classworlds-2.9.0.jar -Dclassworlds.conf=/usr/share/apache-maven-3.9.13/bin/m2.conf -Dmaven.home=/usr/share/apache-maven-3.9.13 -Dlibrary.jansi.path=/usr/share/apache-maven-3.9.13/lib/jansi-native -Dmaven.multiModuleProjectDirectory=/home/REDACTED/work/Nether-Access-Controller/Nether-Access-Controller org.codehaus.plexus.classworlds.launcher.Launcher clean package (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

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 10 out of 10 changed files in this pull request and generated no new comments.


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

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