Skip to content

Add README with documentation, links and acknowledgements - #8

Merged
dmccoystephenson merged 2 commits into
mainfrom
feature/create-readme
Aug 11, 2026
Merged

Add README with documentation, links and acknowledgements#8
dmccoystephenson merged 2 commits into
mainfrom
feature/create-readme

Conversation

@dmccoystephenson

Copy link
Copy Markdown
Member

Summary

  • A root README.md is added, covering the description, quick links, table of contents, support, installation, compiling, contributing, acknowledgements and licence sections the mirrored issue asks for.
  • The content is based on the unmerged upstream draft on RP-Kit/RPKit's docs/create-readme branch (commit ad6bc83e), so the wording reflects what the upstream author actually wrote rather than a fresh composition.
  • Three claims in that draft were found not to hold against this tree and were corrected instead of copied:
    • configuration is generated per-module (for example plugins/rpk-players-bukkit/database.yml), not into a single plugins/RPKit/config.yml — traced from bukkit/rpk-players-bukkit/src/main/kotlin/com/rpkit/players/bukkit/RPKPlayersBukkit.kt:81-116;
    • Bukkit module JARs are written to bukkit/<module>/build/libs, not <module>/build/libs;
    • the required JDK is stated as 17, which the draft omitted, matching .github/workflows/build.yml and the Gradle 7.6 / Kotlin 1.7.22 / jvmTarget 17 pinning.
  • The upstream draft's accompanying build.gradle bump to 2.5.0-SNAPSHOT is deliberately excluded as unrelated to documentation.
  • Links describing where to report problems with this fork point at Dans-Plugins/RPKit; the website, wiki and Discord remain pointed upstream and are labelled as upstream resources.

Test plan

  • README.md exists at the repository root with every section named in the mirrored issue's acceptance criteria
  • Module count (71) cross-checked against grep -c "^include" settings.gradle
  • Gradle version cross-checked against gradle/wrapper/gradle-wrapper.properties (gradle-7.6-bin.zip)
  • Kotlin version and jvmTarget cross-checked against build.gradle
  • JDK 17 claim cross-checked against .github/workflows/build.yml
  • Supported database dialects (MYSQL, SQLITE) and the SQLite default cross-checked against RPKPlayersBukkit.kt and bukkit/rpk-players-bukkit/src/main/resources/database.yml
  • Module dependency example cross-checked against bukkit/rpk-players-bukkit/src/main/resources/plugin.yml
  • Shaded -all.jar claim cross-checked against the shadow plugin configuration in bukkit/rpk-core-bukkit/build.gradle and the absence of any archiveClassifier override across the tree
  • All in-document anchor links match their headings
  • Liveness of the three external upstream links (website, wiki, Discord) could not be checked — outbound HTTP is unavailable in the environment this change was prepared in. Those URLs are carried over verbatim from the upstream author's own draft.

Anchor verdict

Documentation-only: no Kotlin source, no build file, no plugin.yml, and no workflow is modified, so neither compileKotlin nor test can observe this change. The CI run on this pull request's head is nonetheless expected to be green and is reported below once it completes.

Closes #7

Upstream: RP-Kit#667

