# Contributing to AuthLimbo v2 Thanks for considering a contribution. v2 is currently in design phase (0.1.0-SNAPSHOT) — most of the value right now is in architecture review, not code. ## Toolchain - **JDK:** Eclipse Temurin (or any) 21+ - **Maven:** 3.9+ - **Paper:** 1.21.x (1.21.4 API target) - **OS:** Linux preferred; Windows/macOS fine via standard JDK ## Build ```sh mvn -B clean package ``` Artifact lands at `target/auth-limbo-v2-0.1.0-SNAPSHOT.jar`. ## Test server setup A throwaway local Paper server is the easiest way to smoke-test changes: ```sh mkdir -p test-server && cd test-server # fetch latest Paper 1.21.x build from https://papermc.io java -Xms1G -Xmx2G -jar paper.jar nogui # accept eula.txt # stop, copy target/auth-limbo-v2-*.jar into plugins/, restart ``` `test-server/` is in `.gitignore` — never commit world data or a Paper jar. For AuthMe-integration testing, drop the AuthMe-ReReloaded fork jar in the same `plugins/` folder. The v1 repo carries a vendored copy under `lib/` for reference. ## Branch / PR policy - `main` is protected. All work goes via feature branch + PR. - Branch names: `feat/`, `fix/`, `docs/`. - One logical change per PR. Squash on merge if the history is messy. - Every PR must update `CHANGELOG.md` under `[Unreleased]`. ## Commit identity This repo uses: ``` Author: s8n ``` **Strip `Co-Authored-By:` trailers before committing.** This is repo convention — see ai-lab memory `user_git_identity.md` for the full rationale (post-2026-05-07 Forgejo rename + identity tightening). ```sh git -c user.name="s8n" \ -c user.email="admin@s8n.ru" \ -c commit.gpgsign=false \ commit -m "scope: subject" ``` ## Code style - 4-space indent, no tabs. - Java 21 idioms (records, pattern matching, switch expressions where they help). - No unused imports, no wildcard imports. - `@Nullable` / `@NotNull` annotations on public method boundaries. - Logging via `getLogger()`, not `System.out`. ## Reporting issues File issues at . Include: - Paper version (`/version`) - AuthMe version - Plugin version (`/plugins`) - Log excerpt — at least 50 lines around the failure - Repro steps ## License By contributing, you agree your contribution is licensed under [AGPL-3.0-or-later](LICENSE).