+42
.github/ISSUE_TEMPLATE/RFC.md
+42
.github/ISSUE_TEMPLATE/RFC.md
···
+46
.github/ISSUE_TEMPLATE/bug_report.yaml
+46
.github/ISSUE_TEMPLATE/bug_report.yaml
···+- label: I can confirm that this is a bug report, and not a feature request, RFC, question, or discussion, for which GitHub Discussions should be used+- label: Follow our [Code of Conduct](https://github.com/0no-co/graphql.web/blob/main/CODE_OF_CONDUCT.md)
+8
.github/ISSUE_TEMPLATE/config.yml
+8
.github/ISSUE_TEMPLATE/config.yml
···
+22
.github/PULL_REQUEST_TEMPLATE.md
+22
.github/PULL_REQUEST_TEMPLATE.md
···
+163
CONTRIBUTING.md
+163
CONTRIBUTING.md
···+- If you have a question, try [creating a GitHub Discussions thread.](https://github.com/0no-co/graphql.web/discussions/new/choose)+- If you think you've found a bug, [open a new issue.](https://github.com/0no-co/graphql.web/issues/new)+- or, if you found a bug you'd like to fix, [open a PR.](https://github.com/0no-co/graphql.web/compare)+- If you'd like to propose a change [open an RFC issue.](https://github.com/0no-co/graphql.web/issues/new?labels=future+%F0%9F%94%AE&template=RFC.md&title=RFC%3A+Your+Proposal) You can read more about the RFC process [below](#how-do-i-propose-changes).+issues, since questions and other discussion start on GitHub Discussions. The bug template is fairly+instead.** Following this makes it very clear whether it's a known behavior, an unexpected issue,+We follow an **RFC proposal process**. This allows anyone to propose a new feature or a change, and+This also comes with **no strict conventions**. We only ask you to follow the PR template we have+If you're **resolving** an issue please don't forget to add `Resolve #123` to the description so that+it's automatically linked, so that there's no ambiguity and which issue is being addressed (if any)+You'll find that a comment by the "Changeset" bot may pop up. If you don't know what a **changeset**+is and why it's asking you to document your changes, read on at ["How do I document a change for the+It's always good practice to run the tests when making changes. If you're unsure which packages+If your editor is not set up with type checks you may also want to run `pnpm run check` on your+and run them. There you'll also need to install their dependencies as they're isolated projects,+This will create a new "changeset file" in the `.changeset` folder, which you should commit and+You won't need to add a changeset if you're simply making "non-visible" changes to the docs or other+[Read more about adding a `changeset` here.](https://github.com/atlassian/changesets/blob/master/docs/adding-a-changeset.md#i-am-in-a-multi-package-repository-a-mono-repo)+Hold up, that's **automated**! Since we use `changeset` to document our changes, which determines what+goes into the changelog and what kind of version bump a change should make, you can also use the+tool to check what's currently posed to change after a release batch using: `pnpm changeset status`.+We have a [GitHub Actions workflow](./.github/workflow/release.yml) which is triggered whenever new+changes are merged. It will always open a **"Version Packages" PR** which is kept up-to-date. This PR+documents all changes that are made and will show in its description what all new changelogs are+Once a "Version Packages" PR is approved by a contributor and merged, the action will automatically+take care of creating the release, publishing all updated packages to the npm registry, and creating+As to **when** to merge the automated PR and publish? Maybe not after every change. Typically there+are two release batches: hotfixes and release batches. We expect that a hotfix for a single package+however, it's common to assume that if one change is made to a package that more will follow in the+same week. So waiting for **a day or two** when other changes are expected will make sense to keep the+It may be a good idea to keep all dependencies on this repository **up-to-date** every now and+then. Typically we do this by running `pnpm update --interactive --latest` and checking one-by-one+which dependencies will need to be bumped. In case of any security issues it may make sense to+While this is rare with `pnpm`, upgrading some transitive dependencies may accidentally duplicate+them if two packages depend on different compatible version ranges. This can be fixed by running:+It's common to then **create a PR** (with a changeset documenting the packages that need to reflect