Skip to content

docs: expand contributing guide#4028

Open
kkafar wants to merge 4 commits into
mainfrom
@kkafar/contributing-guide-update-1
Open

docs: expand contributing guide#4028
kkafar wants to merge 4 commits into
mainfrom
@kkafar/contributing-guide-update-1

Conversation

@kkafar
Copy link
Copy Markdown
Member

@kkafar kkafar commented May 13, 2026

Description

Restructures and expands guides/CONTRIBUTING.md to make it easier for new contributors to find the right entry point and understand expectations around bug reports, discussions, and feature work.

The most important changes here include adding a section about feedback as a way of contribution and encouraging discussion before opening a PR.

Changes

  • Reorganized the "Ways to Contribute" section, promoting "Reporting issues" and "Providing feedback and ideas" as first-class entries alongside triage, review, and code.
  • Split bug reporting into its own ### Reporting a bug section, pointing readers to the issue template and emphasizing the reproduction requirement.
  • Added a ### Got a question, an idea for a feature or you want to share your feedback? section directing non-bug traffic to GitHub Discussions, with a note that misplaced issues may be closed.
  • Added a callout under "Contributing to Code" recommending contributors open a discussion before committing to large feature work, to avoid wasted effort on misaligned PRs.
  • Clarified that apps/App is shared source code between example apps.
  • Fixed the numbering of the install steps (previously jumped 1, 2, 4, 5, 6) and the numbering of the Pull Request preparation checklist.
  • Reflowed long paragraphs to wrap and stripped trailing whitespace from a few lines.

Test plan

