Contributions are welcome! Here's how you can help:
-
Start coding!
- Implement your feature.
- Check your code works as expected.
-
Commit your changes to a new branch (not
master
, one change per branch) and push it:- Commit messages should:
- Have the following structure:
- "<Crate>: <module>: <message>"
- Header line: explain the commit in one line (use the imperative)
- Be descriptive.
- Have a first line with less than 80 characters and have a second line that is empty if you want to add a description.
- Have the following structure:
Examples:
- If does have a module:
Kernel: vga: ...
- If doesn't have a module:
Kernel: ...
- Commit messages should:
-
Once you are happy with your changes, submit a pull request.
- Open the pull-request.
- Add a short description explaining briefly what you've done (or if it's a work-in-progress - what you need to do)
- Do a quick search on GitHub to check if the issue has already been reported.
- Open an issue and describe the issue you are having - you could include:
- Screenshots
- Ways to reproduce the issue.
- Your FerrousOS version.
- Your test platform (e.g. Windows 10 or Ubuntu 15.04 x64)
- If you know the crate where the issue persist, add that to the start of the issue title (e.g. "Kernel: Keyboard X doesn't work")
After reporting you should aim to answer questions or clarifications as this helps pinpoint the cause of the issue.
I improve FerrousOS in my free time because I want to create something good for everyone to use and learn.