Skip to content
This repository has been archived by the owner on Jan 12, 2023. It is now read-only.

Latest commit

 

History

History
129 lines (89 loc) · 3.28 KB

CONTRIBUTING.md

File metadata and controls

129 lines (89 loc) · 3.28 KB

Contributing Guide

If you're new to contributing to open source software this guide guide is a great read.

Not sure where to start?

A great place to jump in are issues labeled Beginner Friendly.

Chat

Feel free to join the Discord if you have questions.

Pull Request Checklist

  • - Ensure 100% code coverage with thoughtful unit and integration tests
  • - Documentation is updated if needed
  • - Passing CI pipeline

Background

Destiny has several in game vendors that sell things, some are desired by the players more than others, this bot aims to let them know when something good is available.

Developer Setup

Setup and use requires Git, Node JS, and a text editor such as VS Code.

This project is built for Node 8 and up but we develop using Node LTS and npm. You can check your node version with node -v and your npm version with npm -v.

If you're on a Mac, I'd suggest using Homebrew for installing the required software listed in Setup.

Code Setup

Clone this project with Git to your prefered location.

Configuration

For local development and testing, create a .destiny-insights-bot.ini file your root folder. You'll need to Twitter API settings, you can get them here.

Example:

twitterConsumerApiKey = "<twitterConsumerApiKey here>"
twitterConsumerSecret = "<twitterConsumerSecret here>"
twitterAccessToken = "<twitterAccessToken here>"
twitterAccessTokenSecret = "<twitterAccessTokenSecret here>"

Cloning & Dependency Installations

git clone https://github.com/cujarrett/destiny-insights-bot.git
cd destiny-insights-bot
npm install

Run Linting

Finds problematic patterns or code that doesn’t adhere to certain style guidelines

npm run lint

Fix linting errors (automated)

npm run fix-lint

Run tests

Runs the unit and integration tests.

npm run test

Run Continuous Integration pipeline

Runs linting and tests, same as in the CI pipeline.

npm run ci

Start app

npm run start

Commit Message Guidelines

This project follows the Conventional Commits specification to aid in automated releases and change log generation. Commitlint is enabled and ran as a commit-msg hook to enforce the commit format. Commitizen can be used to prompt through any requirements at commit time npm run commit (or git cz if Commitizen is installed globally).

In short, if a commit will be fixing a bug, prefix the commit message with fix:

fix: my bug fix
feat: my new feature

Commits with fix: prefix will show up in the generated changelog as bullets under the Bug Fixes: section, and feat: prefixed messages will show under the Features: section. For more on the available prefixes/rules, see here.