diff --git a/.github/workflows/cla.yml b/.github/workflows/cla.yml new file mode 100644 index 0000000..d5a3aa7 --- /dev/null +++ b/.github/workflows/cla.yml @@ -0,0 +1,34 @@ +name: CLA + +# Every external contributor signs CLA.md once, by commenting on their pull +# request. Signatures are committed to the `cla-signatures` branch of this +# repository, so no third-party service or extra token is involved. +on: + issue_comment: + types: [created] + pull_request_target: + types: [opened, closed, synchronize] + +permissions: + actions: write + contents: write + pull-requests: write + statuses: write + +jobs: + cla: + if: >- + (github.event_name == 'pull_request_target') || + (github.event.issue.pull_request && + (github.event.comment.body == 'recheck' || + github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA')) + runs-on: ubuntu-latest + steps: + - uses: contributor-assistant/github-action@v2.6.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + path-to-signatures: signatures/version1/cla.json + path-to-document: https://github.com/objectstack-ai/bridges/blob/main/CLA.md + branch: cla-signatures + allowlist: dependabot[bot],renovate[bot],objectstack-fleet[bot],claude[bot] diff --git a/CLA.md b/CLA.md new file mode 100644 index 0000000..a4e2ed5 --- /dev/null +++ b/CLA.md @@ -0,0 +1,63 @@ +# ObjectStack Contributor License Agreement + +Version 1.0 + +Thank you for contributing to `objectstack-ai/bridges` (the "Project"), maintained by +ObjectStack ("we", "us"). This agreement makes clear the terms under which we accept your +contributions. It protects you and us, and it lets the Project keep evolving its licensing. +You keep the copyright in everything you contribute. + +"You" means the individual or legal entity that submits a Contribution. "Contribution" means +any work of authorship, including code, documentation and other material, that you submit to +the Project in any form (pull request, patch, issue attachment or otherwise). + +## 1. Copyright license + +You grant us, and recipients of software we distribute, a perpetual, worldwide, +non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare +derivative works of, publicly display, publicly perform, sublicense and distribute your +Contributions and such derivative works, under any license terms, including license terms +other than the license the Project uses at the time you contribute. + +## 2. Patent license + +You grant us, and recipients of software we distribute, a perpetual, worldwide, +non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent +license to make, have made, use, offer to sell, sell, import and otherwise transfer your +Contributions, where the license covers only patent claims licensable by you that are +necessarily infringed by your Contribution alone or by its combination with the Project. If +anyone institutes patent litigation alleging that your Contribution or the Project +constitutes patent infringement, the patent licenses granted to that party under this +agreement end on the date the litigation is filed. + +## 3. You keep your rights + +Except for the licenses granted in sections 1 and 2, you reserve all right, title and +interest in and to your Contributions. You may use your Contributions in any way you like. + +## 4. Your representations + +You represent that: + +1. You are legally entitled to grant the licenses above. +2. If your employer has rights to intellectual property that you create, you have received + permission to make Contributions on its behalf, or your employer has waived such rights + for your Contributions. +3. Each Contribution is your original creation, or you have identified in the Contribution + any third-party material, its license and its origin. +4. You will tell us if any of these representations stop being accurate. + +## 5. No warranty and no obligation + +Unless required by applicable law or agreed to in writing, you provide your Contributions on +an "AS IS" basis, without warranties or conditions of any kind. We are not obliged to use +any Contribution. + +## 6. How to sign + +On your first pull request, a bot asks you to sign. Reply on the pull request with this exact +sentence: + +> I have read the CLA Document and I hereby sign the CLA + +Your signature is recorded once and covers all your future Contributions to the Project. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..a4583d1 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,15 @@ +# Contributing + +Bug reports and pull requests are welcome — integrations break when vendors +change their APIs, and reports from people running a bridge are the fastest way +we find out. + +1. Read [AGENTS.md](AGENTS.md): the rules every bridge follows (standard + protocols only toward the platform, nothing stored about the customer, no + payload logs). +2. Open a pull request against `main` with tests next to the code and a + changeset (`pnpm changeset`) for every published package you change. +3. **Sign the Contributor License Agreement.** On your first pull request the + CLA bot posts a comment; reply with the sentence it asks for. One signature + covers all your later contributions. The agreement is in [CLA.md](CLA.md): + you keep the rights to your work and grant us a license to distribute it. diff --git a/README.md b/README.md index 9ca443e..0c876b6 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,10 @@ pnpm test Node 22+, pnpm 10. +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md). External contributors sign the [CLA](CLA.md) once, by replying to the bot on their first pull request. + ## License Apache-2.0