docs: cross-link CONTRIBUTING.md from README and add PR template

This commit is contained in:
Claude
2026-05-11 13:42:22 +00:00
parent ee20ab6ca4
commit cfa6899c65
2 changed files with 99 additions and 3 deletions
+85
View File
@@ -0,0 +1,85 @@
<!--
Thanks for contributing to Amethyst! Before opening this PR, please skim
CONTRIBUTING.md — especially the "Proof of testing" and "Interoperability
tests" sections if this is your first PR.
Delete any section below that doesn't apply.
-->
## Summary
<!-- 13 sentences. What changed and why. Not "what files changed" — the
diff already shows that. -->
## Modules touched
<!-- Tick the modules this PR touches. -->
- [ ] `amethyst/` (Android app)
- [ ] `desktopApp/` (Desktop JVM app)
- [ ] `quartz/` (Nostr KMP library)
- [ ] `commons/` (shared UI / ViewModels)
- [ ] `cli/` (`amy`)
- [ ] `quic/` (QUIC + HTTP/3 + WebTransport)
- [ ] `nestsClient/` (audio rooms / MoQ)
- [ ] Build / Gradle / CI
- [ ] Docs only
## Test plan
<!-- Required. What did you actually run, on what platform, with what result?
"CI is green" is necessary but not sufficient — show the new path firing.
For UI changes, attach screenshots (light + dark) or a short recording.
For Android: device model + Android version. For Desktop: OS + window size.
For build/packaging changes: paste the `./gradlew` command + tail of output.
If this is your FIRST PR to this repo, this section is required regardless
of how small the change is — see CONTRIBUTING.md § Proof of testing. -->
- [ ] Ran `./gradlew spotlessApply` — repo is formatted
- [ ] Ran `./gradlew test` (or the relevant module's tests)
- [ ] Manually exercised the change (see notes below)
Notes / screenshots:
<!-- paste here -->
## Interop suites
<!-- The interop suites listed in CONTRIBUTING.md § Interoperability tests
are NOT run in CI. If your change touches the relevant code paths, run them
locally and tick the box. If your change can't possibly affect them
(docs-only, UI-only on unrelated screens, etc.), tick "N/A". -->
- [ ] N/A — change can't affect wire bytes / decoded audio / MLS state / DM envelopes
- [ ] Marmot / MLS — `cli/tests/marmot/marmot-interop-headless.sh` (NIP-EE / `whitenoise-rs`)
- [ ] NIP-17 DM — `cli/tests/dm/dm-interop-headless.sh`
- [ ] Audio rooms manual — `cli/tests/nests/nests-interop.sh` (Amethyst ↔ nostrnests.com)
- [ ] MoQ-lite hang-tier — `:nestsClient:jvmTest -DnestsHangInterop=true`
- [ ] MoQ-lite browser-tier — `:nestsClient:jvmTest -DnestsBrowserInterop=true`
- [ ] QUIC interop-runner — `quic/interop/run-matrix.sh -s {aioquic,picoquic,quic-go,quinn}`
## Risk / rollback
<!-- Optional but expected for changes that touch: relay subscriptions,
NostrClient, signing, Account / LocalCache, MLS state, NIP-44, audio
rooms transport, or anything in `quartz/` that other modules depend on.
What could break? How do we revert if it does? -->
## AI assistance
<!-- Optional disclosure. We accept AI-assisted PRs (Claude Code, Copilot,
Cursor, Codex, etc.) under the same rules as human PRs — see
CONTRIBUTING.md § Human and AI contributions. A one-line note here is
appreciated when an assistant did the bulk of the diff. -->
- [ ] Drafted with AI assistance, manually reviewed and tested
- [ ] Written by hand
## License
- [ ] By submitting this PR, I agree to license my contribution under the
MIT license. Any code I did not author personally carries its
original license header.
+14 -3
View File
@@ -440,11 +440,22 @@ to `onPause` methods.
## Contributing
Issues can be logged on: [https://gitworkshop.dev/repo/amethyst](https://gitworkshop.dev/repo/amethyst)
See **[CONTRIBUTING.md](CONTRIBUTING.md)** for the full guide — workflow,
coding standards, the proof-of-testing rule for first-time contributors
(human or AI-assisted), the cross-stack interop suites, and how the
`[BUG]` / `[FEATURE]` issue templates and bounty system work.
[GitHub issues](https://github.com/vitorpamplona/amethyst/issues) and [pull requests](https://github.com/vitorpamplona/amethyst/pulls) here are also welcome. Translations can be provided via [Crowdin](https://crowdin.com/project/amethyst-social)
Quick links:
You can also send patches through Nostr using [GitStr](https://github.com/fiatjaf/gitstr) to [this nostr address](https://patch34.pages.dev/naddr1qqyxzmt9w358jum5qyg8v6t5daezumn0wd68yvfwvdhk6qg7waehxw309ahx7um5wgkhqatz9emk2mrvdaexgetj9ehx2ap0qy2hwumn8ghj7un9d3shjtnwdaehgu3wvfnj7q3qgcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqxpqqqpmej720gac)
- [GitHub issues](https://github.com/vitorpamplona/amethyst/issues) and
[pull requests](https://github.com/vitorpamplona/amethyst/pulls).
- Nostr-native issue tracker:
[gitworkshop.dev/repo/amethyst](https://gitworkshop.dev/repo/amethyst).
- Translations: [Crowdin](https://crowdin.com/project/amethyst-social).
- Patches over Nostr: [GitStr](https://github.com/fiatjaf/gitstr) to
[this nostr address](https://patch34.pages.dev/naddr1qqyxzmt9w358jum5qyg8v6t5daezumn0wd68yvfwvdhk6qg7waehxw309ahx7um5wgkhqatz9emk2mrvdaexgetj9ehx2ap0qy2hwumn8ghj7un9d3shjtnwdaehgu3wvfnj7q3qgcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqxpqqqpmej720gac).
- Security issues: [SECURITY.md](SECURITY.md) (do **not** file as public
GitHub issues).
By contributing to this repository, you agree to license your work under the MIT license. Any work contributed where you are not the original author must contain its license header with the original author(s) and source.