Skip to content

Latest commit

 

History

History
103 lines (62 loc) · 6.02 KB

CONTRIBUTING.md

File metadata and controls

103 lines (62 loc) · 6.02 KB

How to Contribute

Deux CLI is an open source projects that will help WordPress Developers to build new theme faster. We are still working actively with this projects and trying to make contributing to this project as easy and transparent as possible. Hopefully this document makes the process for contributing clear and answers some questions that you may have.

Code of Conduct

Ribhnux has adopted a Code of Conduct that we expect project participants to adhere to. Please read the full text so that you can understand what actions will and will not be tolerated.

Branch Organization

We will do our best to keep the master branch in consistence shape, with tests passing at all times.

If you send a pull request, please do it against the master branch. We maintain stable branches for major versions separately but we don't accept pull requests to them directly. Instead, we cherry-pick non-breaking changes from master to the latest stable major version.

Semantic Versioning

Deux CLI follows semantic versioning. We release patch versions for bugfixes, minor versions for new features, and major versions for any breaking changes. When we make breaking changes, we also introduce deprecation warnings in a minor version so that our users learn about the upcoming changes and migrate their code in advance.

Bugs

Where to Find Known Issues

We are using GitHub Issues for our public bugs. We keep a close eye on this and try to make it clear when we have an internal fix in progress. Before filing a new task, try to make sure your problem doesn't already exist.

Reporting New Issues

The best way to get your bug fixed is to provide a reduced test case. Submit screenshot, logs, and or codes to reproduce issues.

Proposing a Change

If you intend to change to the public API, or make any non-trivial changes to the implementation, we recommend filing an issue. This lets us reach an agreement on your proposal before you put significant effort into it.

If you're only fixing a bug, it's fine to submit a pull request right away but we still recommend to file an issue detailing what you're fixing. This is helpful in case we don't accept that specific fix but want to keep track of the issue.

Your First Pull Request

Working on your first Pull Request? You can learn how from this free video series:

How to Contribute to an Open Source Project on GitHub

If you decide to fix an issue, please be sure to check the comment thread in case somebody is already working on a fix. If nobody is working on it at the moment, please leave a comment stating that you intend to work on it so other people don't accidentally duplicate your effort.

If somebody claims an issue but doesn't follow up for more than two weeks, it's fine to take over it but you should still leave a comment.

Sending a Pull Request

The core team is monitoring for pull requests. We will review your pull request and either merge it, request changes to it, or close it with an explanation. For API changes we may need to fix our internal uses at Facebook.com, which could cause some delay. We'll do our best to provide updates and feedback throughout the process.

Before submitting a pull request, please make sure the following is done:

  1. Fork the repository and create your branch from master.
  2. If you've added code that should be tested, add tests!
  3. If you've changed APIs, update the documentation.
  4. Ensure the test suite passes (yarn test).
  5. If you haven't already, complete the CLA.

Contributor License Agreement (CLA)

In order to accept your pull request, we need you to submit a CLA. You only need to do this once, so if you've done this for another Facebook open source project, you're good to go. If you are submitting a pull request for the first time, just let us know that you have completed the CLA and we can cross-check with your GitHub username.

Contribution Prerequisites

  • You have node installed at v4.0.0+ and npm at v2.0.0+.
  • You have yarn installed at v0.27.5+
  • You have php installed at minimum v5.3 or v7.0
  • You have gcc installed or are comfortable installing a compiler if needed. Some of our npm dependencies may require a compilation step. On OS X, the Xcode Command Line Tools will cover this. On Ubuntu, apt-get install build-essential will install the required packages. Similar commands should work on other Linux distros. Windows will require some additional steps, see the node-gyp installation instructions for details.
  • You have blank git repository. For example https://github.com/RibhnuxDesign/ramen-theme
  • You are familiar with npm and know whether or not you need to use sudo when installing packages globally.
  • You are familiar with git.
  • You are familiar with WordPress development workflow.

Development Workflow

After cloning Deux CLI, run yarn install to fetch its dependencies.

We recommend running yarn test to make sure you don't introduce any regressions as you work on your change. However it can be handy to try your build of Deux CLI in a real project.

Init your project by running this command, and follow prompts:

# Move to your cloned repo directory.
~ cd /path/to/deux-cli/bin/deux

## Get started.
~ node bin/deux --help

Style Guide

Our linter will catch most styling issues that may exist in your code. You can check the status of your code styling by simply running yarn test.

Code Conventions

  • We don't use semicolons ;
  • 2 spaces for indentation (no tabs)
  • Prefer ' over "
  • 80 character line length
  • Write "attractive" code

License

By contributing to Deux CLI, you agree that your contributions will be licensed under its MIT license.