react-mediadrop.
Install & verify
Scope
Check the Roadmap and the scope reference before adding a feature — it’s the authoritative “what’s real” list. Don’t build around something listed as not implemented; raise it instead.Architecture non-negotiables
- The core engine stays framework-free with zero runtime dependencies.
- Retry/backoff lives in one place (
withRetry) and is never duplicated per transport. - Every transport stays thin — no retry, no concurrency logic of its own.
Style
Biome (pnpm format) formats and lints. No comments beyond what explains
a non-obvious why (a hidden constraint, a workaround, something that
would surprise a reader) — code should read clearly enough not to need a
what comment.
Tests
Real regressions, not padding — new tests should exercise an actual race/edge case (cancel-vs-resolve races, retry exhaustion, reentrancy) the way the existing suite does, not just happy-path smoke tests.Opening a pull request
Maintainers branch directly off latestmain. Outside contributors fork
the repo first, then branch off their fork’s main.
If the change is user-facing (bug fix, feature, behavior change), run
pnpm changeset and commit the generated file — changesets/action
reads these to version and changelog the next release. Skip it for
docs-only or internal changes.
Open the PR against main. If it’s your first
PR here, its CI run won’t start until a maintainer manually approves it —
standard GitHub protection for first-time contributors on public repos,
a one-time step.
Merging requires 1 approving review and all 4 CI checks
(lint, typecheck, test, build) passing. main has a linear
history — merges are squash or rebase only, never merge commits.
Issue and PR templates, a vulnerability-reporting process, and a Code of Conduct already exist in the repo. There’s no CLA yet.