Contributing to Carbonara
November 2, 2025 ยท View on GitHub
Thank you for your interest in contributing to Carbonara! This document outlines the process for contributing to our project.
Contributor License Agreement
By contributing to Carbonara, you agree to the following terms:
License Grant
You hereby grant to the Carbonara team a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable license to use, reproduce, modify, merge, publish, distribute, sublicense, and/or sell copies of your contributions, and to permit persons to whom the Carbonara team furnishes such contributions to do so, subject to the following conditions:
-
Public License: Your contributions will be made available to the public under the GNU Affero General Public License version 3.0 or later (AGPL-3.0-or-later).
-
Dual Licensing Rights: You grant the Carbonara team the right to license your contributions under additional terms, including but not limited to the BSD 3-Clause License, for commercial and other purposes.
-
Copyright Retention: You retain copyright ownership of your contributions.
-
Representation: You represent that you have the right to grant these licenses and that your contributions are your original work or that you have the right to submit them under these terms.
How to Agree to the CLA
By submitting a pull request to this repository, you automatically agree to the terms of this Contributor License Agreement. Your first pull request will serve as your signature to this agreement.
Development Setup
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/carbonara.git - Install dependencies:
npm install - Create a new branch:
git checkout -b feature/your-feature-name - Make your changes
- Run tests:
npm test - Build the project:
npm run build - Commit your changes:
git commit -m "Add your feature" - Push to your fork:
git push origin feature/your-feature-name - Create a pull request
Code Style
- Follow the existing code style and conventions
- Use TypeScript for all new code
- Add appropriate tests for new functionality
- Update documentation as needed
- Ensure all tests pass before submitting
Pull Request Process
- Ensure your pull request includes the required checklist items (see
.github/pull_request_template.md) - Provide a clear description of your changes
- Link any related issues
- Request review from maintainers
- Address any feedback promptly
Questions?
If you have questions about contributing or the CLA, please open an issue or contact the maintainers.
Note: This project uses dual licensing. While the public project is licensed under AGPL-3.0-or-later, the Carbonara team reserves the right to offer alternative licensing terms for commercial use.