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.
Documentation
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
Prerequisites
Git / GitHub
Fork the FAKE repo on GitHub.
- Clone your personal fork locally.
-
Add a new git remote in order to retrieve upstream changes.
1:
git remote add upstream https://github.com/fsharp/FAKE.git
Build tools
-
Windows users can install Visual Studio 2013 (the Community Edition is freely available for open-source projects).
-
Linux and Mac users can read "Guide - Cross-Platform Development with F#" to find out the required tools.
-
Alternately, you can use Vagrant in-pair with VirtualBox to automatically deploy a preconfigured virtual machine. See the Vagrant docs to get in touch with the tool.
Programming
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.
1:
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:
1: 2: 3:
git fetch upstream git rebase upstream/master git push origin myfeature -f
- The pull request will be updated automatically.
Text editor / Code style
Install the EditorConfig extension in your text editor(s). List available here.
Visual Studio users can also install the CodeMaid extension.
Read the F# component design guidelines.