===========================
Contributing to Lucy
===========================

MAKE A PLAN:

  If you're looking for something to work on, see the STATUS file for a list
  of development priorities that the Lucy community has already built
  consensus around.

  If you propose to make non-trivial changes to Lucy, especially changes to
  the public API, open a GitHub issue describing your plans:

    https://github.com/lucysearch/lucy/issues
  
GET THE CODE:

  Lucy's codebase is available https://github.com/lucysearch/lucy.  Start by
  creating a clone of the repository:

    git clone https://github.com/lucysearch/lucy.git

  Follow the instructions in INSTALL to set up your local workspace.

MAKE CHANGES:

  Edit the source code as you see fit, then build Lucy and run its test suite.

  Lucy supports continuous integration services Travis and Appveyor
  to run tests under multiple host languages, host language versions, and
  platforms. If you fork the Github repository, you can make these services
  automatically test the changes you made in your fork.

  Please bear the following in mind:

    * All code will eventually need to be portable to multiple operating
      systems and compilers. (This is a complex requirement and it should not
      block your contribution.)
    * All public APIs must be documented.
    * All unit tests must pass.
    * New code needs to be accompanied by new unit tests.
    * Simplicity, both in terms of API and implementation, is highly valued
      within the Lucy development community; the simpler the contribution, the
      more quickly it can be reviewed and integrated. 

OPEN AN ISSUE:

  https://github.com/lucysearch/lucy/issues
  
GITHUB PULL REQUESTS

  Github users may submit pull requests:

    https://github.com/lucysearch/lucy/pulls

  An email notifying the Lucy developers list of your pull request will be
  triggered automatically.

