Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,12 @@
- [ ] Criterion 2:
- [ ] Criterion 3:

## Contributor Self-Review

<!-- Complete the self-review form before requesting review.
See .github/checklists/contributor-self-review.template.md -->
- [ ] Self-review form completed and attached

## Reviewer Notes

<!-- Anything a reviewer should know: design decisions, trade-offs, follow-ups,
Expand Down
127 changes: 127 additions & 0 deletions .github/checklists/contributor-self-review.template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
# Contributor Self-Review Form

> Complete this form **before** requesting review or expecting payment approval.
> This helps you evaluate your work objectively and ensures nothing is missed.

## Issue

- **Number:** #<!-- issue number -->
- **Title:** <!-- issue title -->
- **Contributor:** <!-- your GitHub username -->

---

## 1. Requirements Review

Verify you have addressed every requirement from the issue.

- [ ] All acceptance criteria from the issue are satisfied
- [ ] No requirements were silently dropped or deferred
- [ ] Edge cases mentioned in the issue are handled
- [ ] Scope creep is avoided — changes are limited to what was requested

**Notes:**
<!-- List any requirements you could not fully address and why -->

---

## 2. Implementation Completeness

Confirm the implementation is production-ready.

- [ ] Code compiles without errors (`npm run build`)
- [ ] No `TODO` or `FIXME` comments left in the changes
- [ ] Error handling follows the SDK's [error standard](../../docs/error-standard.md)
- [ ] Public APIs have JSDoc comments
- [ ] No secret keys, seed phrases, or `.env` values are committed
- [ ] Dependencies were not added without discussion (see [Dependency Review](../../docs/dependency-review.md))

**Modules changed:**
<!-- List the files/modules you modified -->

**Notes:**
<!-- Any design decisions or trade-offs worth mentioning -->

---

## 3. Testing Evidence

Provide concrete evidence that your changes work correctly.

- [ ] Unit tests added or updated for all behaviour changes
- [ ] Bug fix includes a regression test
- [ ] Tests pass locally (`npm test`)
- [ ] Tests are isolated — no live network calls required
- [ ] Edge cases and error paths are covered

**Test files added/modified:**
<!-- List test files -->

**Test output summary:**
```
<paste `npm test` output summary here>
```

---

## 4. CI Status

Confirm automated checks will pass.

- [ ] `npm run lint` passes with no errors
- [ ] `npm test` passes with no failures
- [ ] `npm run verify:pr` passes (recommended)
- [ ] No circular dependency issues introduced

**Local verification output:**
```
<paste `npm run verify:pr` output here, or at minimum `npm run lint && npm test`>
```

---

## 5. Documentation

Verify documentation is updated where needed.

- [ ] Public API changes are reflected in docs
- [ ] README updated if usage patterns changed
- [ ] Chelog entry added for user-facing changes (see [Changelog Policy](../../docs/changelog-policy.md))
- [ ] Any new error codes added to the [error taxonomy](../../docs/public_error_taxonomy.md)

**Docs updated:**
<!-- List any documentation files you modified -->

---

## 6. Known Limitations

Be honest about what your implementation does not cover.

- [ ] I have documented any known limitations in the PR description
- [ ] I have identified follow-up work that may be needed
- [ ] I have noted any performance considerations
- [ ] I have flagged any areas where I am uncertain about the approach

**Limitations:**
<!-- Describe known limitations, follow-ups, or areas of uncertainty -->

---

## 7. Final Confirmation

- [ ] I have reviewed my own PR diff objectively, as if I were the reviewer
- [ ] I have verified no secrets or sensitive data are committed
- [ ] I have confirmed the PR description explains **what** changed and **why**
- [ ] I understand that a merged PR is **not** automatically payment-approved

---

## Submitting

1. Complete this form and attach it to your PR description or include it as a comment
2. Run `npm run verify:pr` one final time before requesting review
3. Request review from a maintainer

> **Remember:** This self-review is for your benefit. Taking 10 minutes to complete it
> can save days of back-and-forth during review.
1 change: 1 addition & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ Closes #
- [ ] If the issue has a checklist file, I ran `npm run verify:pr -- --checklist .github/checklists/issue-<number>.md`
- [ ] All automated checks passed (lint, circular deps, unit tests, build)
- [ ] I confirmed each acceptance criterion above is satisfied
- [ ] I completed the [Contributor Self-Review Form](../.github/checklists/contributor-self-review.template.md)

## Test plan

Expand Down
15 changes: 15 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,21 @@ Before opening a PR, run through this list:
- [ ] The PR references the related issue (e.g. `Closes #6`)
- [ ] No `.env` or secret values are committed
- [ ] **I have reviewed the [Contributor Security Checklist](#contributor-security-checklist) and verified my code introduces no secret leakage or insecure dependencies.**
- [ ] **I have completed the [Contributor Self-Review Form](.github/checklists/contributor-self-review.template.md)**

## Contributor Self-Review

Before requesting review or expecting payment approval, complete the [Contributor Self-Review Form](.github/checklists/contributor-self-review.template.md). This helps you evaluate your work objectively and ensures nothing is missed.

The self-review covers:
- Requirements review
- Implementation completeness
- Testing evidence
- CI status
- Documentation
- Known limitations

> **Tip:** Copy the template to `.github/checklists/contributor-self-review-<issue-number>.md` and fill it in as you work on your contribution.

---

Expand Down