We want to make contributing to this project as easy and transparent as possible.
This project is developed internally at Facebook inside a private repository. Changes are periodically pushed to the open-source branch. Pull requests are integrated manually into our private repository first, and they then get propagated to the public repository with the next push.
We actively welcome your pull requests.
- Fork the repo and create your branch from
master
. - If you've added code that should be tested, add tests
- If you've changed APIs, update the documentation.
- Ensure the test suite passes.
- Make sure your code lints.
- If you haven't already, complete the Contributor License Agreement ("CLA").
In order to accept your pull request, we need you to submit a CLA. You only need to do this once to work on any of Facebook's open source projects.
Complete your CLA here: https://code.facebook.com/cla
We use GitHub issues to track public bugs. Please ensure your description is clear and has sufficient instructions to be able to reproduce the issue.
- 2 spaces for indentation rather than tabs
- 80 character line length
- Name classes LikeThis, functions and methods likeThis, data members likeThis_.
- Most naming and formatting recommendations from Google's C++ Coding Style Guide apply (but not the restrictions; exceptions and templates are fine.)
- Feel free to use boost, folly and fbthrift
- Inspired by PEP 8
- 4 spaces for indentation rather than tabs
- 80 character line length
- Name classes LikeThis, functions, methods, and variables like_this, private methods _like_this
- Use Penlight; specifically pl.class for OOP
- Do not use global variables (except with a very good reason)
- Use new-style modules; do not use the module() function
- Assume LuaJIT 2.0+, so Lua 5.1 code with LuaJIT's supported extensions; FFI is okay.
By contributing to FBLUA, you agree that your contributions will be licensed under its BSD license.