FAKE - F# Make

Contributing to FAKE

This page should provide you with some basic information if you're thinking about contributing to FAKE.

  • This page can be edited by sending a pull request to the FAKE project on GitHub, so if you learn something when playing with FAKE please record your findings here!

  • If you want to discuss a feature (a good idea!), or if you want to look at suggestions how you might contribute, check out the Issue list on GitHub or send an email to the FAKE mailing list.

  • Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the Project shall be under the terms and conditions of the Apache 2.0 license. See License.txt for details.


The documentation for FAKE is automatically generated using the amazing F# Formatting library. It turns *.md (Markdown with embedded code snippets) and *.fsx files (F# script file with embedded Markdown documentation) into a nice HTML documentation.

  • The code for all the documents can be found in the help directory on GitHub. If you find a bug or add a new feature, make sure you document it!

  • If you want to build the documentation, simply run the build script (GitHub link) which builds the documentation.

Creating pull requests


Git / GitHub

  • Fork the FAKE repo on GitHub.

  • Clone your personal fork locally.
  • Add a new git remote in order to retrieve upstream changes.

      git remote add upstream https://github.com/fsharp/FAKE.git

Build tools


  • Checkout the master branch.

  • Run the build in order to check if everything works.

    • On Mono run build.sh

    • On Windows run build.cmd

  • Create a new feature branch.

      git checkout -b myfeature
  • Implement your bugfix/feature.
  • Add a bit of documentation (see above).
  • Run the build script again, to confirm that all tests pass.
  • Commit and push to your fork.
  • Use GitHub's UI to create a pull request. Write "WIP" into the pull request description if it's not completely ready

  • If you need to rebase you can do:

      git fetch upstream
      git rebase upstream/master
      git push origin myfeature -f
  • The pull request will be updated automatically.

Text editor / Code style

Fork me on GitHub