Skip to content

Latest commit

 

History

History
127 lines (84 loc) · 3.62 KB

File metadata and controls

127 lines (84 loc) · 3.62 KB

Contributing to LibrarEase

Thanks for your interest in contributing to LibrarEase!

Contributor License Agreement (CLA)

By contributing to this project, you agree to the following terms:

1. Your Contributions

You confirm that:

  • You created the contribution and have the right to submit it under the project's license
  • Your contribution is your original work or you have permission to submit it
  • You understand your contribution will be publicly available under the PolyForm Noncommercial License

2. Grant of Rights

You grant the LibrarEase project:

  • A perpetual, worldwide, non-exclusive, royalty-free license to use, modify, and distribute your contributions
  • The right to relicense your contributions under different terms, including commercial licenses
  • Permission to use your contributions in both noncommercial and commercial versions of LibrarEase

3. What This Means

  • Your contributions remain subject to the PolyForm Noncommercial License for public use
  • You retain copyright to your contributions
  • The project maintainer may sublicense contributions to commercial customers
  • You may use your own contributions however you wish
  • You won't receive royalties from commercial licenses (unless separately agreed)

4. Acknowledgment

Contributors will be acknowledged in the project unless they request otherwise.


How to Contribute

Reporting Issues

  • Check existing issues before creating a new one
  • Provide clear reproduction steps
  • Include relevant logs, error messages, and system information
  • Use issue templates when available

Suggesting Features

  • Search existing feature requests first
  • Clearly describe the problem you're trying to solve
  • Explain why this feature would benefit other users
  • Consider providing implementation ideas

Submitting Code

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Implement changes following our coding standards
  4. Verify locally: yarn lint, yarn typecheck, and run yarn dev
  5. Commit with clear, descriptive messages
  6. Push to your fork
  7. Open a Pull Request

Pull Request Guidelines

  • One feature/fix per PR
  • Update documentation as needed
  • Follow existing code style and conventions
  • Ensure yarn lint and yarn typecheck pass
  • Keep commits clean and atomic
  • Reference related issues

Code Style

  • Use Yarn (the repository is configured with Yarn)
  • Run yarn lint to check ESLint rules
  • Run yarn format to apply Prettier formatting
  • Keep functions focused and testable
  • Prefer TypeScript types and clear naming

Testing

This repo does not include a test runner by default. Please ensure:

  • TypeScript checks pass: yarn typecheck
  • App runs locally: yarn dev
  • Any added tests (if you introduce a runner) include script entries in package.json

Development Setup

See README.md for development environment setup (Redis and Firebase).


Questions?


Code of Conduct

Our Standards

  • Be respectful and inclusive
  • Welcome newcomers
  • Accept constructive criticism gracefully
  • Focus on what's best for the project
  • Show empathy toward others

Unacceptable Behavior

  • Harassment or discriminatory language
  • Personal attacks
  • Trolling or insulting comments
  • Publishing others' private information
  • Any conduct inappropriate in a professional setting

Violations may result in removal from the project.


By submitting a contribution, you acknowledge that you have read and agree to these terms.