Updates CLAUDE.md to reflect the actual current state of the codebase: rewrites the Frontend section to point at main.ts / features-folder layout / @ alias (the previous text still pointed at the deleted v1 main.js / admin-router.js / admin/stores paths), expands Backend Patterns with the FileDisk + disk-assignments model and the per-user 'default' language sentinel, and adds two new sections — PDF Font System (the on-demand Font Packages mechanism plus the two non-obvious dompdf constraints around variable fonts and font-family fallback) and CSS Theme Tokens (the @theme inline registration model, all currently-defined token categories, the [data-theme=dark] attribute switch, the two-step ritual for adding a new token, and the no-hardcoded-values convention). Cleans up two scripts-v2 leftovers from the rename refactor: resources/css/invoiceshelf.css had four @source directives — two pointing at the long-deleted scripts-v2/ directory and one pointing at scripts/**/*.js (the new directory has zero .js files, only .vue and .ts), collapsed down to the two correct ones. CONTRIBUTING.md still pointed contributors at 'patterns in resources/scripts-v2/' — fixed to resources/scripts/.
3.1 KiB
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
- Fork the repository and create a new branch from
master - Make your changes — follow the existing code style and conventions
- Write tests if applicable
- Run the test suite to ensure nothing is broken
- Submit a Pull Request with a clear description of the changes
Development Setup
Please refer to the README for instructions on setting up the development environment.
Code Style
- PHP: Follow PSR-12 standards. Run
vendor/bin/pint --dirtybefore 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:
- You have the legal right to grant the above license
- Your Contribution is your original work, or you have sufficient rights to submit it
- Your Contribution does not violate any third-party intellectual property rights
- 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 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 and licensed under the AGPL-3.0 License.