Skip to content

Commit

Permalink
Update various contributing documents and GitHub configuration
Browse files Browse the repository at this point in the history
* Add --no-cov to instructions on running specific tests

* Update contributing document

Fix label references, take into account recent GitHub features, rewrite the Code section.

* Make better use of standard GitHub file locations

* Configure issue templates
  • Loading branch information
novemberborn committed Jan 19, 2020
1 parent 5a33572 commit 9983976
Show file tree
Hide file tree
Showing 10 changed files with 113 additions and 152 deletions.
File renamed without changes.
72 changes: 72 additions & 0 deletions .github/CONTRIBUTING.md
@@ -0,0 +1,72 @@
# Contributing to AVA

✨ Thanks for contributing to AVA! ✨

Please note that this project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.

Translations: [Español](https://github.com/avajs/ava-docs/blob/master/es_ES/contributing.md), [Français](https://github.com/avajs/ava-docs/blob/master/fr_FR/contributing.md), [Italiano](https://github.com/avajs/ava-docs/blob/master/it_IT/contributing.md), [日本語](https://github.com/avajs/ava-docs/blob/master/ja_JP/contributing.md), [Português](https://github.com/avajs/ava-docs/blob/master/pt_BR/contributing.md), [Русский](https://github.com/avajs/ava-docs/blob/master/ru_RU/contributing.md), [简体中文](https://github.com/avajs/ava-docs/blob/master/zh_CN/contributing.md)

## How can I contribute?

### Improve documentation

As a user of AVA you're the perfect candidate to help us improve our documentation. Typo corrections, error fixes, better explanations, more examples, etc. Open issues for things that could be improved. [Help translate our docs.](https://github.com/avajs/ava-docs) Anything. Even improvements to this document.

Use the [`scope:documentation` label](https://github.com/avajs/ava/labels/scope%3Adocumentation) to find suggestions for what we'd love to see more documentation on.

### Improve issues

Some issues are created with missing information, not reproducible, or plain invalid. Help make them easier to resolve. Handling issues takes a lot of time that we could rather spend on fixing bugs and adding features.

### Give feedback on issues

We're always looking for more opinions on discussions in the issue tracker. It's a good opportunity to influence the future direction of AVA.

The [`needs triage`](https://github.com/avajs/ava/labels/needs%20triage) and [`question`](https://github.com/avajs/ava/labels/question) labels are a good place to find ongoing discussions.

### Help out

You can use issue labels to discover issues you could help out with:

* [`blocked` issues](https://github.com/avajs/ava/labels/blocked) need help getting unstuck
* [`bug` issues](https://github.com/avajs/ava/labels/bug) are known bugs we'd like to fix
* [`enhancement` issues](https://github.com/avajs/ava/labels/enhancement) are features we're open to including
* [`performance` issues](https://github.com/avajs/ava/labels/performance) track ideas on how to improve AVA's performance

The [`help wanted`](https://github.com/avajs/ava/labels/help%20wanted) and [`good for beginner`](https://github.com/avajs/ava/labels/good%20for%20beginner) labels are especially useful.

You may find an issue is assigned. Please double-check before starting on this issue because somebody else is likely already working on it.

We'd like to fix [`priority` issues](https://github.com/avajs/ava/labels/priority) first. We'd love to see progress on [`low-priority` issues](https://github.com/avajs/ava/labels/low%20priority) too. [`future` issues](https://github.com/avajs/ava/labels/future) are those that we'd like to get to, but not anytime soon. Please check before working on these since we may not yet want to take on the burden of supporting those features.

Read on for tips on contributing code.

### Hang out in our chat

We have a [chat](https://spectrum.chat/ava). Jump in there and lurk, talk to us, and help others.

## Contributing code

Once you find an issue you'd like to work on leave a comment so others are aware. We'll then assign you to the issue.

Of course you can work on things that do not yet have an issue. However if you're going to be putting in a lot of effort it's best to discuss it first.

When you're ready to get feedback on your work, open a [draft pull request](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests#draft-pull-requests). It's fine if the work's not yet done, but please do let us know what's remaining. This lets reviewers know not to nit-pick small details or point out improvements you already know you need to make.

Reviewing large pull requests can take a lot of time. Time that may not always be available. Smaller pull requests may land more quickly. If you're introducing a new feature think about how it might be broken up. It's OK to land features as [opt-in experiments](https://github.com/avajs/ava/blob/master/docs/06-configuration.md#experiments). These require less documentation and test coverage.

Try and avoid making breaking changes. Those take more time to ship. Instead make the new behavior opt-in. This way your feature can ship, and you can use it, on its own schedule.

Non-experimental features should be accompanied with tests and documentation.

Don't include unrelated changes in your pull request. Make sure tests pass on your machine by running `npm test`. You can run specific test files as well using `npx tap --no-cov test/{file}.js`.

When you make a pull request please use a clear and descriptive title. Be specific about what's changed and why.

Please make sure the *Allow edits from maintainers* box is checked. That way we can make certain minor changes ourselves, allowing your pull request to be merged sooner.

You might be asked to make changes to your pull request. There's never a need to open another pull request. Push more commits to your existing branch. We'll squash them when we merge the PR.

Dependencies are managed using `npm`. Only update dependencies when needed for your pull request. Don't rebuild the lockfile.

And finally, have fun!
15 changes: 15 additions & 0 deletions .github/ISSUE_TEMPLATE/bug.md
@@ -0,0 +1,15 @@
---
name: Bug Report
about: If something isn't working the way you expect it to
labels: needs triage
---

Please provide details about:

* What you're trying to do
* What happened
* What you expected to happen

Please share relevant sample code. Or better yet, provide a link to a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example).

We'll also need your AVA configuration (in `package.json` or `ava.config.*` configuration files) and how you're invoking AVA. Share the installed AVA version (get it by running `npx ava --version`).
11 changes: 11 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,11 @@
blank_issues_enabled: false
contact_links:
- name: Babel
url: https://github.com/avajs/babel/issues
about: Ask about using Babel with AVA
- name: AVA on Spectrum
url: https://spectrum.chat/ava
about: Ask questions and discuss in our Spectrum community
- name: Stack Overflow
url: https://stackoverflow.com/questions/tagged/ava
about: Tag your question on Stack Overflow
11 changes: 11 additions & 0 deletions .github/ISSUE_TEMPLATE/feature.md
@@ -0,0 +1,11 @@
---
name: Feature Request
about: Suggestions for new or different behavior.
labels: question
---

Please provide details about:

* What you're trying to do
* Why you can't use AVA for this
* And maybe how you think AVA could handle this
71 changes: 0 additions & 71 deletions .github/issue_template.md

This file was deleted.

5 changes: 0 additions & 5 deletions .github/pull_request_template.md

This file was deleted.

72 changes: 0 additions & 72 deletions contributing.md

This file was deleted.

6 changes: 3 additions & 3 deletions maintaining.md
Expand Up @@ -2,12 +2,12 @@

## Conduct

**Be kind to everyone.** Read and adhere to the [Code of Conduct](code-of-conduct.md).
**Be kind to everyone.** Read and adhere to the [Code of Conduct](.github/CODE_OF_CONDUCT.md).

## Testing

* `npm test`: Lint the code and run the entire test suite with coverage.
* `npx tap test/fork.js --bail`: Run a specific test file and bail on the first failure (useful when hunting bugs).
* `npx tap --no-cov test/fork.js --bail`: Run a specific test file and bail on the first failure (useful when hunting bugs).

## CI

Expand All @@ -32,7 +32,7 @@ Speaking of, using newer TypeScript features could be considered a breaking chan
## Pull requests

* New features should come with tests and documentation.
* Ensure the [contributing guidelines](contributing.md) are followed.
* Ensure the [contributing guidelines](.github/CONTRIBUTING.md) are followed.
* Squash commits when merging.

## Experiments
Expand Down
2 changes: 1 addition & 1 deletion readme.md
Expand Up @@ -7,7 +7,7 @@ Testing can be a drag. AVA helps you get it done. AVA is a test runner for Node.

Follow the [AVA Twitter account](https://twitter.com/ava__js) for updates.

Read our [contributing guide](contributing.md) if you're looking to contribute (issues / PRs / etc).
Read our [contributing guide](.github/CONTRIBUTING.md) if you're looking to contribute (issues / PRs / etc).

![](media/mini-reporter.gif)

Expand Down

0 comments on commit 9983976

Please sign in to comment.