Thank you for your interest in contributing to ShadowSwap! This document provides guidelines and instructions for contributing.
- Fork the repository
- Clone your fork locally
- Create a new branch for your feature/fix
- Make your changes
- Submit a pull request
# Clone repository
git clone https://github.com/YOUR_USERNAME/shadowswap.git
cd shadowswap
# Install dependencies
cd frontend && npm install
cd ../contracts_foundry && forge install
cd ../keeper-bot && npm install- Use Solidity 0.8.20+
- Follow OpenZeppelin naming conventions
- Include NatSpec comments for all public functions
- Run
forge fmtbefore committing
- Use TypeScript for all new code
- Follow existing code style
- Use ESLint and Prettier
- Run
npm run lintbefore committing
- Update the README.md if needed
- Update documentation for any changed functionality
- Ensure all tests pass
- Request review from maintainers
When reporting issues, please include:
- Description of the issue
- Steps to reproduce
- Expected vs actual behavior
- Screenshots if applicable
- Environment details (OS, browser, wallet)
If you discover a security vulnerability, please:
- DO NOT create a public issue
- Email security concerns to the maintainers
- Allow time for a fix before disclosure
By contributing, you agree that your contributions will be licensed under the MIT License.