Tips For New Committers

Here are some tips for new committers:

  • Subscribe to the forum to stay up-to-date, or follow the forum feed.
  • In your very first commit, add this text to the commit message
  • Be aware that every change to the code and the rules that doesn't break the unit tests will automatically go live on languagetool.org each day at roughly 22:15 CET
  • You should subscribe to the commit message mailing list to stay up-to-date. This list also receives the daily regression test emails which show the effects of rule modifications.
  • You might want to watch the LanguageTool projects at github (some issues are discussed in the bug tracker and not on our forum)
  • Your commits should not break anything:
    • If you have issues with git, ask for help on our forum. Never use git's --force option.
    • For Java changes, consider the style guide.
    • Before committing, always run the JUnit tests (mvn clean test or testrules.sh xx / testrules.bat xx if you've only modified the XML rules, with xx being the language code). See Maven tips for hints about how to speed this up.
    • Before you push your changes, you will want to check them. gitk works fine for that.
    • Get the latest updates from master via git pull -r (rebase). This will prevent the ugly merge commits you get when you just do git pull.
  • Committing large files (e.g. binary files) will grow the git history, and they can basically never be removed. So if you think you need to commit large files, discuss this on the forum first.
  • If you write a new piece of Java code, add a JUnit test.
  • If you make non-trivial changes, document them in languagetool-standalone/CHANGES.md.
  • User interface translations are done using https://www.transifex.com/projects/p/languagetool/, so please don't modify the translated MessageBundle files directly in git
  • If your commit only affects one language, start your commit message with [xx], where xx is the language code (like en for English)
  • Don't create branches - if you think you need one, discuss this on the forum first (this refers to public branches in the official LanguageTool repository, of course you can create branches as you wish locally and on forks).
  • If your code involves a major change to some core functionality (changing XML markup of the rules, adding a new feature, changing important API), ask on the forum before you work on it.
  • Be aware of our Roadmap and the feature freezes.
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License