This PR description was drafted during a Gardener session (https://github.com/Stephenson-Software/gardener).

dmccoystephenson and others added 2 commits August 10, 2026 17:29
Based on the unmerged upstream draft on RP-Kit/RPKit's docs/create-readme
branch, adapted for this fork and corrected where the draft disagreed with
the tree: configuration is generated per-module rather than into a single
plugins/RPKit folder, Bukkit module JARs land under bukkit/<module>/build/libs,
and JDK 17 is now stated as a requirement.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Each database-backed module writes its own SQLite file named after the
module, so naming rpkit_players.db alone read as a universal default.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@dmccoystephenson

Copy link
Copy Markdown
Member Author

Self-review rubric

Scored against the diff at edbab885 and the CI run on that head. Each verdict is grounded in a command output or a cited line, and PASS was withheld wherever direct evidence was unavailable.

  • Scope: PASSgit diff --name-only origin/main...HEAD reports exactly one path, README.md, which is the sole surface named by Create README w/ Documentation, Links & Acknowledgments #7.
  • Tests-new: NOT APPLICABLE — no public method or function is added by a documentation-only diff, so no test can exercise this change.
  • Tests-fix: NOT APPLICABLE — no bug in production code is fixed, so the stash-and-run experiment has nothing to revert. The regression gate is therefore not engaged for this pull request.
  • Sibling structure: NOT APPLICABLE — no new source file is created in a module directory; the repository root previously held no Markdown file at all.
  • Sibling renames: PASS — no identifier is renamed.
  • Docs: PASS — the Phase 7 table was walked in full. plugin.yml, config.yml, the messages classes and .github/workflows/build.yml are all unmodified and remain accurate; the README itself is the document under review and every factual claim in it was re-verified (see below).
  • Issue resolution: PASS — all ten section criteria in Create README w/ Documentation, Links & Acknowledgments #7 are satisfied by headings at README.md:3, :7, :14, :23, :29, :44, :64, :70 and :81. The eleventh criterion (every factual claim verifiable against the tree) is addressed by the verification list below.
  • CI: PASSbuild passed in 3m31s on edbab885 (run 31465908978), covering ./gradlew compileKotlin and ./gradlew test across the whole 71-module tree on Temurin 17. The workflow's scope is not narrowed, so no coverage gap has to be disclaimed. Note that a green anchor confirms only that a documentation-only diff breaks nothing; it cannot attest to the README's prose, which is why each claim was cross-referenced by hand.
  • License header: NOT APPLICABLE — no .kt file is added.
  • Permission declared: NOT APPLICABLE — no command or permission node is added or renamed.
  • Correct module of the lib/impl pair: NOT APPLICABLE — the change lands at the repository root and enters no Gradle module.
  • Result type: NOT APPLICABLE — no command path is touched.
  • Service resolution: NOT APPLICABLE — no service lookup is added.
  • No main-thread I/O: PASS — no Kotlin source is modified, so no synchronous path can have gained a database or network call.
  • Messages externalized: PASS — no user-facing runtime string is introduced; the added text is documentation only.
  • No credential churn: PASSrepo.properties is absent from the diff.
  • Fidelity to upstream: PASS — every section present traces to a checkbox that the upstream author wrote in Create README w/ Documentation, Links & Acknowledgments RP-Kit/RPKit#667. CONTRIBUTING.md was not requested and remains under "Out of scope" in Create README w/ Documentation, Links & Acknowledgments #7 rather than being implemented. The upstream draft's unrelated build.gradle version bump is likewise excluded.

Claim-by-claim verification

Each factual assertion was re-checked against the tree at this head:

  • 71 modules — grep -c "^include" settings.gradle returns 71, and no include line carries a comma, so the count is of distinct projects.
  • Gradle 7.6 — gradle/wrapper/gradle-wrapper.properties pins gradle-7.6-bin.zip.
  • Kotlin 1.7.22 and jvmTarget = "17"build.gradle:26, :58, :64.
  • JDK 17 and Temurin — .github/workflows/build.yml sets java-version: '17' with distribution: 'temurin'.
  • Per-module depend:bukkit/rpk-players-bukkit/src/main/resources/plugin.yml:6-8 lists rpk-core-bukkit and rpk-player-lib-bukkit, as the README states.
  • SQLite default and MYSQL dialect — bukkit/rpk-players-bukkit/src/main/resources/database.yml declares dialect: SQLITE.
  • Shaded -all.jar — the shadow plugin is applied by 70 module build.gradle files and no archiveClassifier override exists anywhere in the tree, so the default all classifier holds.
  • LICENSE — present at the repository root, so the relative link resolves.
  • Anchor links — all six table-of-contents targets match their headings exactly.

Item fixed during this review

README.md:40 — the installation section named jdbc:sqlite:rpkit_players.db in a sentence about database-backed modules generally, which read as though one file were shared. grep -h "url:" bukkit/*/src/main/resources/database.yml | sort -u shows a distinct file per module (rpkit_auctions.db, rpkit_chat.db, rpkit_characters.db, and so on). The sentence was rewritten to present the naming pattern with two examples. The fix was mechanical, so it was applied and re-scored here rather than deferred.

Outstanding limitation

The liveness of the three external upstream links (website, wiki, Discord) remains unchecked, as outbound HTTP is unavailable in the environment this change was prepared in. Those URLs are carried over verbatim from the upstream author's own draft and are labelled as upstream resources.

This review comment was drafted during a Gardener session (https://github.com/Stephenson-Software/gardener).

@dmccoystephenson
dmccoystephenson merged commit 62e1257 into main Aug 11, 2026
1 check passed
@dmccoystephenson
dmccoystephenson deleted the feature/create-readme branch August 11, 2026 06:44
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.

Create README w/ Documentation, Links & Acknowledgments

1 participant