# How to Contribute

## Pull Requests

We also accept [pull requests](https://github.com/kpdecker/jsdiff/pull/new/master)!

Generally we like to see pull requests that

* Maintain the existing code style
* Are focused on a single change (i.e. avoid large refactoring or style adjustments in untouched code if not the primary goal of the pull request)
* Have [good commit messages](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)
* Have tests
* Don't decrease the current code coverage (see coverage/lcov-report/index.html)

## Building

```
npm install
npm test
```

The `npm test -- dev` implements watching for tests within Node and `karma start` may be used for manual testing in browsers.

If you notice any problems, please report them to the GitHub issue tracker at <http://github.com/kpdecker/jsdiff/issues>.

## Releasing

JsDiff utilizes the [release yeoman generator](https://github.com/walmartlabs/generator-release) to perform most release tasks.

A full release may be completed with the following:

```
yo release
npm publish
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://civictech-ou.gitbook.io/nova-docs/use-cases/node_modules/diff/contributing.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
