auth-limbo-v2/CONTRIBUTING.md

89 lines
2.3 KiB
Markdown
Raw Permalink Normal View History

# 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/<thing>`, `fix/<thing>`, `docs/<thing>`.
- 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 <admin@s8n.ru>
```
**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 <https://git.s8n.ru/s8n/auth-limbo-v2/issues>. 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).