Skip to main content

Contributing

BugPin is an open-source, self-hosted visual bug reporting tool built with Bun, Hono, React, and Preact. Contributions are welcome across all components: the server, admin console, embeddable widget, and documentation.

Canonical Source

The canonical contribution guidelines are in the GitHub repository.

Quick Start​

  1. Fork the repository on GitHub
  2. Clone your fork locally
  3. Create a feature branch
  4. Make your changes
  5. Submit a pull request

For detailed instructions, see the full contributing guide.

License Agreement​

By contributing to BugPin, you agree that your contributions will be licensed under the applicable license for that component:

  • Server & Admin Console: AGPL-3.0
  • Widget: MIT

What This Means​

When you contribute code:

  • Your code is licensed under the component's license (AGPL-3.0 or MIT)
  • You retain copyright of your contribution
  • No separate Contributor License Agreement (CLA) required

Trademark​

The BugPin licenses do not grant trademark rights.

  • Contributing does not give you rights to the BugPin trademark
  • You can say "I contributed to BugPin"
  • You cannot use the BugPin logo for your projects

See our Trademark Policy for details.

Code of Conduct​

Be respectful, inclusive, and considerate. We want BugPin to be a welcoming project for everyone.

Types of Contributions​

We welcome:

  • Bug fixes
  • New features
  • Documentation improvements
  • UI/UX enhancements
  • Tests
  • Translations (coming soon)

Before Contributing​

Check Existing Issues​

  • Search GitHub Issues first
  • Comment if you want to work on an existing issue
  • Create a new issue for new features (discuss before coding)

Read the Guidelines​

Development Setup​

# Clone the repository
git clone https://github.com/aranticlabs/bugpin.git
cd bugpin

# Install dependencies
bun install

# Start development server
bun run dev

# Run tests
bun run test

# Type checking
bun run typecheck

See the Development Guide for detailed setup.

Coding Standards​

BugPin follows strict coding standards:

  • TypeScript strict mode - No any types
  • Simple architecture - Routes → Services → Repositories
  • Result pattern - Services return Result<T> for errors
  • American English - color, center, organize

Full details: CODING-PRINCIPLES.md

Pull Request Process​

  1. Create a feature branch

    git checkout -b feature/my-awesome-feature
  2. Follow commit conventions

    feat: add new feature
    fix: resolve bug in reports
    docs: update API documentation
  3. Ensure tests pass

    bun run typecheck
    bun run test
  4. Submit PR with:

    • Clear description of changes
    • Link to related issues
    • Screenshots for UI changes
  5. Address review feedback

  6. Merge - Maintainers will merge when approved

What Happens to Your Contribution?​

Attribution​

  • You're listed as a contributor on GitHub
  • Your name appears in git history
  • Major contributions recognized in release notes

Licensing​

  • Server/Admin contributions are AGPL-3.0 licensed
  • Widget contributions are MIT licensed
  • Can be used in BugPin Community Edition (open source)
  • May be used in BugPin Enterprise Edition (proprietary)

No Restrictions​

  • No "assignment" of copyright
  • You keep ownership of your code
  • You can use your code elsewhere
  • No restrictions on future use

Enterprise Edition​

BugPin has a dual-edition model:

  • Community Edition (CE) - Open source (AGPL-3.0 for server/admin, MIT for widget)
  • Enterprise Edition (EE) - Proprietary (Arantic Digital)

Your Contributions​

Contributions to the CE repository:

  • Always remain open source
  • May be included in EE (this is normal for dual-licensing)
  • You retain copyright
  • AGPL-3.0/MIT terms apply based on component

This is standard practice (GitLab, Sentry, MongoDB all do this).

Questions?​

Resources​


Thank you for contributing to BugPin!

We use cookies for analytics to improve our website. More information in our Privacy Policy.