Skip to content

Latest commit

 

History

History
103 lines (75 loc) · 3.07 KB

CONTRIBUTING.md

File metadata and controls

103 lines (75 loc) · 3.07 KB

Contributing to Strapex

Thank you for your interest in contributing to Strapex! We aim to make blockchain payments accessible and secure, and we appreciate your help in achieving this goal.

Getting Started

  1. Fork the repository by clicking the Fork button.

  2. Clone your fork:

    git clone https://github.com/your-username/strapex.git
    cd strapex
  3. Install dependencies:

    pnpm install

Development Workflow

  1. Create a new branch:

    git checkout -b feature/your-feature-name
  2. Make your changes following our coding standards and practices.

  3. Commit your changes using conventional commit messages:

    git commit -m "type: description"

    Common types include:

    • feat: New features
    • fix: Bug fixes
    • docs: Documentation changes
    • style: Code style updates (formatting, missing semi-colons, etc)
    • refactor: Code changes that neither fix bugs nor add features
    • perf: Performance improvements
    • test: Adding or modifying tests
    • chore: Maintenance tasks
  4. Push your changes:

    git push origin feature/your-feature-name
  5. Submit a Pull Request to the main repository.

Pull Request Guidelines

When submitting a pull request:

  • Provide a clear description of the changes
  • Include the purpose of your changes and any relevant issue numbers
  • Ensure all tests pass
  • Update documentation if necessary
  • Include screenshots for UI changes

Code Standards

  • Follow the existing code style and formatting
  • Write clear, descriptive variable and function names
  • Include comments for complex logic
  • Write tests for new functionality
  • Keep commits focused and atomic

Development Setup

⚠️ WARNING: The following monolithic architecture is yet to be implemented and it will be done gradually as stated in #22, for now please refer to the current project structure as is shown in the repository and ignore this section.

Our project uses Turborepo with pnpm workspaces. The repository is structured as follows:

apps/
  ├── dashboard/        # Payment gateway interface
  └── backend/          # Backend services

packages/
  ├── sdk/          # TypeScript SDK
  ├── contracts/    # Cairo contracts
  └── indexer/      # Blockchain data indexer

Questions and Support

If you have questions or need help:

Security

For security concerns, please contact any of the project maintainers via their GitHub profiles instead of opening an issue.

License

By contributing to Strapex, you agree that your contributions will be licensed under our project license.

Contributors