Skip to content

Latest commit

 

History

History
112 lines (75 loc) · 2.92 KB

CONTRIBUTING.md

File metadata and controls

112 lines (75 loc) · 2.92 KB

Contributing to Artichoke

👋 Hi and welcome to Artichoke. Thanks for taking the time to contribute! 💪💎🙌

The Artichoke project infrastructure is the infrastructure as code for the Artichoke Ruby project. There is lots to do.

If the Artichoke does not run Ruby source code in the same way that MRI does, it is a bug and we would appreciate if you filed an issue so we can fix it.

If you would like to contribute code 👩‍💻👨‍💻, find an issue that looks interesting and leave a comment that you're beginning to investigate. If there is no issue, please file one before beginning to work on a PR.

Discussion

If you'd like to engage in a discussion outside of GitHub, you can join Artichoke's public Discord server.

Setup

Rust

WIP

Node.js

The Artichoke project infrastructure uses Yarn and Node.js for linting and orchestration.

You will need to install Node.js and Yarn.

On macOS, you can install Node.js and Yarn with Homebrew:

brew install node yarn

Node.js Packages

Once you have Yarn installed, you can install the packages specified in package.json by running:

yarn install

You can check to see that this worked by running yarn lint and observing no errors.

Shell

The Artichoke project infrastructure uses shfmt for formatting and shellcheck for linting Shell scripts.

On macOS, you can install shfmt and shellcheck with Homebrew:

brew install shfmt shellcheck

Code Quality

Linting

Once you configure a development environment, run the following to lint sources:

yarn lint

Merges will be blocked by CI if there are lint errors.

Updating Dependencies

Node.js Packages

To see what packages are outdated, you can run yarn outdated.

To update Node.js package dependencies run the following command and check in the updated yarn.lock file:

yarn upgrade

If after running yarn upgrade there are still outdated packages reported by yarn outdated, there has likely been a major release of a dependency. If you would like to update the dependency and deal with any breakage, please do; otherwise, please file an issue.

Code Analysis

Source Code Statistics

To view statistics about the source code in the Artichoke project infrastructure, you can run yarn loc, which depends on loc. You can install loc by running:

cargo install loc