Thank you for considering contributing to Linucast! This document provides guidelines for contributing to the project.
- Fork the repository on GitHub
- Clone your forked repository to your local machine
- Create a new branch for your feature or bug fix
# Clone the repository
git clone https://github.com/Adelkazzaz/Linucast.git
cd linucast
# Set up Python environment
cd python_core
poetry install --with dev
# Build C++ components
cd ../cpp_core
mkdir -p build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug
make -j$(nproc)- Python: Follow PEP 8 style guide
- C++: Follow the Google C++ Style Guide
- Use descriptive variable names and comments
- Write clear docstrings for functions and classes
- Ensure your code adheres to the project's style guidelines
- Update documentation (README.md, docstrings, etc.) with details of changes
- Add tests that verify your changes
- Make sure all tests pass before submitting your PR
- Include a clear description of the changes and their purpose
- Link any related issues in the pull request description
- Add tests for new features and bug fixes
- Run the test suite before submitting a PR:
cd python_core
poetry run pytest- Update documentation when changing functionality
- Use clear and concise language
- Include examples where appropriate
- Document public APIs, classes, and functions
When reporting issues, please include:
- A clear description of the issue
- Steps to reproduce the problem
- Expected behavior
- Actual behavior
- System information (OS, Python version, etc.)
- Screenshots or log output if applicable
For feature requests, please include:
- A clear description of the feature
- Why this feature would be useful to many users
- Any implementation ideas you might have
- At least one project maintainer will review your code
- Address any comments or suggestions from reviewers
- Once approved, a maintainer will merge your PR
By contributing to Linucast, you agree that your contributions will be licensed under the Apache License 2.0.