Docs-only change. Verified locally:

  • guides/CONTRIBUTING.md renders with correct heading hierarchy and ordered-list numbering.
  • All in-page anchor links (#reporting-a-bug, #got-a-question-an-idea-for-a-feature-or-you-want-to-share-your-feedback, #contributing-to-code) resolve to the new section headings.
  • External links (issues, discussions, issue template, good-first-issues query) are unchanged or repointed intentionally.

Checklist

  • Included code example that can be used to test this change.
  • For visual changes, included screenshots / GIFs / recordings documenting the change.
  • For API changes, updated relevant public types.
  • Ensured that CI passes

@kkafar kkafar marked this pull request as ready for review May 14, 2026 09:05
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This docs-only PR expands and reorganizes the contributing guide to better direct contributors toward bug reports, discussions, issue triage, reviews, and code contributions.

Changes:

  • Reworked “Ways to Contribute” with dedicated guidance for bug reports and feedback/discussions.
  • Added guidance for discussing larger feature work before implementation.
  • Clarified setup/checklist wording and adjusted ordered-list numbering in parts of the guide.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread guides/CONTRIBUTING.md Outdated
Comment thread guides/CONTRIBUTING.md Outdated
Comment thread guides/CONTRIBUTING.md Outdated
Comment thread guides/CONTRIBUTING.md Outdated
Comment thread guides/CONTRIBUTING.md Outdated
Comment thread guides/CONTRIBUTING.md Outdated
Comment thread guides/CONTRIBUTING.md Outdated
Comment thread guides/CONTRIBUTING.md Outdated
Comment thread guides/CONTRIBUTING.md Outdated
Comment thread guides/CONTRIBUTING.md Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 10 comments.

Comments suppressed due to low confidence (6)

guides/CONTRIBUTING.md:28

  • This sentence is missing an article before “great”; it should read “a great way to contribute.”
1. **Replying and handling open issues** &ndash; great way to contribute without writing a single line of code is triaging the issues.

guides/CONTRIBUTING.md:45

  • This sentence is missing an article before “good idea.”
   or introducing new amazing features. If you want to start your adventure
   with open source it's good idea to take a look at [good first issue](https://github.com/software-mansion/react-native-screens/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) on GitHub. Read more about [contributing to code](#contributing-to-code).

guides/CONTRIBUTING.md:106

  • This sentence is missing an article before “list.”
If you are eager to start contributing right away, we have list of [good first issues](https://github.com/software-mansion/react-native-screens/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) that contain bugs which have limited scope. In this section we'll describe in more details how to play around with react-native-screens setup.

guides/CONTRIBUTING.md:112

  • This sentence is missing an article before “full implementation.”
> Before committing yourself to full implementation of a new feature, it's recommended to first open

guides/CONTRIBUTING.md:56

  • This sentence is missing an article before “Exact list.”
Exact list of information we expect is included in our [issue template](/.github/ISSUE_TEMPLATE/bug-report.yml).

guides/CONTRIBUTING.md:187

  • This phrase is missing an article before “great idea.”
3. **Test code and steps to reproduce** &ndash; describe how others can test your change, if you didn't add `Test*.tsx` file it's good idea to add code snippets here.

Comment thread guides/CONTRIBUTING.md
Comment thread guides/CONTRIBUTING.md Outdated
Comment thread guides/CONTRIBUTING.md Outdated
Comment thread guides/CONTRIBUTING.md Outdated
Comment thread guides/CONTRIBUTING.md Outdated
Comment thread guides/CONTRIBUTING.md Outdated
Comment thread guides/CONTRIBUTING.md Outdated
Comment thread guides/CONTRIBUTING.md Outdated
Comment thread guides/CONTRIBUTING.md Outdated
Comment thread guides/CONTRIBUTING.md Outdated
Comment thread guides/CONTRIBUTING.md Outdated
Code-level contributions generally come in the form of pull requests.
By contributing to code you help us with solving issues, fixing bugs
or introducing new amazing features. If you want to start your adventure
with open source it's good idea to take a look at [good first issue](https://github.com/software-mansion/react-native-screens/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) on GitHub. Read more about [contributing to code](#contributing-to-code).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For me both links are showing empty list. Same as filter just by label:

Image

Copy link
Copy Markdown
Contributor

@t0maboro t0maboro May 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For me both links are showing empty list. Same as filter just by label:

only because we don't have any good first issues in public repo, but testing on labs:

imo the link is still invalid
(testing on Chrome)

Comment thread guides/CONTRIBUTING.md
Comment thread guides/CONTRIBUTING.md
Comment thread guides/CONTRIBUTING.md
2. **Changes** - write what you have changes and why.
3. **Screenshots / GIFs** &ndash; if applicable it's great idea to attach screen or video before and after changes.
4. **Test code and steps to reproduce** &ndash; describe how others can test your change, if you didn't add `Test*.tsx` file it's good idea to add code snippets here.
1. **Changes** - write what you have changed and why.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why changed?
Image

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's an alternative? "to change" in present perfect ends up as changed 😅

Copy link
Copy Markdown
Contributor

@t0maboro t0maboro May 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, I should be more precise (tbh I completely haven't focused on the presence of "changed" word in that line 😄) I meant why we changed this part of the code (the numbering), now we have two '1' for the same list

Comment thread guides/CONTRIBUTING.md Outdated
Comment thread guides/CONTRIBUTING.md Outdated
Comment thread guides/CONTRIBUTING.md Outdated
Comment thread guides/CONTRIBUTING.md Outdated
Comment thread guides/CONTRIBUTING.md
Comment thread guides/CONTRIBUTING.md
Comment thread guides/CONTRIBUTING.md

We have two types of sources: pure examples (apps/Example for source code) and examples, dedicated for tests from issues / pull requests (apps/src/tests for source code). The former work as a showcase of the library, the latter contain isolated props' behavior, selected interactions between props, and specific test cases that corresponds to GitHub issues. For example, `Test1864.tsx` corresponds to issue [#1864](https://github.com/software-mansion/react-native-screens/issues/1864). Our developer flow usually consists of creating new `Test*.tsx` file with code example that we try to fix or add. For new features we try to prepare dedicated showcases. The `apps/App` file is where you set the source code for the application to use by either leaving `<Example>` as is or replacing it with `<Test.Test*>`.

- `apps/Example` &ndash; source code with showcase app
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we clarify this a bit?
From my point of view the showcase screens themselves are located in apps/src/screens. apps/Example is more of the root entry point where we define the overall app structure, linking both the showcase and test screens.

Copy link
Copy Markdown
Collaborator

@LKuchno LKuchno left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Just left a few minor comments. :)

@kkafar kkafar requested review from LKuchno, kligarski and t0maboro May 22, 2026 10:13
Comment thread guides/CONTRIBUTING.md
We've provided a template on GitHub that simplifies the process of filing an issue.
Maybe you have an idea for a feature that you find missing from the library, or
you want to share your opinion on features that are currently planned for development?
Please see [the dedicated section for instructions](#got-a-question-an-idea-for-a-feature-or-you-want-to-share-your-feedback).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Please see [the dedicated section for instructions](#got-a-question-an-idea-for-a-feature-or-you-want-to-share-your-feedback).
Please see [the dedicated section for instructions](#got-a-question-an-idea-for-a-feature-want-to-share-your-feedback).

Comment thread guides/CONTRIBUTING.md Outdated
Code-level contributions generally come in the form of pull requests.
By contributing to code you help us with solving issues, fixing bugs
or introducing new amazing features. If you want to start your adventure
with open source it's good idea to take a look at [good first issue](https://github.com/software-mansion/react-native-screens/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) on GitHub. Read more about [contributing to code](#contributing-to-code).
Copy link
Copy Markdown
Contributor

@t0maboro t0maboro May 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For me both links are showing empty list. Same as filter just by label:

only because we don't have any good first issues in public repo, but testing on labs:

imo the link is still invalid
(testing on Chrome)

Comment thread guides/CONTRIBUTING.md
Comment on lines +44 to +45
or introducing new amazing features. If you want to start your adventure
Read more about [contributing to code](#contributing-to-code).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
or introducing new amazing features. If you want to start your adventure
Read more about [contributing to code](#contributing-to-code).
or introducing new amazing features. If you want to start your adventure,
read more about [contributing to code](#contributing-to-code).

Comment thread guides/CONTRIBUTING.md
> [!tip]
> For commits and pull request names we follow a [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) specification.

> [!note]
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe this should be [!IMPORTANT]

Comment thread guides/CONTRIBUTING.md
- `gesture-handler` &ndash; interop between react-native-screens and react-native-gesture-handler
- `guides` &ndash; guides for developers
- `ios` &ndash; source code of native implementation for iOS
- `native-stack` &ndash; description of native stack v5, actual implementation can be found in `src/native-stack`, this will be deprecated in favor of react-navigation in near feature
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#4028 (comment) -> if you want to fix the mentions of old stack, we have it here -> this directory doesn't exist now.

Comment thread guides/CONTRIBUTING.md
> current library development direction. We want to avoid situations where hours of work on a feature PR
> are wasted due to misalignment.

We have two types of sources: pure examples (apps/Example for source code) and examples, dedicated for tests from issues / pull requests (apps/src/tests for source code). The former work as a showcase of the library, the latter contain isolated props' behavior, selected interactions between props, and specific test cases that corresponds to GitHub issues. For example, `Test1864.tsx` corresponds to issue [#1864](https://github.com/software-mansion/react-native-screens/issues/1864). Our developer flow usually consists of creating new `Test*.tsx` file with code example that we try to fix or add. For new features we try to prepare dedicated showcases. The `apps/App` file is where you set the source code for the application to use by either leaving `<Example>` as is or replacing it with `<Test.Test*>`.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similar to above: old example app

Comment thread guides/CONTRIBUTING.md
Code-level contributions generally come in the form of pull requests.
By contributing to code you help us with solving issues, fixing bugs
or introducing new amazing features. If you want to start your adventure
Read more about [contributing to code](#contributing-to-code).
Copy link
Copy Markdown
Collaborator

@LKuchno LKuchno May 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally looks good :)

There is just small thing to correct - after (#contributing-to-code) there is unnecessary dot.

Copy link
Copy Markdown
Collaborator

@sgaczol sgaczol left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!
Just left a few suggestions

Comment thread guides/CONTRIBUTING.md

Recommended approach is to set up [direnv](https://direnv.net/) as suggested [here](https://github.com/software-mansion/react-native-screens-labs/pull/197/files),
so that you don't have to do this manually each time.
Recommended approach is to set up [direnv](https://direnv.net/) as suggested [here](https://github.com/software-mansion/react-native-screens-labs/pull/197/files),
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Recommended approach is to set up [direnv](https://direnv.net/) as suggested [here](https://github.com/software-mansion/react-native-screens-labs/pull/197/files),
The recommended approach is to set up [direnv](https://direnv.net/) as suggested [here](https://github.com/software-mansion/react-native-screens-labs/pull/197/files),

Comment thread guides/CONTRIBUTING.md
## Contributing to Code

Submitting Pull Requests that resolve issues is a great way to contribute to Screens. If you are eager to start contributing right away, we have list of [good first issues](https://github.com/software-mansion/react-native-screens/pulls?q=is%3Apr+is%3Aopen+label%3A%22good+first+issue%22) that contain bugs which have limited scope. In this section we'll describe in more details how to play around with react-native-screens setup.
Submitting a Pull Requests that resolve issues is a great way to contribute to Screens.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Submitting a Pull Requests that resolve issues is a great way to contribute to Screens.
Submitting Pull Requests that resolve issues is a great way to contribute to Screens.

Comment thread guides/CONTRIBUTING.md

Submitting Pull Requests that resolve issues is a great way to contribute to Screens. If you are eager to start contributing right away, we have list of [good first issues](https://github.com/software-mansion/react-native-screens/pulls?q=is%3Apr+is%3Aopen+label%3A%22good+first+issue%22) that contain bugs which have limited scope. In this section we'll describe in more details how to play around with react-native-screens setup.
Submitting a Pull Requests that resolve issues is a great way to contribute to Screens.
If you are eager to start contributing right away, we have list of [good first issues](https://github.com/software-mansion/react-native-screens/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) that contain bugs which have limited scope. In this section we'll describe in more details how to play around with react-native-screens setup.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
If you are eager to start contributing right away, we have list of [good first issues](https://github.com/software-mansion/react-native-screens/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) that contain bugs which have limited scope. In this section we'll describe in more details how to play around with react-native-screens setup.
If you are eager to start contributing right away, we have a list of [good first issues](https://github.com/software-mansion/react-native-screens/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) that contain bugs which have limited scope. In this section we'll describe in more details how to play around with react-native-screens setup.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants