First off, thank you for considering contributing to Proof of Peacemaking! It's people like you that help make this project a great tool for fostering peace and understanding in the Web3 space.
This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to [email protected].
Before you begin:
- Ensure you have a GitHub account
- Read the documentation
- Check if what you want to contribute already exists
- Open an issue before making significant changes
We strongly encourage contributions from diverse backgrounds. You don't need to be a developer to make meaningful contributions to Proof of Peacemaking. We welcome:
- System Thinkers: Help us understand complex interactions and feedback loops
- Peace & Conflict Resolution Experts: Share insights on mediation and resolution processes
- International Relations Specialists: Provide perspectives on cross-border dynamics
- Philosophers: Help shape ethical frameworks and governance models
- Social Scientists: Contribute understanding of human behavior and social dynamics
- Legal Experts: Guide compliance and regulatory considerations
- Game Theorists: Help design incentive structures
- Behavioral Economists: Inform token economics and incentive mechanisms
- UX Researchers: Help understand user needs and behaviors
- Visual Designers: Improve user interface and experience
- Content Strategists: Help with messaging and communication
To contribute as a domain expert, simply email [email protected] with:
- Subject: "Proof of Peacemaking - [Your Area of Expertise]"
- Brief introduction of yourself
- How you think you can contribute
- Any relevant experience or credentials
- Help answer questions in issues
- Share your experience
- Provide feedback on proposed features
- Help test new releases
- Participate in discussions
- Help moderate community channels
- Help improve documentation
- Fix typos
- Add examples
- Clarify confusing sections
- Translate documentation
- Add case studies
- Always open an issue first
- Use the bug report template
- Include as many details as possible
- Describe the expected behavior
- Include screenshots if applicable
- Open an issue using the feature request template
- Explain your use case
- Describe how your suggestion helps the community
- Be patient and open to feedback
# Fork and clone the repository
git clone https://github.com/your-username/proof-of-peacemaking.git
cd proof-of-peacemaking
# Create a branch for your changes
git checkout -b feature/your-feature-name
# Install dependencies
go mod download
- Create a new branch from
main
- Make your changes
- Add or update tests
- Update documentation
- Run tests locally
- Commit with clear messages
- Backend (Go)
- Smart Contracts (Solidity)
- Frontend (HTML/CSS/JavaScript)
- Infrastructure
- Testing
- Documentation
-
Open an Issue First
- Discuss your proposed changes
- Get feedback from maintainers
- Align with project goals
-
Create Your Branch
git checkout -b feature/your-feature-name
-
Make Your Changes
- Follow style guides
- Add tests
- Update documentation
-
Commit Your Changes
git add . git commit -m "feat: add new feature"
Follow Conventional Commits
-
Push and Create PR
git push origin feature/your-feature-name
- Use PR template
- Link related issues
- Describe your changes
-
Review Process
- Address review comments
- Update your branch
- Be patient and responsive
- Use Conventional Commits
- Present tense ("add feature" not "added feature")
- Imperative mood ("move cursor to..." not "moves cursor to...")
- Follow Go Code Review Comments
- Run
go fmt
before committing - Add tests for new code
- Document exported functions
- Follow Solidity Style Guide
- Add NatSpec comments
- Include test coverage
- Document state changes
- Use ES6+ features
- Follow ESLint configuration
- Add JSDoc comments
- Test UI components
- Use Markdown
- Keep language simple
- Include code examples
- Update table of contents
If you have questions, feel free to:
- Check existing issues
- Open a new issue
- Ask in discussions
- Contact maintainers
Thank you for contributing to Proof of Peacemaking! 🌟