Skip to content

Latest commit

 

History

History
134 lines (78 loc) · 3.21 KB

CONTRIBUTING.md

File metadata and controls

134 lines (78 loc) · 3.21 KB

Contributing

Current list of Contributors.

Code Of Conduct

By participating in this project you agree to our Code of Conduct.

Submitting Issues

Current issue tracker is on GitHub.

Even if you are uncomfortable with code, an issue or question is welcome.

Note: If you are reporting a bug or feature request for ferretci.com itself, please see forthright/ferretci.com instead.

Contributing Documentation

See the Docs section.

Contributing Code

All you need to do is submit a Pull Request.

  1. Please consider tests and code quality before submitting.
  2. Please try to keep commits clean, atomic and well explained (for others).

Note: If you prefer to submit a patch then please open an issue and link to it.

Development Setup

Ferret is centered around the exectution of plugins that generate various types of data.

A plugin can be written in JavaScript, or easily shell out to another language.

The core library and cli is written in TypeScript.

Test code is written in CoffeeScript.

Requirements

For core lib development:

For non-essential dev tasks (docs, packaging, etc):

Additional OSes required for all non-essential builds and testing:

Getting Setup

If on Windows:

choco install zip unzip git nodejs curl mkdocs mkdocs-material

If on macOS:

brew install zip unzip git nodejs python
pip install mkdocs mkdocs-matertial

If on Arch Linux:

pacman -S zip unzip git nodejs python-pip
pip install mkdocs mkdocs-matertial

Clone the repos:

git clone [email protected]:forthright/ferret.git
cd ferret

Install packages:

npm i -g yarn npm
npm i

Build Commands

See all available build commands:

npm run

Compile from src to lib:

npm run -s c

To run the CLI locally:

node bin/ferret -h

Testing

To run tests:

npm -s t

Docs

Everything resides in docs.

To develop run mkdocs serve in your project root:

Dev Helpers

To run compile task with file watch in the background:

npm run dev

Compiling Release Packages

To build packages:

./bin/build

Note: Extracting Node.js's zipfile might hit the Windows path limit for CMD.exe and PowerShell. If it is regarding node_modules/npm... you can safely ignore this as this is not copied over during packaging.