Skip to content

Commit

Permalink
Incorporate README content into Nextflow docs (#4263)
Browse files Browse the repository at this point in the history

Signed-off-by: Ben Sherman <[email protected]>
Signed-off-by: Paolo Di Tommaso <[email protected]>
Co-authored-by: Phil Ewels <[email protected]>
Co-authored-by: Marcel Ribeiro-Dantas <[email protected]>
Co-authored-by: Paolo Di Tommaso <[email protected]>
  • Loading branch information
4 people authored Oct 5, 2023
1 parent 0bce2be commit 74a0f99
Show file tree
Hide file tree
Showing 11 changed files with 376 additions and 580 deletions.
5 changes: 5 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[*]
charset = utf-8
indent_size = 4
indent_style = space
tab_width = 4
98 changes: 20 additions & 78 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,73 +1,40 @@
# CONTRIBUTING TO NEXTFLOW
# Contributing to Nextflow

This guide documents the best way to make various types of contributions to Nextflow,
including what is required before submitting a code change.
This guide documents the various ways to contribute to Nextflow, including what is required before submitting a code change.

Contributing to Nextflow doesn't just mean writing code. Helping new users on the mailing list,
testing releases and bug fixes, and improving documentation are all essential and valuable contributions. In fact, proposing
significant code changes usually first requires gaining experience and credibility within the
community by helping in other ways. This is also a guide to becoming an effective contributor.
Contributing to Nextflow doesn't just mean writing code. Helping new users in the community, testing releases and bug fixes, and improving documentation are all essential and valuable contributions. Helping in these ways is an excellent way to become an effective contributor and gain credibility within the community, which makes it easier to make larger contributions like code changes and new features.

## Helping Other Users

## Contributing by Helping Other Users
A great way to contribute to Nextflow is to answer user questions on the [community forum](https://community.seqera.io) and the [Nextflow Slack](https://www.nextflow.io/slack-invite.html). Contributors should ideally be active members here and keep up with the latest developments in the Nextflow community. There are always many new Nextflow users, so taking a few minutes to help answer a question is a valuable community service and a great way to demonstrate your expertise.

A great way to contribute to Nextflow is to help answer user questions on the [discussion forum](https://github.com/nextflow-io/nextflow/discussions),
or the [Slack channel](https://www.nextflow.io/slack-invite.html).
There are always many new Nextflow users; taking a few minutes to help answer a question is a very valuable community service.
## Documentation Changes

Contributors should ideally subscribe to these channels and follow them in order to keep up to date
on what's happening in Nextflow. Answering questions is an excellent and visible way to help the
community and also demonstrates your expertise.
Propose changes to the [Nextflow documentation](https://nextflow.io/docs/latest/) by editing the source files in the [docs](https://github.com/nextflow-io/nextflow/tree/master/docs) directory. The `README.md` in that directory describes how to build and preview the docs locally. Finally, open a pull request with the proposed changes.

## Bug Reports

## Contributing Documentation Changes
Submitting a bug report is one of the simplest and most useful ways to contribute, as it helps us to quickly identify and fix issues and thereby make Nextflow more stable.

To propose a change to release documentation (that is, the docs that appear under http://docs.nextflow.io),
edit the documentation source files in Nextflow's [docs/](https://github.com/nextflow-io/nextflow/tree/master/docs)
directory, whose README file shows how to build the documentation locally to test your changes.
Report a bug using the **New issue** button on the [issues page](https://github.com/nextflow-io/nextflow/issues). A good bug report should include a minimal test case that can replicate the reported bug. Please follow the instructions in the issue template when submitting a bug report.

Then open a pull request with the proposed changes.
## Bug Fixes

Contributing bug fixes is the best way to gain experience with the Nextflow codebase and credibility within the community as a project contributor.

## Contributing Bug Reports
If you are new to the Nextflow codebase and want to get involved, check out issues marked as [`help wanted`](https://github.com/nextflow-io/nextflow/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) or [`good first issue`](https://github.com/nextflow-io/nextflow/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22+). Feel free to ask for help if you get stuck while trying to implement a fix!

Filling a bug report is likely the simplest and most useful way to contribute to the project.
It helps us to identify issues and provide patches and therefore to make Nextflow more stable
and useful.
## New Features

Report a bug using the "New issue" button in the
[issues page](https://github.com/nextflow-io/nextflow/issues) of this project.
Before contributing a new feature, please submit a new feature proposal on the [issues page](https://github.com/nextflow-io/nextflow/issues) and discuss it with the community.

A good bug report should include a minimal executable test case able to replicate the reported bug.
Submitting a proposal helps identify possible overlaps with other planned features and avoid potential misunderstandings, conflicts, and wasted effort.

Follow the instructions in the bug [report template](https://github.com/nextflow-io/nextflow/blob/master/.github/issue_template.md) that is shown when filling the bug report out.
## Code Changes

## Contributing Bug Fixes
When submitting a contribution, you will be required to sign a [Developer Certificate of Origin (DCO)](https://developercertificate.org/) to certify that you are the author of the source code or otherwise have the right to submit it to the project.

Contributing bug fixes is the best way to gain experience and credibility within the community
and also to become an effective project contributor.

If you are a novice with the Nextflow code base, start by looking at issues marked
with the [help wanted](https://github.com/nextflow-io/nextflow/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22)
label.

If you have doubts on how to fix an issue, ask for help from senior contributors commenting
in the issue page.

## Contributing New Features

Before contributing a new feature, submit a new feature proposal in the
[issues page](https://github.com/nextflow-io/nextflow/issues) of the project and discuss it
with the community.

This is important to identify possible overlaps with other planned features and avoid misunderstandings and conflicts.

## Contributing Code Changes

When submitting a contribution, you will be required to sign a [Developer Certificate of Origin (DCO)](https://developercertificate.org/) to certify that you are the author of the source code or otherwise you have the right to submit it to the project.

Contributor signatures are provided by adding a `Signed-off-by` line to the commit message
as shown below, or by using the `-s` option for the [git commit command](https://help.github.com/articles/signing-commits/).
Contributor signatures are provided by adding a `Signed-off-by` line to the commit message as shown below, or by using the `-s` option with [`git commit`](https://help.github.com/articles/signing-commits/). For example:

```
This is my commit message
Expand All @@ -77,29 +44,4 @@ Signed-off-by: Random J Developer <[email protected]>

The process is automatically managed by the [Probot](https://probot.github.io/apps/dco/) app for GitHub.


## IDE settings

The suggested development environment is [IntelliJ IDEA](https://www.jetbrains.com/idea/download/). See the [README](https://github.com/nextflow-io/nextflow/#intellij-idea) for a short primer on how to import
and configure Nextflow to work with it.

Nextflow does not impose a strict code formatting style, however the following settings should be applied:

* Use spaces for indentation
* Tab size: 4
* Indent: 4
* Use single class import
* Class count to use import with `*`: 99
* Names count to use static import with `*`: 99
* Imports layout:
* \<blank line>
* `import org.junit.*`
* `import spock.lang.*`
* \<blank line>
* `import java.*`
* `import javax.*`
* \<blank line>
* *all other imports*
* *all other static imports*

New files must include the appropriate license header boilerplate and the author name(s) and contact email(s) ([see for example](https://github.com/nextflow-io/nextflow/blob/e8945e8b6fc355d3f2eec793d8f288515db2f409/modules/nextflow/src/main/groovy/nextflow/Const.groovy#L1-L15)).
For more information about working on the Nextflow source code, visit the [Nextflow docs](https://nextflow.io/docs/latest/developer/).
Loading

0 comments on commit 74a0f99

Please sign in to comment.