Skip to content

Align repository with DPC conventions#196

Merged
dmccoystephenson merged 4 commits intomainfrom
copilot/align-repo-with-dpc-conventions
Mar 22, 2026
Merged

Align repository with DPC conventions#196
dmccoystephenson merged 4 commits intomainfrom
copilot/align-repo-with-dpc-conventions

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 22, 2026

  • Update README.md: fix section order and update Usage/Contributing/Testing/Development sections
  • Create CONTRIBUTING.md
  • Create USER_GUIDE.md
  • Create COMMANDS.md
  • Create CONFIG.md
  • Create CHANGELOG.md
  • Create .github/workflows/build.yml
  • Create .github/workflows/release.yml
  • Create .github/copilot-instructions.md
  • Address review: fix Kotlin override/EventHandler annotation in copilot-instructions.md
  • Address review: fix lang/ directory reference in copilot-instructions.md and CONTRIBUTING.md
  • Address review: narrow release.yml JAR glob to *-all.jar (shadow JAR)
  • Address review: replace docker compose up with ./up.sh / ./down.sh in CONTRIBUTING.md
  • Address review: move Roadmap and Changelog before Project Status in README.md
  • Address review: fix /currency info permission (no permission required) in COMMANDS.md
  • Address review: add /currency set name entry and desc alias in COMMANDS.md
  • Address review: remove duplicate Known Bugs link from Support section in README.md
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.


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

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’s documentation and GitHub automation with the DPC (Dans Plugins Community) conventions, focusing on standardized README structure, contributor guidance, and CI/release workflows (no intended plugin runtime behavior changes).

Changes:

  • Reworked README.md to follow the convention-driven section structure and link to local documentation.
  • Added core documentation files (USER_GUIDE.md, COMMANDS.md, CONFIG.md, CHANGELOG.md, CONTRIBUTING.md).
  • Added GitHub Actions workflows for CI builds and release artifact publishing, plus Copilot repository 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 Reorders/expands README sections and updates links to match org/conventions.
USER_GUIDE.md Adds end-user setup and common usage scenarios + permissions table.
COMMANDS.md Adds a commands reference for /currency and /coinpurse.
CONFIG.md Documents config.yml keys with defaults/examples.
CHANGELOG.md Seeds a Keep a Changelog–style changelog.
CONTRIBUTING.md Adds contribution workflow, requirements, and testing guidance.
.github/workflows/build.yml Adds CI build on push/PR for main/develop.
.github/workflows/release.yml Builds and uploads JARs to GitHub Releases on release creation.
.github/copilot-instructions.md Adds repository-specific Copilot context and conventions link.

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

Comment thread .github/copilot-instructions.md Outdated
- Use the `lang/` resource files for every user-facing string; never hard-code
messages in Kotlin.
- Follow the existing package structure when adding new classes.
- Annotate every command executor and event listener with `@Override` where applicable.
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 instruction is inaccurate for Kotlin: Kotlin uses the override keyword for overridden members, not an @Override annotation, and Bukkit event listeners use @EventHandler on handler methods rather than @Override. Updating/removing this bullet will prevent Copilot from introducing non-compiling Kotlin code.

Suggested change
- Annotate every command executor and event listener with `@Override` where applicable.
- In Kotlin, use the `override` keyword for overridden members, and annotate Bukkit event listener methods with `@EventHandler`.

Copilot uses AI. Check for mistakes.
Comment thread .github/workflows/release.yml Outdated
- 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.

