github.com/xiaq/elvish@v0.12.0/CONTRIBUTING.md (about)

     1  # Notes for Contributors
     2  
     3  ## Code
     4  
     5  1.  Always run unit tests before committing. `make` will take care of this.
     6  
     7  2.  Some files are generated from other files. They should be committed into the repository for this package to be go-gettable. Run `go generate ./...` to regenerate them in case you modified the source.
     8  
     9      Dependencies of the generation rules:
    10  
    11      *   The `stringer` tool: Install with `go get -u golang.org/x/tools/cmd/stringer`;
    12  
    13      *   An installed `elvish` in your PATH;
    14  
    15      *   Python 2.7 at `/usr/bin/python2.7` (Python scripts should be rewritten in either Go or Elvish).
    16  
    17  3.  Always format the code with `goimports` before committing. Run `go get golang.org/x/tools/cmd/goimports` to install `goimports`, and `goimports -w .` to format all golang sources.
    18  
    19      To automate this you can set up a `goimports` filter for Git by putting this in `~/.gitconfig`:
    20  
    21          [filter "goimports"]
    22              clean = goimports
    23              smudge = cat
    24  
    25      Git will then always run `goimports` for you before committing, since `.gitattributes` in this repository refers to this filter. More about Git attributes and filters [here](https://www.kernel.org/pub/software/scm/git/docs/gitattributes.html).
    26  
    27  ## Human Communication
    28  
    29  If you are making significant changes or any user-visible changes (e.g. changes to the language, the UI or the elv script API), please discuss on the developer channel before starting to work.
    30  
    31  ## Licensing
    32  
    33  By contributing, you agree to license your code under the same license as existing source code of elvish. See the LICENSE file.