Thank you for your interest in contributing to Socrates Blade!
This guide will help you understand how to contribute to our project.
- Reporting bugs - Found something that doesn't work correctly?
- Suggesting features - Have an idea to make the tool better?
- Writing code - Want to add new features or fix issues?
- Improving documentation - Help make the docs clearer for everyone!
- Testing - Run tests and verify the tool works correctly
Click the "Fork" button on the GitHub page to create your own copy of the repository.
git clone https://github.com/YOUR-USERNAME/socrates-blade.git
cd socrates-bladeCreate a new branch for your changes:
git checkout -b my-feature-or-fixMake your changes to the code, documentation, or tests.
Make sure your changes work correctly:
# Run the test suite
bats tests/bash/run-scan.sh.test.bats
./tests/bash/test_url_validator.shWrite a clear commit message:
git add .
git commit -m "Add clear description of your changes"git push origin my-feature-or-fixGo to the original repository and click "New Pull Request".
- Clear title - Briefly describe what you're changing
- Detailed description - Explain why this change is needed
- Screenshots - If applicable, show before/after
- Test results - Confirm tests pass
## Description
Briefly describe your changes.
## Why This Change is Needed
Explain why this change is important.
## Testing
- [ ] I have tested my changes locally
- [ ] All tests pass
## Screenshots (if applicable)
Add screenshots to show the changes.- Use
#!/bin/bashshebang - Use
set -euo pipefailfor error handling - Add comments for complex logic
- Use meaningful variable names
- Follow PEP 8 style guide
- Use type hints where helpful
- Add docstrings for functions
- Keep lines under 100 characters
- Use consistent indentation (spaces, not tabs)
- Add comments for non-obvious code
- Start with a verb: "Add", "Fix", "Update", "Remove"
- Be specific: "Add XSS payload for stored attacks"
- Keep it short (under 72 characters for the first line)
Add new SQL injection payloads for time-based blind attacks
Added 10 new time-based SQL injection payloads targeting
MySQL and PostgreSQL databases.
- Check if the issue already exists
- Try to reproduce the bug yourself
- Check the documentation
## Bug Description
Clear description of the bug.
## Steps to Reproduce
1. Go to '...'
2. Click on '...'
3. See error
## Expected Behavior
What should happen.
## Actual Behavior
What actually happens.
## Environment
- OS:
- Python version:
- PHP version:- Check if the feature already exists
- Think about how the feature would work
- Consider if it fits the project scope
## Feature Description
Clear description of the feature.
## Why This Feature is Needed
Explain why this feature would be useful.
## Suggested Solution
How you think it could be implemented.
## Alternatives Considered
Other approaches you considered.By contributing to Socrates Blade, you agree that your contributions will be licensed under the MIT License.
- Open an issue on GitHub
- Check existing issues and discussions
We appreciate all contributions, big or small!