Thank you for considering contributing to VeraCrypt Crash Collector! Your contributions help improve the project, and we appreciate your effort. The following guidelines will assist you through the contribution process.
- Navigate to the VeraCrypt-CrashCollector repository and click "Fork."
- Clone your fork locally:
git clone https://github.com/your-username/VeraCrypt-CrashCollector.git
- Set up the upstream remote to keep your fork up-to-date with the original repository:
git remote add upstream https://github.com/veracrypt/VeraCrypt-CrashCollector.git
Ensure you have the required tools installed to run a PHP web application.
- PHP: Make sure you have PHP installed on your system.
- Web Server: Use a local web server like Apache or Nginx, or use the built-in PHP development server:
php -S localhost:8000
Before you start working, create a new branch for your changes:
git checkout -b feature/your-feature-name
Use a clear, descriptive name for your branch, such as fix/issue-123
or feature/new-feature
.
Make your changes in the new branch. Be sure to:
- Follow the coding standards and existing conventions.
- Write clear, concise comments where necessary.
- Add or update tests if you are adding new functionality.
- Regularly run the project to ensure everything is working.
Run the application locally to ensure your changes work using your preferred PHP development setup.
After making sure everything is working, commit your changes with a meaningful message:
git commit -m "Fix issue with crash report handling in macOS"
Try to keep your commits small and focused on a specific change.
Push your changes to your fork on GitHub:
git push origin feature/your-feature-name
Once your changes are pushed, open a Pull Request (PR) in the original repository:
- Go to the Pull Requests section.
- Click "New Pull Request."
- Choose your branch and provide a descriptive title and detailed description of your changes.
Make sure to link to any relevant issues using Fixes #issue_number
in the description. This will automatically close the linked issue when the PR is merged.
All PRs are subject to review by maintainers or other contributors. Please:
- Be open to feedback.
- Address requested changes promptly.
- Participate in discussions if necessary.
Reviewing ensures code quality, consistency, and alignment with project goals. Don't hesitate to ask for clarification if you're unsure about any feedback.
If you encounter a bug, please submit an issue to help us investigate:
- Title: A concise description of the issue.
- Steps to Reproduce: A detailed list of steps to reproduce the bug.
- Expected Behavior: What should have happened.
- Actual Behavior: What actually happened, including error messages if applicable.
- Versions: The VeraCrypt version and the OS version (Linux/macOS) you are using.
- Logs or Crash Reports: Attach relevant logs or crash reports, if available.
We welcome new feature suggestions! If you have an idea, submit an issue labeled "feature request" with the following details:
- Use Case: Why this feature is needed.
- Proposed Solution: A description of how it might work.
- Alternatives Considered: Other possible approaches (if applicable).
- Follow the existing code style and patterns.
- Always include descriptive comments in your code.
- Write unit tests for new features or bug fixes when applicable.
- Ensure your changes do not break existing functionality.
- Keep commits small and focused.
- Use descriptive commit messages, following this format:
- fix: for bug fixes.
- feat: for new features.
- docs: for documentation changes.
- refactor: for code improvements.
- test: for test changes or additions.
Example commit message:
feat: add crash report parsing for Linux
By contributing to VeraCrypt Crash Collector, you agree that your contributions will be licensed under the Apache License 2.0.
Thank you for contributing! We look forward to collaborating with you.