First off, thanks for taking the time to contribute! 🎉
The following is a set of guidelines for contributing to our Project, which is hosted on GitHub. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.
Please always follow our Code of Conduct to ensure a welcoming and inclusive environment for everyone. If you notice any violations, report them to the Community Leaders as stated in the Code of Conduct.
Python3
SDL2
Python Virtual Environment
To set up the project locally:
-
Fork the repository on GitHub and clone your fork:
git clone [email protected]:enthusi/feline.git
-
Navigate into the project directory:
cd feline
-
Run the project:
make run
-
Clean all temporary files for next dataset
make clean
Understand the layout of the project to navigate and contribute effectively:
src/preprocessing
: Source Code for everything related to preprocessing the datasrc/postprocessing
: Source Code for everything after running the main programsrc/
: feline.c and feline.cu for either CPU or GPU executiondata/
: Here is all temporary data stored while excecuting the workflowdata/pdf_files
: Here will be all of the resulting PDF files stored after excecuting the workflow
Follow these steps to contribute code:
- Fork the repository: Create your own copy under your GitHub account.
- Create a new branch for your work, named descriptively:
git checkout -b your-feature-name
- Implement your changes and ensure they are well-tested.
- Commit your changes with a clear and descriptive message:
git commit -m "Add feature X"
- Push to your branch:
git push your-feature-name
- Open a pull request to the main repository:
- Go to the original repository on GitHub.
- Click on
New Pull Request
and select your branch. - Fill out the pull request template with all necessary information.
To ensure a smooth review process:
- Clearly describe the issue addressed or the feature implemented.
- Reference related issues using
Fixes #issue-number
. - Ensure all new code includes tests.
- Follow the coding standards of the project.
- Consider including screenshots or examples if applicable.
Maintain consistency and quality in the codebase by following these guidelines:
- Adhere to the PEP8 Standard for all Python Code.
- Write meaningful commit messages.
- Comment your code where necessary to explain complex logic.
- Follow established naming conventions.
- Ensure code readability and maintainability.
If you find a bug or have a feature request, please open an issue. Make sure to include:
- A concise title and description.
- Steps to reproduce the issue.
- Expected versus actual behavior.
- Any relevant logs, screenshots, or code snippets.
- Environment details (e.g., OS, software versions).
Improving documentation is as valuable as code contributions. You can help by:
- Fixing typos or clarifying instructions.
- Adding new documentation for features or components.
- Updating outdated information.
- Ensuring examples and code snippets are accurate.
Documentation files are located in the docs/
directory. Follow the same branching and pull request process for documentation updates.
We’re excited to see your contributions and ideas! 🎉