Skip to content

Latest commit

 

History

History
198 lines (128 loc) · 4.56 KB

File metadata and controls

198 lines (128 loc) · 4.56 KB

Contributing to SocialShareButton

Thank you for your interest in contributing to SocialShareButton! 🚀 We welcome contributions from everyone.

This document provides guidelines to help you contribute effectively and keep the project clean and maintainable.


🚨 Important: Discord Communication

  • Join our Discord server before starting any work
  • All project communication must happen on Discord.
  • Please post PR/issue updates in the relevant Discord channel.
  • PRs without Discord updates may face delays.

📋 Table of Contents

📌 Ways to Contribute

You can contribute in many ways:

  • 🐛 Fixing bugs
  • ✨ Adding new features
  • 📚 Improving documentation
  • 🎨 Enhancing UI/UX
  • ⚡ Optimizing performance
  • 🧪 Improving testing or code quality

📌 Before Starting Work

  • Please create or comment on an issue first.
  • Wait for assignment before starting (preferable).
  • Unrelated PRs may be closed.

🚀 Getting Started

1️⃣ Fork the Repository

Click the Fork button on the top-right of the repository page.

Then clone your fork locally:

git clone https://github.com/YOUR_USERNAME/SocialShareButton.git
  • Add upstream remote:
git remote add upstream https://github.com/AOSSIE-Org/SocialShareButton.git

2️⃣ Create a New Branch

Always create a new branch for your changes:

git checkout -b feature/your-feature-name

Examples:

  • feature/add-linkedin-support
  • fix/button-alignment-issue
  • docs/update-readme

3️⃣ Follow Project Standards

  • Keep the project lightweight and dependency-free.

  • Follow the existing code style.

  • Avoid unnecessary libraries.

  • Write clean, readable, and modular code.

  • Do not break existing functionality.

4️⃣ Test Your Changes

  • Before submitting a Pull Request:

  • Open index.html in your browser.

  • Test all social share buttons.

  • Ensure no console errors appear.

  • Check responsiveness on different screen sizes.

5️⃣ Commit Your Changes

  • Use clear and meaningful commit messages.

Format:

type: short description

Examples:

feat: add Twitter share support
fix: resolve mobile button spacing issue
docs: improve README installation section

6️⃣ Push and Open a Pull Request

Before pushing, sync with upstream:

git fetch upstream
git rebase upstream/main

Push your branch:

 git push origin feature/your-feature-name

🛠️ Development Workflow

Local Development

  1. Install dependencies: npm install
  2. Open index.html in your browser to see the local demo.
  3. Make changes to files in the src/ directory.
  4. Refresh the browser to see your changes (no build step is required for the core library).

Code Quality Tools

We use ESLint for linting and Prettier for formatting. Please run these before submitting a PR:

  • npm run lint — Check for code quality and style issues.

  • npm run format — Automatically format your code to project standards.

  • npm run format:check — Verify that files are correctly formatted.

  • Then open a Pull Request including:

  • What changes were made

  • Why the change is needed

  • Screenshots (if UI changes)

  • Any relevant issue reference

📋 Pull Request Guidelines

✅ Before Submitting

  • Code tested
  • Documentation updated
  • Linked related issue
  • Branch rebased with upstream
  • Keep PRs small and focused.
  • One feature or fix per PR.
  • Avoid large unrelated changes.
  • Ensure documentation is updated if needed.
  • Be responsive to review feedback.

🌟 Community Guidelines

  • Be respectful and constructive.
  • Communicate progress on Discord.
  • Inactive issues may be reassigned.

🙋 Getting Help

  • Review the README and existing documentation first.
  • Search open and closed issues before creating a new one.
  • Ask questions in the project's Discord server.
  • If your PR is not reviewed for 1–2 weeks, politely follow up on Discord.

🎯 Issue Assignment

  • One contributor per issue (unless stated otherwise).
  • Please wait for assignment before starting work (preferred).
  • If inactive for an extended period, the issue may be reassigned.
  • Check for existing PRs before starting to avoid duplication.

Thank you for helping improve SocialShareButton! 🎉