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

😎😎😎😎

There's a lot of work to do

I mean it!

to jump right in, take a look at the TODOs, or open issues.

Yup!

git clone https://github.com/nlp-compromise/compromise.git  #(or your fork)
cd compromise
npm install
npm test

development and iterating has never been easier:

// in ./scratch.js
var nlp = require('compromise')
nlp.verbose('tagger');

var doc = nlp('i am the very model of a modern major general')
doc.debug()
$ npm run watch

it's pretty-pretty-pretty nice ☁️

Creating a 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