Thank you for your interest in contributing!
All contributions are accepted only under the Contributor License Agreement. This is what allows the project to remain dual-licensed (copyleft plus a commercial license): the CLA grants Trust Stackers the right to relicense contributions. Opening a pull request constitutes your acceptance.
The requirement is enforced on every pull request (currently by maintainer review; an automated check will be added).
The project is dual-licensed, and the commercial license can only cover code that Trust Stackers is entitled to relicense. Therefore:
- All runtime dependencies MUST be permissively licensed — MIT, Apache-2.0, BSD, or ISC.
- No copyleft dependencies (GPL, AGPL, LGPL, SSPL, EUPL) may be added to
dependencies. If a feature needs one, raise an issue first: it would make the commercial branch unlicensable for the whole repository. devDependenciesare not redistributed and are held to a looser standard, but ask first if you are unsure.- CI runs a dependency-license check and will fail on a new copyleft runtime dependency.
npm ci # reproducible install from the committed lockfile
npm run typecheck # if defined
npm test # if definedSee package.json for the exact scripts in this repository.
- Open an issue describing the change (bug, feature, documentation).
- Fork the repository and create a branch.
- Make a focused change; add or update tests.
- Run the repository's gates (typecheck and tests) before opening the PR.
- Open the pull request and describe the motivation.
- TypeScript strict mode is on; keep
tsc --noEmitclean. - Match existing naming and module structure.
- Prefer small, typed, exported functions; avoid new global state.
By contributing, you agree that your contribution is licensed under the same dual-license terms as the rest of the project (see LICENSE, COMMERCIAL-LICENSE.md and CLA.md).
If you contribute to a directory carrying its own license (for example
examples/ in the agent app, which is Apache-2.0), your contribution there is
accepted under that license as well; the CLA still applies so the project can
relicense.