First off, thank you for considering contributing to Quatrain Core! It's people like you who make this modular BaaS framework a great tool for the developer community.
As of January 1st, 2026, Quatrain Core has transitioned from the MIT License to the GNU Affero General Public License v3.0 (AGPL-3.0-only).
By contributing to this project, you agree that:
- Your contributions will be licensed under the AGPL-3.0-only.
- You represent that you have the right to license your contribution under these terms.
- You acknowledge that Quatrain Technologies remains the copyright holder and may offer commercial licenses for the software to organizations requiring non-copyleft terms.
We chose the AGPL to ensure that improvements made to the framework—even when used as a network service—are shared back with the community. For more details, please see our LICENSE.md.
- Use the GitHub Issue Tracker.
- Describe the bug, provide steps to reproduce, and include environment details (Node version, OS, etc.).
- Open an issue to discuss the feature before implementation.
- Explain why the enhancement would be useful to the broader Quatrain ecosystem.
- Fork the repo and create your branch from
main. - Install dependencies using
yarn install. - Write your code. Ensure you follow the existing TypeScript patterns and modular structure.
- Add tests. We use Jest for testing. Ensure your changes don't break existing functionality by running
yarn testin the relevant package. - Update documentation. If you change an API or add a feature, update the relevant
README.mdwithin the package. - Submit the PR. Provide a clear description of the changes.
Quatrain Core is a monorepo managed with Yarn workspaces.
- Building: Run
yarn buildfrom the root or within a specific package. - Testing: Run
yarn test-cito run tests across all packages. - Linting: Ensure your code follows the project's TypeScript configuration.
- TypeScript: All code must be written in TypeScript.
- Modular Design: Keep adapters decoupled from the core logic.
- Clean Code: Use descriptive variable names and keep functions focused.
If you have questions about the license change or technical implementation, feel free to open a discussion or contact the maintainers at developers@quatrain.com.
Copyright © 2024-2026 Quatrain Technologies. All Rights Reserved.