Skip to content

Latest commit

 

History

History
142 lines (100 loc) · 3.12 KB

File metadata and controls

142 lines (100 loc) · 3.12 KB

Contributing to Lazorkit Next.js Starter

First off, thank you for considering contributing! 🎉

This is a hackathon project, but we've built it with community reuse in mind. Whether you're fixing a bug, improving documentation, or adding a feature, your contribution is welcome.

📋 Table of Contents


Code of Conduct

Be kind, respectful, and constructive. We're all here to learn and build cool stuff.


Getting Started

  1. Fork the repository
  2. Clone your fork:
    git clone https://github.com/YOUR_USERNAME/lazorkit-nextjs-gasless-starter.git
    cd lazorkit-nextjs-gasless-starter
  3. Install dependencies:
    npm install
  4. Create a branch:
    git checkout -b feature/your-feature-name

How to Contribute

🐛 Bug Reports

  • Check existing issues first
  • Include steps to reproduce
  • Provide browser/OS info
  • Share error messages and screenshots

✨ Feature Requests

  • Describe the problem you're solving
  • Explain your proposed solution
  • Consider alternatives you've thought about

🔧 Pull Requests

  1. Keep PRs focused on a single change
  2. Update documentation if needed
  3. Add tests where applicable
  4. Ensure the build passes: npm run build
  5. Write a clear PR description

Style Guidelines

TypeScript

  • Use strict TypeScript (no any unless absolutely necessary)
  • Prefer interface over type for object shapes
  • Use explicit return types for functions

React

  • Use functional components with hooks
  • Mark client components with 'use client'
  • Keep components small and focused

Comments

  • Write comments that explain why, not what
  • Document complex logic and non-obvious decisions
  • Use JSDoc for exported functions

Example:

/**
 * Sends a gasless USDC tip using the Lazorkit Paymaster.
 * 
 * @param recipient - Solana wallet address to receive the tip
 * @param amount - Amount in USDC (not atomic units)
 * @returns Transaction signature on success, null on failure
 */
async function sendTip(recipient: string, amount: number): Promise<string | null> {
  // Implementation...
}

Commit Messages

Follow Conventional Commits:

type(scope): description

[optional body]

Types

Type Description
feat New feature
fix Bug fix
docs Documentation changes
style Formatting, missing semicolons, etc.
refactor Code change that neither fixes a bug nor adds a feature
test Adding or updating tests
chore Maintenance tasks

Examples

feat(auth): add passkey authentication flow
fix(gasless): handle user cancellation gracefully
docs(readme): add tutorial for gasless transactions

📜 License

By contributing, you agree that your contributions will be licensed under the MIT License.


Thank you for helping make Solana more accessible! 💜