# Contributing to InvoiceShelf

Thank you for your interest in contributing to InvoiceShelf! We welcome contributions from the community and appreciate your effort to improve this project.

## How to Contribute

1. **Fork the repository** and create a new branch from `master`
2. **Make your changes** — follow the existing code style and conventions
3. **Write tests** if applicable
4. **Run the test suite** to ensure nothing is broken
5. **Submit a Pull Request** with a clear description of the changes

## Development Setup

Please refer to the [README](README.md) for instructions on setting up the development environment.

## Code Style

- **PHP**: Follow PSR-12 standards. Run `vendor/bin/pint --dirty` before committing
- **TypeScript/Vue**: Follow the existing patterns in `resources/scripts/`
- **Tests**: Every new feature or bug fix should include tests

## Contributor License Agreement (CLA)

By submitting a pull request, patch, commit, or any other contribution (collectively, "Contribution") to this repository, you agree to the following terms:

### Grant of Rights

You hereby grant to **Ideologix Media Dooel** (the maintainer and owner of InvoiceShelf), and to recipients of software distributed by Ideologix Media Dooel, a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable license to:

- Reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute your Contribution and any derivative works thereof
- Use your Contribution for any purpose, including but not limited to incorporating it into InvoiceShelf or any other product or service
- Relicense your Contribution under any license, including proprietary licenses

### Copyright Assignment

You agree that your Contribution, once merged, becomes part of the InvoiceShelf project and that **Ideologix Media Dooel** retains full rights to the combined work, including the right to:

- Offer the software under dual licensing (open-source and commercial)
- Enforce the license terms against third parties
- Make licensing decisions without requiring additional permission from contributors

### Representations

By submitting a Contribution, you represent that:

1. You have the legal right to grant the above license
2. Your Contribution is your original work, or you have sufficient rights to submit it
3. Your Contribution does not violate any third-party intellectual property rights
4. You understand that your Contribution is provided voluntarily and is not confidential

### Scope

This agreement applies to all Contributions made to any repository owned by InvoiceShelf / Ideologix Media Dooel, including but not limited to code, documentation, translations, and design assets.

## Reporting Issues

- Use [GitHub Issues](https://github.com/InvoiceShelf/InvoiceShelf/issues) for bug reports and feature requests
- Include steps to reproduce for bug reports
- Check existing issues before creating a new one

## Questions?

If you have questions about contributing, feel free to open a discussion on GitHub.

---

*InvoiceShelf is maintained by [Ideologix Media Dooel](https://ideologix.com/) and licensed under the [AGPL-3.0 License](LICENSE).*
