Thank you for your interest in contributing to our project! We welcome contributions from everyone.
- Getting Started
- Development Environment
- Making Changes
- Testing
- Pull Request Process
- Style Guide
- Community
This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code.
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/project-name.git
- Add the upstream remote:
git remote add upstream https://github.com/original-owner/project-name.git
-
Install required dependencies:
curl --proto '=https' --tlsv1.2 -sSf https://docs.swmansion.com/scarb/install.sh | sh curl -L https://raw.githubusercontent.com/foundry-rs/starknet-foundry/master/scripts/install.sh | sh
-
Verify installation:
scarb --version snforge --version
-
Install frontend dependencies
npm install
-
Start the development server
npm run dev
-
Create a new branch:
git checkout -b feature/your-feature-name
or
git checkout -b fix/issue-number
-
Make your changes
-
Follow the Style Guide
-
Commit your changes:
git commit -m "Description of changes"
Before submitting your changes, ensure:
-
All tests pass: /contracts
snforge test -
Code is formatted: /contracts
scarb fmt
/frontend
prettier write .
-
Update your fork:
git fetch upstream git rebase upstream/main
-
Push your changes:
git push origin feature/your-feature-name
or
git push origin fix/issue-number
-
Open a Pull Request with:
- Clear title and description
- Reference to related issues
- Screenshots/GIFs if applicable
- Updated documentation
-
Address review feedback
- Follow the official Cairo style guide
- Use meaningful variable names
- Add comments for complex logic
- Include docstrings for functions
- Use present tense ("Add feature" not "Added feature")
- First line should be:
- Concise (50 chars or less)
- Complete sentence
- Capitalized
Example:
feat: add new component
fix: resolve button click issue
docs: update README
- Join our Discord
- Follow us on Twitter
- Subscribe to our Newsletter
Feel free to reach out to the maintainers or open an issue. We're here to help!