The release workflow uploads build/libs/*.jar, which will likely include both the plain JAR and the shaded shadowJar output (e.g., *-all.jar). Attaching multiple artifacts can confuse users and may publish a non-runnable (non-shaded) JAR. Consider building/uploading only the intended distributable (typically the Shadow JAR) and/or tightening the glob to the expected filename pattern.

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

Copilot uses AI. Check for mistakes.
Comment thread CONTRIBUTING.md Outdated

### 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 repo currently doesn’t contain src/main/resources/lang/ (only plugin.yml and config.yml exist under src/main/resources/). This instruction will send contributors looking for a non-existent path; either add the expected lang/ structure or update the doc to describe how user-facing strings are managed in this project today.

Suggested change
Update `src/main/resources/lang/` for any user-facing string changes.
For any user-facing string changes, update the appropriate resource files under `src/main/resources/` (for example, `plugin.yml` or `config.yml`). If you add a new localization or language file structure, document it in your pull request.

Copilot uses AI. Check for mistakes.
Comment thread .github/copilot-instructions.md Outdated
Comment on lines +17 to +24
- `src/main/resources/` – `plugin.yml`, `config.yml`, and `lang/` files
- `src/test/kotlin/` – Unit tests
- `.github/workflows/` – CI and release workflows

## Coding Conventions

- Use the `lang/` resource files for every user-facing string; never hard-code
messages in Kotlin.
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 instruction says to put every user-facing string in src/main/resources/lang/, but the repository currently has no lang/ resources directory and the codebase uses hard-coded sendMessage(...) strings. Either add the lang/ system/files as described or reword this guidance (e.g., “prefer” / “when introducing new messages…”) so it matches the current project structure and avoids misleading future changes.

Suggested change
- `src/main/resources/``plugin.yml`, `config.yml`, and `lang/` files
- `src/test/kotlin/` – Unit tests
- `.github/workflows/` – CI and release workflows
## Coding Conventions
- Use the `lang/` resource files for every user-facing string; never hard-code
messages in Kotlin.
- `src/main/resources/``plugin.yml`, `config.yml`, and other resource files (e.g., `config/`, `lang/` if present)
- `src/test/kotlin/` – Unit tests
- `.github/workflows/` – CI and release workflows
## Coding Conventions
- Prefer using `lang/` resource files for user-facing strings. When introducing new
messages, avoid hard-coding them in Kotlin where a suitable `lang/` resource
structure already exists in this project.

Copilot uses AI. Check for mistakes.
Comment thread README.md Outdated
Comment on lines +102 to +118
## Project Status

This project is in active development.

### bStats
You can view the bStats page for this plugin [here](https://bstats.org/plugin/bukkit/Currencies/12810).

You can view the bStats page for the plugin [here](https://bstats.org/plugin/bukkit/Currencies/12810).

## Roadmap

- [Known Bugs](https://github.com/Dans-Plugins/Currencies/issues?q=is%3Aopen+is%3Aissue+label%3Abug)
- [Planned Features](https://github.com/Dans-Plugins/Currencies/issues?q=is%3Aopen+is%3Aissue+label%3AEpic)
- [Planned Improvements](https://github.com/Dans-Plugins/Currencies/issues?q=is%3Aopen+is%3Aissue+label%3Aimprovement)

## Changelog

- [CHANGELOG.md](CHANGELOG.md)
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.

README section order appears to conflict with the stated required sequence (… → License → Project Status). ## Roadmap and ## Changelog are placed after ## Project Status, which means Project Status is no longer the final top-level section. Consider moving Roadmap/Changelog earlier (e.g., before Project Status) or folding them into Project Status as subsections to keep the required order intact.

Copilot uses AI. Check for mistakes.
Comment thread CONTRIBUTING.md Outdated
Comment on lines +61 to +64
For manual testing, start a local Spigot server:

docker compose up

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 manual test command here (docker compose up) doesn’t match the repository’s documented/dev scripts (./up.sh uses docker compose up --build -d, and ./down.sh exists for stopping). To avoid contributors running a different workflow than intended, align this section with the scripts (or document both explicitly, including how to stop the server).

Suggested change
For manual testing, start a local Spigot server:
docker compose up
For manual testing, start a local Spigot server using the helper script:
./up.sh
To stop the local Spigot server when you're done testing:
./down.sh

Copilot uses AI. Check for mistakes.
Comment thread COMMANDS.md Outdated
### /currency info \<currency\>

**Description:** View information about a specific currency.
**Permission:** `currencies.list`
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.

/currency info is documented as requiring currencies.list, but the implementation (CurrencyInfoCommand) does not perform any permission check (and there is no dedicated permission node in plugin.yml). Update the command reference to reflect the actual permission behavior (e.g., no permission required, or add the permission check in code if it’s intended to be restricted).

Suggested change
**Permission:** `currencies.list`
**Permission:** None (available to all players)

Copilot uses AI. Check for mistakes.
Comment thread COMMANDS.md
Comment on lines +50 to +65
### /currency rename \<currency\> \<new-name\>

**Description:** Rename an existing currency. Requires the appropriate faction permission or `currencies.force.rename`.
**Permission:** `currencies.rename`
**Usage:** `/currency rename <currency> <new-name>`
**Example:** `/currency rename GoldCoin SilverCoin`

---

### /currency set description \<currency\> \<description\>

**Description:** Set or update the description of a currency. Requires the appropriate faction permission or `currencies.force.desc`.
**Permission:** `currencies.desc`
**Usage:** `/currency set description <currency> <description>`
**Example:** `/currency set description GoldCoin "The official coin of the Northern Kingdom"`

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 doc claims to be a full reference for /currency subcommands, but it doesn’t document /currency set name <currency> <new-name> (the primary subcommand; rename is just an alias in code) and it also omits the desc alias for setting descriptions. Consider adding entries for the set subcommands (and noting aliases) so the reference matches the actual command surface.

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/Currencies/sessions/5694b649-0f2d-484a-acab-b70b9dcddf20
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Mar 22, 2026

@copilot address comments

Addressed all review comments in e33a7ae:

  • copilot-instructions.md: Fixed Kotlin override guidance (override keyword + @EventHandler); corrected lang/ reference to reflect the actual resource structure (no lang/ directory currently exists).
  • release.yml: Narrowed JAR glob to build/libs/*-all.jar so only the shadow JAR is attached to releases.
  • CONTRIBUTING.md: Updated language-files section to reference src/main/resources/ accurately; replaced docker compose up with ./up.sh / ./down.sh.
  • README.md: Moved Roadmap and Changelog sections before Project Status to preserve the required section order.
  • COMMANDS.md: Fixed /currency info permission to "None (available to all players)"; added /currency set name as the primary entry with rename documented as its alias; noted the desc alias for /currency set description.

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 1 comment.


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

Comment thread README.md Outdated
- [Planned Improvements](https://github.com/dmccoystephenson/Currencies/issues?q=is%3Aopen+is%3Aissue+label%3Aimprovement)
Please fill out a bug report [here](https://github.com/Dans-Plugins/Currencies/issues/new).

- [Known Bugs](https://github.com/Dans-Plugins/Currencies/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 README links to “Known Bugs” under the Support section and then repeats the same “Known Bugs” link again in the later Roadmap section. This duplication can confuse readers about where to look; consider keeping issue links consolidated in the Roadmap (or keep them only under Support) and removing the extra copy.

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

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/Currencies/sessions/cbcca2ed-2bb1-4d13-bbf7-cb808a2dc68d
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Mar 22, 2026

@copilot address comments

Removed the duplicate "Known Bugs" link from the Support section in 9f108f3. The link is now consolidated in the Roadmap section only.

@dmccoystephenson dmccoystephenson merged commit 662c6f1 into main Mar 22, 2026
1 check failed
@dmccoystephenson dmccoystephenson deleted the copilot/align-repo-with-dpc-conventions branch March 22, 2026 20:42
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