Skip to content

Latest commit

 

History

History
111 lines (83 loc) · 3.74 KB

CONTRIBUTING.md

File metadata and controls

111 lines (83 loc) · 3.74 KB

Contributing to CodeCoach

Logging issues

Search for duplicates

Search the existing issues before logging a new one.

Some search tips:

  • Don't restrict your search to only open issues. An issue with a title similar to yours may have been closed as a duplicate of one with a less-findable title.
  • Check for synonyms. For example, if your bug involves an interface, it likely also occurs with type aliases or classes.
  • Search for the title of the issue you're about to log. This sounds obvious but 80% of the time this is sufficient to find a duplicate when one exists.

Bugs

When logging a bug, please be sure to include the following:

  • What version you're using (run codecoach --version)
  • Sample of your lint output file to be processed
  • The behavior you expect to see, and the actual behavior

Feature suggestions

Be sure to search first.

In general, things we find useful when reviewing suggestions are:

  • A description of the problem you're trying to solve
  • An overview of the suggested solution

Contributing code

All work on CodeCoach happens directly on GitHub. Both members and external contributors send pull requests which go through the same review process.

Setup

  1. Fork this repo and create a new branch from main
  2. Clone your fork down to your machine
  3. Make sure you have a compatible version of node installed (v14.x is recommended)
     $ node -v
  4. Make sure you have Yarn installed (CodeCoach uses Yarn for dependencies lock file)
     $ yarn -v
  5. Install dependencies
     $ yarn
  6. Build CodeCoach once to check TypeScript transpilation.
    $ yarn build

Development

  1. To run your local build.

    $ yarn dev
  2. To debug your local code. Set break points, attach your IDE to node process at localhost:5858 and run yarn dev
    Or use any of these preconfigured IDE settings.

    1. WebStorm
      Run the Debug Dev run config. This will start CodeCoach dev and debugger together.
    2. VSCode
      Run dev:debug config to start debugger. And run yarn dev in terminal to start CodeCoach dev.

    (feel free to update dev script in package.json to test/debug your own settings.)

  3. If add or update any dependency. Please use yarn

    $ yarn add <package>
  4. If add any new linter/build output support.

    1. Please add lint output sample in ./sample (can add more than 1 for different scenarios)
    2. Please update README.md in these sections.
      1. Supported linters
      2. --buildLogFile config type name
      3. How to get lint output for CodeCoach
  5. Make sure to comply project's code style.

    $ yarn lint
  6. Make sure to add tests for your new code and not breaking existing test.

    $ yarn test
  7. Send pull request! :)

Releases

For repo owners
Steps to release new version

  1. Create new release

    1. Tag version - Make sure to comply SemVer standard.
    2. Release title - Could be anything (Release vX.Y.Z) is recommended
    3. Release description - List down changes since last version.
  2. Package publishing will be triggered automatically, check the status in Workflow


(this CONTRIBUTING file refers to TypeScript CONTRIBUTING, Jest CONTRIBUTING)