Skip to content
spencer kelly edited this page Jul 4, 2017 · 8 revisions

You're great! 🙌

no really, you're great.

we welcome all contributions, hacking, and tomfoolery.

Asking for help

Please help us avoid open-source-burnout, before requiring help:

  1. is your answer in the official docs?
  2. is your answer in the wiki?
  3. is your answer on stackOverflow?
  4. has your question already been asked?
  5. can it be fixed using a custom lexicon?

Thanks!

Creating an issue

If you're looking for advice or help using the library, join our slack group instead of making an issue.

If you believe you've found a bug, please make sure you're running the latest version:

var nlp=require('compromise')
console.log(nlp.version)

When you're creating an issue, please try to isolate the issue to the smallest piece of text you can, and identify the method that is giving you unexpected results.

it's pretty cool to make a runkit or jsfiddle or plunker to show your failing case, too.

Cool! you're great.

Creating an Pull-Request

The goal of compromise is making a very small subset of nlp-tools that can be loaded into the browser trivially. For this reason, we don't do every task, or get 100% accuracy, or suit every application. Please consider how widely this library is used, in how many weird environments, for many different reasons, before adding new changes or features.

That being said, we're pretty cool, and non-pedantic people, and don't fuss too-much about trivial developer-stuff.

If you are making a substantial change, please file an issue to see if it's a suitable-change, first.

If you're new or rusty, here's instructions how to make a PR on github.

If you're adding a more lines of code, it's also good-practice to include some tests to show cases that your fix handles:

npm run test

Please make sure tests pass before creating a PR. Please describe the reasoning and outline of your changes in the PR. Don't worry about making a build, we can do that before the next release.

Compromise is written in es5 javascript. We've got some eslint and esformatter files in the repo that should 'just work' with prettier or standard.. Who cares though.

🚀

Clone this wiki locally