# Contributing to CurrenciCombo Thank you for your interest in contributing to CurrenciCombo! This document provides guidelines and instructions for contributing. ## Code of Conduct This project adheres to a code of conduct. By participating, you are expected to uphold this code. ## Getting Started 1. Fork the repository 2. Clone your fork: `git clone https://github.com/your-username/CurrenciCombo.git` 3. Create a branch: `git checkout -b feature/your-feature-name` 4. Make your changes 5. Test your changes 6. Commit: `git commit -m "Add your feature"` 7. Push: `git push origin feature/your-feature-name` 8. Open a Pull Request ## Development Setup See the main [README.md](../README.md) for installation and setup instructions. ## Coding Standards ### TypeScript/JavaScript - Use TypeScript for all new code - Follow ESLint configuration - Use meaningful variable and function names - Add JSDoc comments for public APIs ### Solidity - Follow Solidity style guide - Use OpenZeppelin contracts where applicable - Add NatSpec comments for all functions - Write comprehensive tests ### Git Commit Messages - Use clear, descriptive messages - Reference issue numbers when applicable - Format: `type(scope): description` Types: - `feat`: New feature - `fix`: Bug fix - `docs`: Documentation - `test`: Tests - `refactor`: Code refactoring - `chore`: Maintenance ## Testing - Write tests for all new features - Run existing tests before submitting PR - Ensure E2E tests pass - Maintain test coverage above 80% ## Pull Request Process 1. Update documentation if needed 2. Add tests for new functionality 3. Ensure all tests pass 4. Update CHANGELOG.md if applicable 5. Request review from maintainers ## Questions? Feel free to open an issue for questions or discussions.