# Contributing Hi! 👋 Take a moment to read the following guidelines. Thanks for contributing! ## Contents * [Expectations](#expectations) * [Ecosystem](#ecosystem) * [Support](#support) * [Contributions](#contributions) * [Financial support](#financial-support) * [Improve documentation](#improve-documentation) * [Improve issues](#improve-issues) * [Give feedback on issues](#give-feedback-on-issues) * [Write code](#write-code) * [Submitting an issue](#submitting-an-issue) * [Submitting a pull request](#submitting-a-pull-request) * [Resources](#resources) * [License](#license) ## Expectations This community has a [code of conduct][file-code-of-conduct]. You must follow it when interacting with the community. Be respectful and considerate when asking for things. You are not entitled to free customer service. Be friendly! Be excellent to each other. ## Ecosystem Pick the right place to contribute. The collective ([unified][github-unified]) is hundreds of projects in several organizations. Often there is a utility (such as [`mdast-util-to-hast`][github-mdast-util-to-hast]), a plugin ([`remark-rehype`][github-remark-rehype]), relating to a syntax tree ([mdast][github-mdast]) and an ecosystem ([`remark`][github-remark]). If you are not sure where to contribute, you can first ask a question. ## Support See [`support.md`][file-support] on how to get help. ## Contributions There are several ways to contribute. ### Financial support Support our efforts financially. Sponsor us on [GitHub][github-sponsors], [`thanks.dev`][thanks], or [OpenCollective][]. ### Improve documentation Fix that typo. As a user you are perfect for helping us improve the docs. Better explanations, new examples, etcetera. ### Improve issues Help make issues easier to resolve. Some issues lack information, are not reproducible, or are just incorrect. ### Give feedback on issues Share your perspective. We are often looking for more opinions, insights, and use cases. ### Write code Contribute a test, patch a bug, add a feature. It’s often good to first create a discussion or an issue before a pull request. Perhaps there’s a reason things are the way they are. Or there’s an alternative solution. ## Submitting an issue * see [`support.md`][file-support] for help; the issue tracker is for issues * search [discussions][github-search-discussions] and [issues][github-search-issues] before opening something, include links to what you find * contribute a failing test if you can * use the latest version of projects * use a clear and descriptive title * include as much information as possible * be friendly! * the more time you put into an issue, the easier it is to help you ## Submitting a pull request * non-trivial things are often best discussed first, to prevent you from doing unnecessary work * for ambitious tasks, try to get your work in front of the community for feedback as soon as possible * do one thing and do it well, do not include unrelated changes * include tests and documentation * run `npm test` to make sure everything’s still fine * write a convincing description of why we should land your pull request: it’s your job to convince us ## Resources * [How to contribute to open source](https://opensource.guide/how-to-contribute/) * [Making your first contribution](https://medium.com/@vadimdemedes/making-your-first-contribution-de6576ddb190) * [Using pull requests](https://help.github.com/articles/about-pull-requests/) * [GitHub help](https://help.github.com) ## License This document has the following license: [CC-BY-4.0][creativecommons-by] © [Titus Wormer][wooorm] [creativecommons-by]: https://creativecommons.org/licenses/by/4.0/ [file-code-of-conduct]: code-of-conduct.md [file-support]: support.md [github-mdast-util-to-hast]: https://github.com/syntax-tree/mdast-util-to-hast [github-mdast]: https://github.com/syntax-tree/mdast [github-remark-rehype]: https://github.com/remarkjs/remark-rehype [github-remark]: https://github.com/remarkjs/remark [github-unified]: https://github.com/unifiedjs/unified [github-search-discussions]: https://github.com/orgs/remarkjs/discussions [github-search-issues]: https://github.com/search?q=user%3Aremarkjs&type=issues [github-sponsors]: https://github.com/sponsors/unifiedjs [opencollective]: https://opencollective.com/unified [thanks]: https://thanks.dev [wooorm]: https://wooorm.com