docs: cross-link CONTRIBUTING.md from README and add PR template
This commit is contained in:
@@ -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
|
||||
|
||||
<!-- 1–3 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.
|
||||
@@ -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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user