Files
amethyst/.github/PULL_REQUEST_TEMPLATE.md
davotoula 3ba2049566 docs(contributing): add CONTRIBUTING-WITH-AI.md companion guide
Companion to CONTRIBUTING.md targeting external PRs whose diff was
substantially authored by an AI coding assistant. Adds five gates the
existing doc does not cover:

  - Research before code (issue still valid, decentralisation fit)
  - Build and install both flavours (Play + F-Droid)
  - Performance and resource hygiene (main-thread, coroutines,
    LocalCache reuse, relay subscriptions, KMP source sets, lambda Log)
  - Regression test plan alongside feature test plan
  - Don't-touch list (signer/KeyStore, release pipeline, NIP direction)

Filename deliberately avoids AGENTS.md to keep internal dev-team
agents unaffected by auto-load conventions. CONTRIBUTING.md and the
PR template each gain a one-line pointer.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 20:24:47 +02:00

2.7 KiB

Summary

Test plan

  • Ran ./gradlew spotlessApply — repo is formatted
  • Ran ./gradlew test (or the relevant module's tests)
  • Manually exercised the change (see notes below)

Notes / screenshots:

Interop suites

  • 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}

AI assistance

  • Drafted with AI assistance, manually reviewed and tested
  • Written by hand

If "Drafted with AI assistance" is ticked, also read CONTRIBUTING-WITH-AI.md for the additional gates that apply to AI-authored PRs.

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.