Skip to content

Latest commit

 

History

History
188 lines (150 loc) · 5.45 KB

CONTRIBUTING.md

File metadata and controls

188 lines (150 loc) · 5.45 KB

Contributing to Proof of Peacemaking

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.

Table of Contents

Code of Conduct

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].

Getting Started

Before you begin:

  1. Ensure you have a GitHub account
  2. Read the documentation
  3. Check if what you want to contribute already exists
  4. Open an issue before making significant changes

How Can I Contribute?

Non-Technical Contributions

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:

1. Domain Experts

  • 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

2. Community Support

  • Help answer questions in issues
  • Share your experience
  • Provide feedback on proposed features
  • Help test new releases
  • Participate in discussions
  • Help moderate community channels

3. Documentation

  • Help improve documentation
  • Fix typos
  • Add examples
  • Clarify confusing sections
  • Translate documentation
  • Add case studies

4. Reporting Bugs

  • Always open an issue first
  • Use the bug report template
  • Include as many details as possible
  • Describe the expected behavior
  • Include screenshots if applicable

5. Suggesting Enhancements

  • 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

Technical Contributions

1. Setting Up Development Environment

# 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

2. Making Changes

  1. Create a new branch from main
  2. Make your changes
  3. Add or update tests
  4. Update documentation
  5. Run tests locally
  6. Commit with clear messages

3. Code Contribution Areas

  • Backend (Go)
  • Smart Contracts (Solidity)
  • Frontend (HTML/CSS/JavaScript)
  • Infrastructure
  • Testing
  • Documentation

Pull Request Process

  1. Open an Issue First

    • Discuss your proposed changes
    • Get feedback from maintainers
    • Align with project goals
  2. Create Your Branch

    git checkout -b feature/your-feature-name
  3. Make Your Changes

    • Follow style guides
    • Add tests
    • Update documentation
  4. Commit Your Changes

    git add .
    git commit -m "feat: add new feature"

    Follow Conventional Commits

  5. Push and Create PR

    git push origin feature/your-feature-name
    • Use PR template
    • Link related issues
    • Describe your changes
  6. Review Process

    • Address review comments
    • Update your branch
    • Be patient and responsive

Style Guides

Git Commit Messages

  • Use Conventional Commits
  • Present tense ("add feature" not "added feature")
  • Imperative mood ("move cursor to..." not "moves cursor to...")

Go Code

Solidity Code

JavaScript

  • Use ES6+ features
  • Follow ESLint configuration
  • Add JSDoc comments
  • Test UI components

Documentation

  • Use Markdown
  • Keep language simple
  • Include code examples
  • Update table of contents

Questions?

If you have questions, feel free to:

  1. Check existing issues
  2. Open a new issue
  3. Ask in discussions
  4. Contact maintainers

Thank you for contributing to Proof of Peacemaking! 🌟