From dab2324776717e3c679bfc66618918f6e7343b6d Mon Sep 17 00:00:00 2001 From: Binay <150876063+bkd-dotcom@users.noreply.github.com> Date: Mon, 31 Aug 2026 20:49:56 -0400 Subject: [PATCH] chore: relicense to Apache-2.0 (Signetry goes open core) Signetry moves to an open-core model. This repository is part of the integration surface, so it is now Apache-2.0: use it, fork it, ship it commercially, no permission needed. The engine (Signetry/core) is source-available under BUSL-1.1 and converts to Apache-2.0 on 2030-08-31. Until now every repo in the org was "All Rights Reserved" with no LICENSE file, which GitHub reports as no license at all. That is the strictest possible default: it blocks corporate evaluation outright and makes outside contribution legally murky. This fixes that. What changed: - LICENSE (Apache-2.0) added, so GitHub detects and displays it. - README, CONTRIBUTING, CLA, CONTRIBUTORS and the CLA bot comment no longer claim the project is "not open source" or withhold usage rights. - The CLA is kept, because open core means code moves across the licence line and relicensing needs those rights. Its fallback licence grant is now non-exclusive: the previous *exclusive* grant would have stripped contributors of the right to use their own contribution, contradicting the rights the LICENSE grants everyone. The CLA text is now identical across all Signetry repos so the legal terms cannot drift per-repo again. - Community health files (SECURITY.md, CODE_OF_CONDUCT.md, issue templates) where they were missing. No functional or API change. --- .github/ISSUE_TEMPLATE/bug_report.yml | 76 ++++++++ .github/ISSUE_TEMPLATE/config.yml | 11 ++ .github/ISSUE_TEMPLATE/feature_request.yml | 64 +++++++ .github/workflows/cla.yml | 9 +- CHANGELOG.md | 30 +++ CLA.md | 38 ++-- CONTRIBUTING.md | 144 +++++++++++++-- CONTRIBUTORS.md | 14 +- LICENSE | 202 +++++++++++++++++++++ README.md | 15 +- signetry/.claude-plugin/plugin.json | 2 +- 11 files changed, 568 insertions(+), 37 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml create mode 100644 LICENSE diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..f8c6ae7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,76 @@ +name: Bug report +description: Report a problem with the Signetry Claude Code plugin. +labels: [bug] +body: + - type: markdown + attributes: + value: | + For **security vulnerabilities** do NOT use this form — see + [SECURITY.md](https://github.com/Signetry/claude-code/security/policy). + Governance-logic bugs (contract evaluation, guard decisions, verifier, + receipts) belong in [signetry-core](https://github.com/Signetry/core/issues) — + this plugin never reimplements policy, it pins `signetry-core`. + - type: input + id: version + attributes: + label: Plugin version + description: From `signetry/.claude-plugin/plugin.json`, or the branch/commit you loaded. + placeholder: "0.3.0" + validations: + required: true + - type: input + id: env + attributes: + label: Environment + description: OS, Claude Code version, and the output of `python3 --version`. + placeholder: "macOS 15.3 · Claude Code 2.1.0 · Python 3.12.4" + validations: + required: true + - type: dropdown + id: surface + attributes: + label: Which part misbehaved + options: + - PreToolUse guard (signetry-guard.sh) + - SessionStart hook / activation (signetry-session-start.sh) + - Python/venv resolution (signetry-lib.sh) + - MCP server (signetry-mcp.sh) + - /signetry:admit skill + - Plugin install / marketplace manifest + - Something else + validations: + required: true + - type: textarea + id: what-happened + attributes: + label: What happened + description: | + Expected vs actual. If the guard allowed something it should have blocked (or + blocked something it should have allowed), say which file path or command, and + include the relevant part of your `.signetry/admission.yaml`. + validations: + required: true + - type: textarea + id: repro + attributes: + label: Reproduction + description: | + Ideally reproduce it through the real hook without an interactive session: + `bash demos/try-guard.sh`, or pipe the tool-call JSON straight in — + `printf '%s' '{"tool_name":"Write","tool_input":{"file_path":"deploy.yml"}}' | bash signetry/hooks/signetry-guard.sh` + render: shell + validations: + required: true + - type: textarea + id: output + attributes: + label: Hook output / session transcript + description: The SessionStart status line and any hook output. Redact secrets and paths you would rather not share. + render: text + - type: checkboxes + id: checks + attributes: + label: Checks + options: + - label: The SessionStart line said Signetry was **active** (not `INACTIVE`) when this happened. + - label: I confirmed the same behaviour is not already fixed on `main`. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..842ab4a --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,11 @@ +blank_issues_enabled: true +contact_links: + - name: Report a security vulnerability (private) + url: https://github.com/Signetry/claude-code/security/advisories/new + about: Please report vulnerabilities privately — do not open a public issue. + - name: Governance logic (signetry-core) + url: https://github.com/Signetry/core/issues + about: Bugs in the contract, guard decisions, verifier, receipts, or pipeline belong in signetry-core. + - name: Platform overview and licensing + url: https://github.com/Signetry/signetry + about: How the pieces fit together, and the open-core licensing model. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..6fab651 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,64 @@ +name: Feature request +description: Suggest an improvement to the Signetry Claude Code plugin. +labels: [enhancement] +body: + - type: markdown + attributes: + value: | + This repository is the **Claude Code integration surface**: the hooks, the + hook matchers, Python/venv resolution, the MCP launcher, the + `/signetry:admit` skill, and the manifests. + + Changes to the governance logic itself — what a contract can express, how + authority is earned, the verifier, receipt signing — belong in + [signetry-core](https://github.com/Signetry/core/issues). + - type: textarea + id: problem + attributes: + label: The problem + description: What are you trying to do, and where does the plugin get in the way today? + validations: + required: true + - type: textarea + id: proposal + attributes: + label: What you would like to happen + description: If it affects a hook, a matcher, or a manifest field, say which. + validations: + required: true + - type: dropdown + id: surface + attributes: + label: Which part would change + options: + - PreToolUse guard (signetry-guard.sh) + - SessionStart hook / activation (signetry-session-start.sh) + - Hook matchers or timeouts (hooks.json) + - Python/venv resolution (signetry-lib.sh) + - MCP server (signetry-mcp.sh) + - /signetry:admit skill + - Plugin install / marketplace manifest + - Docs + - Not sure + validations: + required: true + - type: textarea + id: alternatives + attributes: + label: Alternatives you considered + description: Including whether your repo's `.signetry/admission.yaml` could already express this. + - type: checkboxes + id: invariants + attributes: + label: Invariants this preserves + description: The plugin holds these regardless of configuration. Confirm your proposal does not break them. + options: + - label: The decision stays deterministic — the model never approves its own change. + - label: Admission still fails **closed**; the soft guard may fail open only with a loud `INACTIVE`. + - label: "`auto_merge` stays false — a human merges." + - type: checkboxes + id: contribute + attributes: + label: Contributing + options: + - label: I would be willing to open a PR for this (see [CONTRIBUTING.md](https://github.com/Signetry/claude-code/blob/main/CONTRIBUTING.md)). diff --git a/.github/workflows/cla.yml b/.github/workflows/cla.yml index 9912172..a20e3a3 100644 --- a/.github/workflows/cla.yml +++ b/.github/workflows/cla.yml @@ -4,7 +4,12 @@ name: CLA # before their pull request can be merged. Runs entirely in this repo's Actions — # no third-party OAuth app. Signatures are recorded in signatures/cla.json on this # repo, so there is a durable, auditable record that each contributor assigned -# copyright/ownership of their contribution to the Owner. +# copyright in their contribution to the Owner. +# +# This repo is Apache-2.0, and the CLA does not take those rights away from a +# contributor. It exists because Signetry is open core: an adapter contributed +# here may later move into the BUSL-1.1 engine (Signetry/core), and that needs +# relicensing rights we cannot get retroactively from every past contributor. # # A contributor signs by commenting the exact statement below on their PR: # I have read the CLA Document and I hereby sign the CLA @@ -48,7 +53,7 @@ jobs: path-to-document: "https://github.com/Signetry/claude-code/blob/main/CLA.md" branch: "cla-signatures" allowlist: "dependabot[bot],bkd-dotcom" - custom-notsigned-prcomment: "Thanks for your contribution! Before it can be merged, please read the **[Contributor License Agreement](https://github.com/Signetry/claude-code/blob/main/CLA.md)** — Signetry is **All Rights Reserved**, and by signing you assign copyright/ownership of your contribution to the Owner (you may not use, sell, or commercialize it yourself). To agree, reply with exactly:" + custom-notsigned-prcomment: "Thanks for your contribution! Before it can be merged, please read the **[Contributor License Agreement](https://github.com/Signetry/claude-code/blob/main/CLA.md)**. This repo is **Apache-2.0** — signing does not take those rights away from you. The CLA assigns copyright in your contribution to the Owner so it can be relicensed if it later moves into the BUSL-1.1 engine ([open-core model](https://github.com/Signetry/signetry/blob/main/LICENSING.md)). To agree, reply with exactly:" custom-pr-sign-comment: "I have read the CLA Document and I hereby sign the CLA" custom-allsigned-prcomment: "All contributors have signed the CLA. ✅" lock-pullrequest-aftermerge: false diff --git a/CHANGELOG.md b/CHANGELOG.md index f935421..690bcad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,36 @@ Follows [Keep a Changelog](https://keepachangelog.com/) / [SemVer](https://semve ## [Unreleased] +### Changed — the project is now open source (Apache-2.0) + +- Signetry moved to an **open-core** model. This repository is the integration + surface, so it is now **Apache-2.0**: use it, fork it, ship it commercially, no + strings. The engine ([`Signetry/core`](https://github.com/Signetry/core)) is + source-available under BUSL-1.1 and converts to Apache-2.0 on 2030-08-31. See + [LICENSING.md](https://github.com/Signetry/signetry/blob/main/LICENSING.md). +- `signetry/.claude-plugin/plugin.json` now declares `"license": "Apache-2.0"`, + which **supersedes the `"Proprietary — All Rights Reserved"` value set by the + entry below** in this same unreleased range. +- `README.md`, `CONTRIBUTING.md`, `CLA.md`, `CONTRIBUTORS.md`, and the CLA + workflow's PR comment no longer describe the project as "All Rights Reserved" or + "not open source". +- The **CLA is kept**. Apache-2.0 already grants contributors every right the old + wording withheld; the CLA now exists for the relicensing rights that let a + well-built adapter move into the BUSL-1.1 engine later without chasing down + every past contributor. +- **The CLA's fallback licence grant is now non-exclusive.** It previously granted the + Owner an *exclusive* licence where copyright assignment is not permitted by law, which + would have stripped contributors of the right to use their own contribution — directly + contradicting the rights the LICENSE grants everyone. The CLA text is now identical + across all Signetry repositories (bar the engine/integration licence wording) so the + legal terms cannot drift per-repo again. See [CLA.md](CLA.md) §2–3. + +### Added + +- Issue templates under `.github/ISSUE_TEMPLATE/` (bug report, feature request, + and a config that routes vulnerabilities to private reporting and + governance-logic bugs to `signetry-core`). + ### Fixed — the plugin declared the wrong license - `signetry/.claude-plugin/plugin.json` declared `"license": "MIT"` while the diff --git a/CLA.md b/CLA.md index 07c0cbc..f89b32e 100644 --- a/CLA.md +++ b/CLA.md @@ -1,6 +1,10 @@ # Signetry Contributor License Agreement (CLA) -**Copyright (c) 2026 Binay Dalai. All rights reserved.** +**Copyright (c) 2026 Binay Dalai.** This repository is licensed under +**[Apache-2.0](LICENSE)** as part of Signetry's +[open-core model](https://github.com/Signetry/signetry/blob/main/LICENSING.md). This +Agreement governs what You grant the Owner when You contribute; it does not reduce the +rights the Apache-2.0 licence gives You (and everyone else) in this code. Thank you for your interest in contributing to Signetry ("the Project"), owned by Binay Dalai ("the Owner"). This Contributor License Agreement ("Agreement") @@ -26,21 +30,33 @@ Your Contribution. You agree that the Owner is the sole and exclusive owner of t Contribution once merged into the Project. To the extent any rights cannot be assigned by law, You grant the Owner a -**perpetual, worldwide, exclusive, irrevocable, royalty-free, sublicensable, and +**perpetual, worldwide, non-exclusive, irrevocable, royalty-free, sublicensable, and transferable license** to use, reproduce, modify, prepare derivative works of, publicly display, publicly perform, distribute, **sell, and commercialize** Your Contribution, in whole or in part, in any form and for any purpose. -## 3. The Owner's exclusive rights +Nothing in this section removes Your own ability to use Your Contribution: once it is +released as part of this repository it is available to You, as to anyone, under +[Apache-2.0](LICENSE), and You retain any rights You independently hold in the +underlying ideas and techniques. + +## 3. Why the Owner needs this (open core) You acknowledge and agree that: -- The Owner alone retains the right to **use, license, sell, and monetize** the - Project, including Your Contribution. -- You obtain **no right** to use, copy, modify, distribute, sell, or commercialize - the Project or Your Contribution for Your own personal or commercial purposes, - except as expressly permitted in writing by the Owner. -- The Project is **not open source** and is licensed "All Rights Reserved." +- **You keep the licence's rights.** This repository is released under + [Apache-2.0](LICENSE), so You may use, copy, modify, distribute, and commercialize + it — including Your own Contribution — on exactly the same terms as any other user. + No separate written permission is required. +- **The Owner may relicense.** The assignment above lets the Owner use, license, sell, + and monetize the Project, including Your Contribution, and release it under other + terms. +- **Code may move across the open-core line.** Signetry's integration surface is + Apache-2.0 while the engine + ([`Signetry/core`](https://github.com/Signetry/core)) is source-available under + BUSL-1.1, converting to Apache-2.0 on 2030-08-31. A Contribution accepted here may + later be moved into the engine, or engine code moved out to an Apache-2.0 repo. The + CLA is what makes that possible without asking every past contributor again. ## 4. Recognition of Contributors (credit, not rights) @@ -50,8 +66,8 @@ of Your work. This recognition is **attribution only**. It does **not**: -- grant You any ownership, license, or right to use, copy, sell, sublicense, or - commercialize the Project or Your Contribution; +- grant You ownership of the Project, or any rights beyond those the Project's + licence already grants everyone; - entitle You to represent the Project, or any part of it, as Your own work, product, or property, or to market or sell it under Your own name or brand; or - create any partnership, employment, or revenue-sharing relationship with the Owner. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9f91869..b967c79 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,25 +1,143 @@ -# Contribution Agreement +# Contributing -By submitting a Pull Request to this repository, you agree to assign and transfer all copyright and ownership of your contributed code to the repository owner. The owner retains the exclusive right to monetize, use, and control the entire codebase. +Thanks for wanting to improve the **Signetry Claude Code plugin**. This repository +is an integration surface — the plugin that brings `signetry-core`'s governance +inside Claude Code — and it is [Apache-2.0](LICENSE): use it, fork it, ship it +commercially, no strings. -## Signing the CLA (required before merge) +## What the licence lets you do -This is enforced by a bot. When you open a pull request, the **CLA Assistant** check -will ask you to sign the [Contributor License Agreement](CLA.md). Reply on the PR -with exactly: +Apache-2.0 gives you a patent grant and the right to use, copy, modify, +distribute, and commercialize this plugin, including in closed-source and +commercial products. You do not need our permission and you do not owe us +anything. Keep the `LICENSE` and the attribution notices when you redistribute, +and note your changes — that is the whole obligation. + +This repo is part of Signetry's +[open-core model](https://github.com/Signetry/signetry/blob/main/LICENSING.md): +every integration (this plugin, the [GitHub Action](https://github.com/Signetry/action), +the other editor and agent plugins, the pre-commit guard, the eval suite) is +Apache-2.0, while the engine ([`Signetry/core`](https://github.com/Signetry/core)) +is source-available under BUSL-1.1 and converts to Apache-2.0 on 2030-08-31. + +## The CLA still applies — and why + +A PR **cannot be merged** until you sign the +[Contributor License Agreement](CLA.md). It is enforced by a bot: when you open a +pull request, the **CLA Assistant** check asks you to reply on the PR with exactly: ``` I have read the CLA Document and I hereby sign the CLA ``` -Your acceptance is recorded in `signatures/cla.json`. A PR **cannot be merged** until -the CLA is signed. Signetry is **not open source** (All Rights Reserved) — by signing -you assign copyright/ownership of your contribution to the Owner and gain no right to -use, sell, or commercialize it yourself. +Your acceptance is recorded in `signatures/cla.json`. + +The CLA is not about withholding rights from you — Apache-2.0 already grants you +everything above, and signing does not take it away. It exists because code moves +across the open-core line. A well-built adapter that starts here as Apache-2.0 +may later belong in the BUSL-1.1 engine, and Signetry needs the relicensing +rights to move it without tracking down every past contributor for permission. +It also lets us dual-license and defend the project if that is ever necessary. + +## Getting started + +There is no build step and no compiled artifact. The plugin is **bash hooks plus +JSON manifests plus a skill markdown file** under `signetry/`: + +- `signetry/.claude-plugin/plugin.json` — plugin manifest +- `signetry/hooks/` — the `PreToolUse` guard (`signetry-guard.sh`), the + `SessionStart` hook, and the shared resolver `signetry-lib.sh` +- `signetry/hooks/hooks.json` — which hook fires on which tool matcher +- `signetry/scripts/signetry-mcp.sh` — launches the Signetry MCP server +- `signetry/skills/admit/SKILL.md` — the `/signetry:admit` skill +- `signetry/.mcp.json` — MCP server registration +- `.claude-plugin/marketplace.json` — the marketplace manifest for this repo + +Load your working copy in a live session: + +```bash +claude --plugin-dir ./signetry +``` + +### Exercising a change without an interactive session + +`demos/try-guard.sh` drives the plugin's **real** `PreToolUse` hook with the exact +tool-call JSON Claude Code sends for `Edit` / `Write` / `Bash`, against a throwaway +repo with a sample `.signetry/admission.yaml`. It is the same code path a live +session hits, so it is the fastest way to check that enforcement still works: + +```bash +bash demos/try-guard.sh +``` + +It needs `bash`, `git`, and a **Python >= 3.11** on `PATH` (the hook self-provisions +`signetry-core` into a plugin-local venv on first run — a stock macOS `python3` is +often 3.9 and is deliberately skipped). + +### Before you open the PR + +There is no test suite and no lint workflow in this repo, so check the two things +CI cannot check for you: + +```bash +bash -n signetry/hooks/*.sh signetry/scripts/*.sh demos/try-guard.sh # shell syntax +python3 -m json.tool signetry/.claude-plugin/plugin.json >/dev/null # each JSON manifest parses +``` + +The shell files carry `# shellcheck` directives (`source=`, `disable=SC2086`), so +if you have [shellcheck](https://www.shellcheck.net/) installed, run it too and +keep it clean: + +```bash +shellcheck signetry/hooks/*.sh signetry/scripts/*.sh demos/try-guard.sh +``` + +Two workflows run on every PR here: + +- **CLA** (`.github/workflows/cla.yml`) — the signature gate described above. +- **Reviewer** (`.github/workflows/reviewer.yml` + `reviewer-comment.yml`) — an + advisory `signetry-reviewer` pass that posts one recommendation comment. It is + advisory only: it never merges and never fails the PR. + +### Where a change belongs + +- **This repo** — the hooks, the hook matchers and timeouts, the Python/venv + resolution in `signetry-lib.sh`, the MCP launcher, the `/signetry:admit` skill + text, the manifests, and the docs. +- **[`Signetry/core`](https://github.com/Signetry/core)** — the governance logic + itself: contract evaluation, `signetry guard`, the independent verifier, earned + authority, and receipt signing. If a decision is wrong — something was blocked + that should not have been, or waved through that should not have been — the bug + is almost certainly there, not here. This plugin never reimplements policy; it + pins `signetry-core`. + +### Things to keep in mind + +- **The guard fails open, and that is deliberate** — it must never break a + session. But "installed" must never be mistaken for "protected": when the guard + cannot resolve a runner, the `SessionStart` hook prints a loud `INACTIVE` notice + saying nothing is being enforced. If you touch the resolver, keep both halves of + that contract. Admission (`/signetry:admit`) fails **closed**. +- `auto_merge` is always false. Signetry governs the agent; a human merges. +- The hooks read untrusted tool-call JSON from stdin. Keep it as data — never + `eval` it, never interpolate it into a command line. +- `signetry-core` requires Python >= 3.11. Do not weaken the version check in + `signetry-lib.sh` to make a machine with an older `python3` "work". +- Keep the `signetry-core` pin (`@v0.7.0`) consistent everywhere it appears — + `signetry/hooks/signetry-lib.sh` (the venv install), `signetry-session-start.sh`, + `signetry/scripts/signetry-mcp.sh`, `signetry/skills/admit/SKILL.md`, and + `README.md`. `grep -rn v0.7.0 .` finds them all. +- Update [`CHANGELOG.md`](CHANGELOG.md) under `## [Unreleased]` for anything a + user would notice. + +Found a vulnerability? Do not open a public issue — use +[private reporting](https://github.com/Signetry/claude-code/security/advisories/new). +See [SECURITY.md](SECURITY.md). + +By participating you agree to the [Code of Conduct](CODE_OF_CONDUCT.md). ## Credit Contributors are **acknowledged** in [CONTRIBUTORS.md](CONTRIBUTORS.md), the Git -history, and release notes. This is attribution only — you may truthfully say you -contributed, but it grants no ownership and no right to use, sell, or rebrand the -project as your own. See the "Recognition of Contributors" clause in [CLA.md](CLA.md). +history, and release notes. See the "Recognition of Contributors" clause in +[CLA.md](CLA.md). diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 38dcd13..d14be14 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -1,14 +1,16 @@ # Contributors -Signetry is **owned by Binay Dalai** and is **All Rights Reserved** (not open source). +This repository is **[Apache-2.0](LICENSE)** and maintained by Binay Dalai as part of +Signetry's [open-core model](https://github.com/Signetry/signetry/blob/main/LICENSING.md). The people below are gratefully acknowledged for contributions accepted under the [Contributor License Agreement](CLA.md). -**Credit, not ownership.** Being listed here recognizes a person's contribution. It -does **not** grant any right to use, copy, sell, sublicense, or commercialize the -project, and does **not** entitle anyone to present the project (in whole or in part) -as their own work, product, or brand. All such rights remain exclusively with the -owner. +**Credit, not ownership.** Being listed here recognizes a person's contribution. +Everyone — contributors included — already has the right to use, modify, and +commercialize this code under Apache-2.0. Listing here does **not** additionally grant +ownership of the project, and does **not** entitle anyone to present the project (in +whole or in part) as their own work, product, or brand, or to use the Signetry name to +endorse their own products. ## Owner / maintainer diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..118c83c --- /dev/null +++ b/LICENSE @@ -0,0 +1,202 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You 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 the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You 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 the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its 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. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2026 Binay Dalai + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/README.md b/README.md index b49437c..132bb19 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,7 @@ # signetry-claude-code -> **Copyright (c) 2026 Binay Dalai. All rights reserved.** -> This repository is strictly for viewing and contributing to the original project. You may not use, copy, modify, distribute, or commercialize this code for your own personal or commercial projects without explicit written permission. Only the original author retains the right to use and monetize this project. - +[![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE) +[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md) **Govern Claude Code's changes in real time — with signed receipts.** @@ -71,4 +70,12 @@ See [SECURITY.md](SECURITY.md) · [PRIVACY.md](PRIVACY.md) · ## License -**Copyright (c) 2026 Binay Dalai. All rights reserved.** This code is not open source. You may not use, copy, modify, distribute, or commercialize it for your own personal or commercial purposes without explicit written permission from the author, who alone retains the right to use and monetize this project. See [CONTRIBUTING.md](CONTRIBUTING.md). +[Apache-2.0](LICENSE). Use it, fork it, ship it commercially — no strings. + +This repository is part of Signetry's [open-core model](https://github.com/Signetry/signetry/blob/main/LICENSING.md): +the **integration surface is Apache-2.0** so anyone can add an agent, an editor, or a +CI adapter, while the engine ([`Signetry/core`](https://github.com/Signetry/core)) is +source-available under BUSL-1.1 and converts to Apache-2.0 on 2030-08-31. + +Contributions are accepted under the [CLA](CLA.md) — it lets us move a well-built +adapter into the engine later without asking every contributor for permission again. diff --git a/signetry/.claude-plugin/plugin.json b/signetry/.claude-plugin/plugin.json index 1f0df54..c7a9c21 100644 --- a/signetry/.claude-plugin/plugin.json +++ b/signetry/.claude-plugin/plugin.json @@ -8,5 +8,5 @@ }, "homepage": "https://github.com/Signetry/claude-code", "repository": "https://github.com/Signetry/claude-code", - "license": "Proprietary — All Rights Reserved" + "license": "Apache-2.0" }