diff --git a/.github/workflows/cla-check.yml b/.github/workflows/cla-check.yml
deleted file mode 100644
index 0e30952..0000000
--- a/.github/workflows/cla-check.yml
+++ /dev/null
@@ -1,104 +0,0 @@
-name: CLA Check
-
-on:
- pull_request:
- types: [opened, synchronize, reopened]
-
-permissions:
- pull-requests: write
- contents: read
-
-jobs:
- cla-check:
- runs-on: ubuntu-latest
- if: "!contains(fromJSON('[\"app/dependabot\", \"app/renovate\", \"github-actions[bot]\"]'), github.event.pull_request.user.login)"
- steps:
- - name: Fetch & check CLA signature
- id: check
- run: |
- # Fetch signatures.json directly from raw GitHub (public repo)
- # Use wget as primary (handles 200-with-404-body better than curl)
- wget -q -O signatures.json "https://raw.githubusercontent.com/codecoradev/.github/main/.cla/signatures.json" 2>/dev/null \
- || curl -sfL "https://raw.githubusercontent.com/codecoradev/.github/main/.cla/signatures.json" -o signatures.json 2>/dev/null \
- || echo '{"signatures":[]}' > signatures.json
- # Validate JSON — if invalid, use empty
- python3 -c "import json; json.load(open('signatures.json'))" 2>/dev/null \
- || echo '{"signatures":[]}' > signatures.json
- python3 - << 'EOF'
- import json, os
-
- author = os.environ["PR_AUTHOR"]
- with open("signatures.json") as f:
- data = json.load(f)
-
- signatures = data.get("signatures", [])
- found = any(
- s.get("github_username", "").lower() == author.lower()
- for s in signatures
- )
-
- with open(os.environ["GITHUB_OUTPUT"], "a") as f:
- f.write(f"signed={'true' if found else 'false'}\n")
-
- print(f"CLA signed by @{author}: {found}")
- EOF
- env:
- PR_AUTHOR: ${{ github.event.pull_request.user.login }}
-
- - name: Comment on PR (same-repo, best effort)
- if: steps.check.outputs.signed != 'true' && github.event.pull_request.head.repo.full_name == github.repository
- continue-on-error: true
- uses: actions/github-script@v9
- with:
- script: |
- const author = '${{ github.event.pull_request.user.login }}';
- const prNumber = ${{ github.event.pull_request.number }};
-
- const body = [
- '## ⚠️ CodeCoraDev CLA Bot',
- '',
- `Hi @${author}! Thanks for your contribution.`,
- '',
- 'Before this PR can be reviewed, please sign our Contributor License Agreement:',
- '',
- '- 📋 **Individual?** → [Sign CLA Individual](https://codecoradev.github.io/cla/?type=individual)',
- '- 🏢 **Corporate?** → [Sign CLA Corporate](https://codecoradev.github.io/cla/?type=corporate)',
- '',
- '---',
- 'By signing, you agree to the terms in [CLA_INDIVIDUAL.md](https://github.com/codecoradev/.github/blob/main/CLA_INDIVIDUAL.md) or [CLA_CORPORATE.md](https://github.com/codecoradev/.github/blob/main/CLA_CORPORATE.md).',
- ].join('\n');
-
- // Find existing CLA bot comment
- const comments = await github.rest.issues.listComments({
- owner: context.repo.owner,
- repo: context.repo.repo,
- issue_number: prNumber,
- });
-
- const botComment = comments.data.find(c =>
- c.user.login === 'github-actions[bot]' &&
- c.body.includes('CodeCoraDev CLA Bot')
- );
-
- if (botComment) {
- await github.rest.issues.updateComment({
- owner: context.repo.owner,
- repo: context.repo.repo,
- comment_id: botComment.id,
- body,
- });
- } else {
- await github.rest.issues.createComment({
- owner: context.repo.owner,
- repo: context.repo.repo,
- issue_number: prNumber,
- body,
- });
- }
-
- - name: Fail if not signed
- if: steps.check.outputs.signed != 'true'
- run: |
- echo "::error title=CLA not signed::Sign the CodeCoraDev CLA at https://codecoradev.github.io/cla — once the signature PR is merged, this check turns green automatically (re-run it or wait ~1 hour)."
- echo "❌ CLA not signed by ${{ github.event.pull_request.user.login }}"
- exit 1
diff --git a/AGENTS.md b/AGENTS.md
index ee1f7dd..e6abcc0 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -18,8 +18,7 @@ code structure are in `AGENT.md`.
- Branch names start with one of `feat/ fix/ docs/ chore/ perf/ security/
refactor/ test/ build/ ci/ release/`.
- PR bodies contain `## What`, `## Why` and `## Testing`.
-- Conventional Commits; the PR title becomes the squash message. Commits are
- signed off (`git commit -s`) for the CLA.
+- Conventional Commits; the PR title becomes the squash message.
## Gotchas
diff --git a/CLA_CORPORATE.md b/CLA_CORPORATE.md
deleted file mode 100644
index c69cc0b..0000000
--- a/CLA_CORPORATE.md
+++ /dev/null
@@ -1,154 +0,0 @@
-# CodeCoraDev Corporate Contributor License Agreement
-
-Based on the Apache Software Foundation Corporate CLA.
-
-This agreement is for **entities** (companies, organizations) that submit
-contributions to CodeCoraDev projects on behalf of their employees or contractors.
-
----
-
-## Definitions
-
-- **"You"** / **"Corporation"** — the entity submitting the Contribution.
-- **"Contribution"** — any original work of authorship, including source code,
- documentation, tests, configurations, design assets, or other materials that
- are intentionally submitted by the Corporation to CodeCoraDev for inclusion in
- any CodeCoraDev-owned project.
-- **"CodeCoraDev"** — the project maintainer (Anaz S. Aji / @ajianaz), and their
- successors, assigns, affiliates, and any legal entity they establish to operate
- the Project, operating the repositories under the
- [github.com/codecoradev](https://github.com/codecoradev) organization.
-- **"Project"** — any open-source project maintained by CodeCoraDev.
-- **"Designated Individual(s)"** — the employee(s) or agent(s) authorized to
- submit Contributions on behalf of the Corporation.
-
----
-
-## 1. Copyright License
-
-Corporation grants CodeCoraDev a **perpetual, worldwide, non-exclusive, no-charge,
-royalty-free, irrevocable** copyright license to reproduce, prepare derivative
-works of, publicly display, publicly perform, sublicense (including under
-proprietary and commercial licenses), and distribute the Contributions of the
-Designated Individual(s).
-
-For the avoidance of doubt, CodeCoraDev may exercise this license under the
-Project's current license, or under any other license of CodeCoraDev's choosing,
-including but not limited to proprietary, commercial, or copyleft licenses.
-
-## 2. Patent License
-
-Corporation grants CodeCoraDev a **perpetual, worldwide, non-exclusive, no-charge,
-royalty-free, irrevocable** patent license to make, have made, use, offer to sell,
-sell, import, and otherwise transfer the Contributions of the Designated
-Individual(s), where such patent license applies only to those patent claims
-licensable by Corporation that are necessarily infringed by the Contribution(s)
-alone or by combination of the Contribution(s) with the Project.
-
-If any entity institutes patent litigation against Corporation or any other entity
-(including a cross-claim or counterclaim in a lawsuit) alleging that the
-Contribution, or the Project to which the Contribution was submitted, constitutes
-direct or contributory patent infringement, then **all patent licenses granted
-under this Agreement to that entity** shall terminate as of the date such
-litigation is filed.
-
-This patent license does not extend to any patents of third parties. Corporation
-makes no representation that Contributions are free from infringement of
-third-party patents.
-
-## 3. Authority
-
-Corporation represents that each Designated Individual is authorized to submit
-Contributions on Corporation's behalf, and that Corporation has the right to grant
-the licenses in Sections 1 and 2.
-
-## 4. Original Work
-
-Corporation represents that each Contribution is the original work of the
-Designated Individual(s). Corporation represents that Contribution submissions
-include complete details of any third-party license or other restriction
-(including, but not limited to, related patents and trademarks) of which
-Corporation knows or has reason to know and which are associated with any part of
-the Contributions.
-
-## 5. No Compensation
-
-Corporation acknowledges that CodeCoraDev is a community-driven, open-source
-project. **All contributions are voluntary and unpaid.** CodeCoraDev does not
-offer bounties, payments, equity, or other compensation for contributions unless
-explicitly stated in a separate written agreement.
-
-Nothing in this Agreement creates an employment, agency, partnership, or joint
-venture relationship between Corporation and CodeCoraDev. Corporation acknowledges
-that CodeCoraDev may commercially exploit the Project (including through
-proprietary or cloud-based products) without any obligation of accounting,
-profit-sharing, or additional compensation to Corporation.
-
-## 6. Moral Rights
-
-To the extent permitted by applicable law, Corporation waives any moral rights of
-its Designated Individual(s) to the extent necessary to enable CodeCoraDev to
-exercise the licenses granted in Section 1, and Corporation agrees not to assert
-moral rights against CodeCoraDev or its licensees.
-
-## 7. No Obligation
-
-CodeCoraDev is not obligated to accept, use, or maintain any Contribution.
-CodeCoraDev reserves the right to remove, modify, or relicense Contributions at
-its discretion.
-
-## 8. Disclaimer
-
-Except for the express warranties in Sections 3 and 4, Corporation provides
-Contributions on an **"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND**, either express or implied, including, without limitation, any warranties
-or conditions of title, non-infringement, merchantability, or fitness for a
-particular purpose.
-
-In no event shall CodeCoraDev be liable for any direct, indirect, incidental,
-special, exemplary, or consequential damages arising out of or relating to this
-Agreement or the use of Contributions, even if CodeCoraDev has been advised of the
-possibility of such damages.
-
-## 9. Governing Law and Dispute Resolution
-
-(a) This Agreement shall be governed by and construed in accordance with the laws
-of the **Republic of Indonesia**, without regard to its conflict of laws provisions.
-
-(b) Any dispute, controversy, or claim arising out of or relating to this
-Agreement, including the breach, termination, or validity thereof, shall be
-finally resolved by arbitration administered by the **Singapore International
-Arbitration Centre (SIAC)** in accordance with the SIAC Rules of Arbitration in
-force at the time of the commencement of the arbitration. The seat of arbitration
-shall be Singapore. The number of arbitrators shall be one. The language of the
-arbitration shall be English.
-
-(c) Notwithstanding the foregoing, CodeCoraDev may seek interim or injunctive
-relief in any court of competent jurisdiction to protect its intellectual property
-rights.
-
-(d) Judgment upon the award rendered by the arbitrator(s) may be entered in any
-court having jurisdiction thereof.
-
----
-
-## Signing
-
-Corporation may sign this agreement electronically through CLAassistant or
-equivalent system when configured on the repository.
-
-For offline signing, contact: hello@codecora.dev
-
----
-
-## Miscellaneous
-
-This Agreement constitutes the entire agreement between the parties regarding its
-subject matter. If any provision is held unenforceable, the remainder shall remain
-in effect. CodeCoraDev may amend this Agreement; amended terms apply prospectively
-to new Contributions. This Agreement may be assigned by CodeCoraDev to any
-successor or affiliate. Grants made prior to termination survive in perpetuity.
-
----
-
-*Version 1.1 — August 2026*
diff --git a/CLA_INDIVIDUAL.md b/CLA_INDIVIDUAL.md
deleted file mode 100644
index 540ad10..0000000
--- a/CLA_INDIVIDUAL.md
+++ /dev/null
@@ -1,162 +0,0 @@
-# CodeCoraDev Individual Contributor License Agreement
-
-Based on the Apache Software Foundation Individual CLA.
-
-Thank you for your interest in CodeCoraDev projects. This agreement clarifies the
-terms under which you contribute code, documentation, and other materials to
-CodeCoraDev-owned open-source projects.
-
-This is a **license agreement**, not a copyright assignment. You retain ownership
-of your contributions.
-
----
-
-## Definitions
-
-- **"You"** — the individual submitting the Contribution.
-- **"Contribution"** — any original work of authorship, including source code,
- documentation, tests, configurations, design assets, or other materials that
- are intentionally submitted by You to CodeCoraDev for inclusion in any
- CodeCoraDev-owned project.
-- **"CodeCoraDev"** — the project maintainer (Anaz S. Aji / @ajianaz), and their
- successors, assigns, affiliates, and any legal entity they establish to operate
- the Project, operating the repositories under the
- [github.com/codecoradev](https://github.com/codecoradev) organization.
-- **"Project"** — any open-source project maintained by CodeCoraDev, including but
- not limited to Cora, Uteke, Trapfall, Rungu, and others.
-
----
-
-## 1. Copyright License
-
-You grant CodeCoraDev a **perpetual, worldwide, non-exclusive, no-charge,
-royalty-free, irrevocable** copyright license to reproduce, prepare derivative
-works of, publicly display, publicly perform, sublicense (including under
-proprietary and commercial licenses), and distribute your Contributions and such
-derivative works.
-
-For the avoidance of doubt, CodeCoraDev may exercise this license under the
-Project's current license, or under any other license of CodeCoraDev's choosing,
-including but not limited to proprietary, commercial, or copyleft licenses.
-
-## 2. Patent License
-
-You grant CodeCoraDev a **perpetual, worldwide, non-exclusive, no-charge,
-royalty-free, irrevocable** patent license to make, have made, use, offer to sell,
-sell, import, and otherwise transfer your Contributions, where such patent license
-applies only to those patent claims licensable by you that are necessarily
-infringed by your Contribution(s) alone or by combination of your Contribution(s)
-with the Project to which such Contribution(s) was submitted.
-
-If any entity institutes patent litigation against you or any other entity
-(including a cross-claim or counterclaim in a lawsuit) alleging that your
-Contribution, or the Project to which you submitted the Contribution, constitutes
-direct or contributory patent infringement, then **all patent licenses granted
-under this Agreement to that entity** shall terminate as of the date such
-litigation is filed.
-
-This patent license is personal to You and does not extend to any patents of
-third parties. You make no representation that your Contributions are free from
-infringement of third-party patents.
-
-## 3. Original Work and Employer Authorization
-
-You represent that each of your Contributions is your original work. You represent
-that your Contribution submissions include complete details of any third-party
-license or other restriction (including, but not limited to, related patents and
-trademarks) of which you are personally aware and which are associated with any
-part of your Contributions.
-
-If you are employed, you represent that your employer has consented to or does not
-claim ownership of your Contributions, or that you are submitting with your
-employer's authorization.
-
-## 4. No Compensation
-
-You acknowledge that CodeCoraDev is a community-driven, open-source project
-maintained by a solo founder. **All contributions are voluntary and unpaid.**
-CodeCoraDev does not offer bounties, payments, equity, or other compensation for
-contributions unless explicitly stated in a separate written agreement.
-
-Nothing in this Agreement creates an employment, agency, partnership, or joint
-venture relationship between You and CodeCoraDev. You acknowledge that
-CodeCoraDev may commercially exploit the Project (including through proprietary
-or cloud-based products) without any obligation of accounting, profit-sharing,
-or additional compensation to You.
-
-## 5. Moral Rights
-
-You retain all moral rights in your Contributions. However, you waive any moral
-rights to the extent necessary to enable CodeCoraDev to exercise the licenses
-granted in Section 1, including the right to make derivative works and to
-distribute Contributions under proprietary or commercial licenses, and you agree
-not to assert moral rights against CodeCoraDev or its licensees.
-
-## 6. No Obligation
-
-CodeCoraDev is not obligated to accept, use, or maintain any Contribution.
-CodeCoraDev reserves the right to remove, modify, or relicense Contributions at
-its discretion.
-
-## 7. Disclaimer
-
-Except for the express warranties in Sections 3 and 4, you provide your
-Contributions on an **"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND**, either express or implied, including, without limitation, any warranties
-or conditions of title, non-infringement, merchantability, or fitness for a
-particular purpose.
-
-In no event shall CodeCoraDev be liable for any direct, indirect, incidental,
-special, exemplary, or consequential damages arising out of or relating to this
-Agreement or the use of your Contributions, even if CodeCoraDev has been advised
-of the possibility of such damages.
-
-## 8. Governing Law and Dispute Resolution
-
-(a) This Agreement shall be governed by and construed in accordance with the laws
-of the **Republic of Indonesia**, without regard to its conflict of laws provisions.
-
-(b) Any dispute, controversy, or claim arising out of or relating to this
-Agreement, including the breach, termination, or validity thereof, shall be
-finally resolved by arbitration administered by the **Singapore International
-Arbitration Centre (SIAC)** in accordance with the SIAC Rules of Arbitration in
-force at the time of the commencement of the arbitration. The seat of arbitration
-shall be Singapore. The number of arbitrators shall be one. The language of the
-arbitration shall be English.
-
-(c) Notwithstanding the foregoing, CodeCoraDev may seek interim or injunctive
-relief in any court of competent jurisdiction to protect its intellectual property
-rights.
-
-(d) Judgment upon the award rendered by the arbitrator(s) may be entered in any
-court having jurisdiction thereof.
-
----
-
-## Signing
-
-By submitting a pull request, issue, code contribution, or other material to any
-CodeCoraDev repository, **and including a `Signed-off-by:` line in your commit
-message**, you agree to the terms of this agreement. The `Signed-off-by:` line
-shall be in the format: `Signed-off-by: Your Name ` and
-constitutes your electronic signature.
-
-If a Contributor License Agreement bot (e.g., CLAassistant) is configured on the
-repository, you may be asked to sign this agreement electronically through that
-system.
-
----
-
-## Miscellaneous
-
-This Agreement constitutes the entire agreement between the parties regarding its
-subject matter. If any provision is held unenforceable, the remainder shall remain
-in effect. CodeCoraDev may amend this Agreement; amended terms apply prospectively
-to new Contributions. This Agreement may be assigned by CodeCoraDev to any
-successor or affiliate. Grants made prior to termination survive in perpetuity.
-You may terminate this Agreement with 30 days written notice; existing grants
-survive termination.
-
----
-
-*Version 1.1 — August 2026*
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 0297831..2b38c3d 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -6,10 +6,6 @@ This document helps you decide *whether* and *how* to contribute in a way that's
> ### 📋 Contribution Terms
>
-> By submitting a contribution, you agree to the terms in [CLA_INDIVIDUAL.md](CLA_INDIVIDUAL.md) (for individuals) or [CLA_CORPORATE.md](CLA_CORPORATE.md) (for employees contributing on behalf of their employer).
->
-> **TL;DR:** You retain copyright. You grant CodeCoraDev a license to use your contribution — including in commercial products. Contributions are voluntary and unpaid. If you prefer not to sign, that's okay — but your PR cannot be merged.
->
> All commits must include `Signed-off-by: Your Name ` (same format as `git commit -s`).
## How this project is run
@@ -296,10 +292,8 @@ work), you agree that:
does not offer bounties, payments, or equity for contributions unless
explicitly stated in a separate written agreement.
-2. **License Grant:** You grant CodeCoraDev a perpetual, worldwide,
- non-exclusive, royalty-free license to use, modify, and distribute your
- contribution under the project's open-source license and any future license
- that CodeCoraDev may adopt (including proprietary/commercial licenses).
+2. **License Grant:** You license your contribution to the project under the
+ Apache-2.0 license (inbound = outbound); no copyright assignment and no CLA.
3. **Original Work:** Your contribution is your original work or properly
attributed third-party work under a compatible license.
@@ -307,11 +301,6 @@ work), you agree that:
4. **No Obligation:** CodeCoraDev is not obligated to accept, use, or maintain
any contribution.
-A Contributor License Agreement (CLA) is required for contributions to be
-merged. See [CLA_INDIVIDUAL.md](CLA_INDIVIDUAL.md) or
-[CLA_CORPORATE.md](CLA_CORPORATE.md) for details.
-
## License
-By contributing you agree your work is licensed under [Apache-2.0](LICENSE).
-A CLA is required — see [CLA_INDIVIDUAL.md](CLA_INDIVIDUAL.md).
+Contributions are licensed to the project under the Apache-2.0 license (inbound = outbound). No additional agreement is required.