Contributing
You can contribute to Fe!
Ways to contribute:
1. Reporting or fixing issues.
If you find problems with Fe you can report them to the development team on the project Github.
You are also welcome to work on existing issues, especially any tagged good first issue
on the project issue board.
2. Improving the docs.
We always appreciate improvements to the project documentation. This could be fixing any bugs you find, adding some detail to a description or explanation or developing a new user guide.
To add to the docs you can fork the Fe Github repository and make updates in the /docs
directory. You can build and serve locally using mdbook build && mdbook serve
. Then, when you are happy with your changes you can raise a pull request to the main repository.
3. Developing Fe
You are also welcome to work on Fe itself. There are many opportunities to help build the language, for example working on the compiler or the language specification, adding tests or developing tooling.
It is a good idea to connect with the existing Fe community to find out what are the priority areas that need attention and to discuss your idea in context before putting time into it. You can find Fe developers on the Discord or you can use the Github issue board.
Please note that there has been a substantial amount of work done on the
fe-v2
branch of the repository that includes breaking changes. When mergedfe-v2
will revert new contributions based onmaster
.To make your work v2 ready you can build off the
fe-v2
branch. It is recommended to seek out issues taggedv2
in the Github Issue board.
4. Community engagement
We appreciate help answering questions on the Discord and other platforms such as Stack Exchange or Twitter.
Please note that this project has a Code of Conduct. By participating in this project — in the issues, pull requests, or Discord channel — you agree to abide by its terms.
Processes
Reporting issues
To report an issue, please use the Github issue board. When reporting issues, please mention the following details:
- Fe version.
- your operating system.
- the steps required to reproduce the issue
- actual vs expected behaviour
- any error messages or relevant logs
- the specific source code where the issue originates
The appropriate place for technical discussions about the language itself is the Fe Discord.
Rasing Pull Requests
Please fork the Fe repository and raise pull requests against the master
branch.
Your commit messages should be concise and explain the changes made. Your pull request description should explain why the changes were made and list the specific changes. If you have to pull in changes from master
to your fork (e.g. to resolve merge conflicts), please use git rebase
rather than git merge
.
New features should be accompanied by appropriate tests.
Finally, please make sure you respect the coding style for this project.
Thank you for contributing to Fe!