Skip to content

Latest commit

 

History

History
96 lines (59 loc) · 3.34 KB

CONTRIBUTING.md

File metadata and controls

96 lines (59 loc) · 3.34 KB

Contribute flows

  1. Create or find an issue
  2. Fork this repository and setup
  3. Create a branch and make commit your changes
  4. Create a new Pull Request

Create or find an issue

Before your contribute, you should find an issue that you want to contribute first. If you can't find an issue that you want to contribute, you should create a new issue from here.

Fork this repository and setup

Fork this repository and clone it to your local machine.

Setup asdf (optional)

Using asdf is optional, but you must use SDK versions that managed by .tool-versions file.

This project use asdf to manage Dart and Flutter SDK versions. If you want to use asdf, you should install asdf. After you install asdf, you should run below command on the root of this repository.

asdf install

If you are not familiar with asdf, you should read asdf documentation first.

Setup Melos

This project build with Melos. You should install Melos globally.

dart pub global activate melos

If you are not familiar with Melos, you should read Melos documentation first.

Setup project

You should run only melos bootstrap and melos prepare commands.

// You can use `melos bs` instead
melos bootstrap
melos prepare

Create a branch and make commit your changes

You should create a branch from main branch and make commit your changes.

custom_lint

nilts is built on the top of custom_lint package. Read custom_lint documentation to understand how to debug and test lint rules you created.

Writing rules

Basically, nilts respects writing rules of Dart's official lint rules. You should read it before you create a new lint rule and ensure that your lint rules and documents follows it.

Lint Name

Lint name should represent WHAT IS THE PROBLEM shortly. It should be written in lower_case_with_underscores.

Lint rule class which extends LintRule should be named with PascalCase.

DON'T start the name with "always", "avoid", or "prefer".

Problem Message

Problem message should give details of the problem.

Quick Fix Name

Quick fix name should represent WHAT TO DO to fix the problem shortly.

Quick fix class which extends DartFix should be named with PascalCase.

Quick Fix Message

Quick fix message should give details of the quick fix.

Create a new Pull Request

After you make commit your changes, you can create a new Pull Request. You should write a description of your changes with following template. Ensure that all of checks are passed with following check list in the template.