diff --git a/Contributing Guidelines b/Contributing Guidelines new file mode 100644 index 0000000..27cb8d4 --- /dev/null +++ b/Contributing Guidelines @@ -0,0 +1,105 @@ +### Custos-Starknet Smart Contract Contributor Guidelines + +Thank you for your interest in contributing to the Custos-Starknet project! This repository contains the smart contracts for Custos, written in Cairo using Scarb. We appreciate contributions of all types, whether it’s a bug fix, new feature, or improvement to our documentation. Please follow the guidelines below to ensure a smooth contribution process. + +## Table of Contents +1. [Code of Conduct](#code-of-conduct) +2. [How to Contribute](#how-to-contribute) +3. [Setting Up the Project](#setting-up-the-project) +4. [Branching and Commit Guidelines](#branching-and-commit-guidelines) +5. [Pull Requests](#pull-requests) +6. [Coding Standards](#coding-standards) +7. [Issue Reporting](#issue-reporting) +8. [Resources](#resources) +9. [License](#license) + +--- + +## 1. Code of Conduct + +Please adhere to our [Code of Conduct](#). We expect all contributors to maintain professionalism and respect when engaging with the community. + +--- + +## 2. How to Contribute + +There are several ways to contribute to Custos-Starknet: + +- **Report Bugs**: Open an issue to report bugs. +- **Suggest Features**: Open an issue to suggest new features. +- **Fix Bugs or Implement Features**: Check open issues and submit a pull request with your contributions. +- **Improve Documentation**: Enhancing documentation is always welcome. + +--- + +## 3. Setting Up the Project + +To contribute, you need to set up the project locally: + +1. Fork the repository. +2. Clone your fork: + ```bash + git clone https://github.com/your-username/custos-starknet.git + ``` +3. Navigate to the project directory: + ```bash + cd custos-starknet + ``` +4. Install Scarb if you haven't already: [Scarb Installation Guide](https://docs.swmansion.com/scarb/docs/getting_started/installation). +5. Install dependencies: + ```bash + scarb build + ``` +6. Run tests: + ```bash + scarb test + ``` +7. Make sure everything works before making changes. + +--- + +## 4. Branching and Commit Guidelines + +- **Branch Naming**: + - `feature/your-feature-name` for new features. + - `bugfix/issue-number-description` for bug fixes. + +- **Commit Messages**: + - Use clear, concise messages that describe what the commit does. + - Example: + ``` + feat: add new collateralization feature for loan contracts + ``` + +--- + +## 5. Pull Requests + +- Ensure your branch is up to date with the main branch. +- Push your changes and open a PR against `master`. +- Provide a detailed description of your changes. +- Link any relevant issues. + +--- + +## 6. Coding Standards + +- **Cairo Code**: Follow the [Cairo documentation](https://www.cairo-lang.org/docs/) and best practices. +- **Testing**: Write tests for your code and ensure all tests pass before submitting a PR. + +--- + +## 7. Issue Reporting + +When reporting issues: + +- Use descriptive titles. +- Provide as much detail as possible. +- Include relevant environment information. + +--- + +## 8. Resources + +- [Cairo Documentation](https://www.cairo-lang.org/docs/) +- [Scarb Documentation](https://docs.swmansion.com/scarb/)