From d5c3bf0c2257f0c2a48d409e16476a1792f33ee1 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 22 Feb 2026 18:01:09 +0000 Subject: [PATCH 1/2] Initial plan From 639696323ebccdb3f4f75c34f01271b58f39d237 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 22 Feb 2026 18:02:59 +0000 Subject: [PATCH 2/2] feat: add LICENSE, Related Projects, issue templates, and CONTRIBUTING.md Co-authored-by: Steake <530040+Steake@users.noreply.github.com> --- .github/ISSUE_TEMPLATE/bug_report.md | 37 ++++++++++++++++++++++ .github/ISSUE_TEMPLATE/feature_request.md | 27 ++++++++++++++++ .github/ISSUE_TEMPLATE/good-first-issue.md | 28 ++++++++++++++++ CONTRIBUTING.md | 35 ++++++++++++++++++++ LICENSE | 21 ++++++++++++ README.md | 7 ++-- 6 files changed, 153 insertions(+), 2 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/ISSUE_TEMPLATE/good-first-issue.md create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..ac5c4a6 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,37 @@ +--- +name: Bug Report +about: Report a bug or unexpected behaviour +title: "[Bug] " +labels: bug +assignees: '' +--- + +## Description + +A clear and concise description of the bug. + +## Steps to Reproduce + +1. Go to '...' +2. Click on '...' +3. See error + +## Expected Behaviour + +A clear and concise description of what you expected to happen. + +## Actual Behaviour + +A clear and concise description of what actually happens. + +## Environment + +- OS: [e.g. macOS 14, Ubuntu 22.04] +- Browser / Node version: [e.g. Chrome 123, Node 20] +- Wallet: [e.g. MetaMask 11.x] +- Network: [e.g. Sepolia] +- App version / commit: [e.g. v0.1.0 or git SHA] + +## Additional Context + +Add any other context, screenshots, or console output here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..54a13be --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,27 @@ +--- +name: Feature Request +about: Suggest a new feature or improvement +title: "[Feature] " +labels: enhancement +assignees: '' +--- + +## Description + +A clear and concise description of the feature you would like to see. + +## Motivation + +Why is this feature needed? What problem does it solve or what value does it add? + +## Proposed Solution + +Describe how you would like the feature to work. Include any API, UI, or smart-contract changes you have in mind. + +## Alternatives Considered + +Any alternative approaches you have thought of and why you prefer the proposed solution. + +## Additional Context + +Add any other context, mockups, or references here. diff --git a/.github/ISSUE_TEMPLATE/good-first-issue.md b/.github/ISSUE_TEMPLATE/good-first-issue.md new file mode 100644 index 0000000..9f43289 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/good-first-issue.md @@ -0,0 +1,28 @@ +--- +name: Good First Issue +about: A well-scoped task that is suitable for first-time contributors +title: "[Good First Issue] " +labels: good first issue +assignees: '' +--- + +## Description + +A clear and concise description of the task and what needs to be done. + +## Acceptance Criteria + +- [ ] Criterion 1 +- [ ] Criterion 2 +- [ ] Relevant tests pass (`npm run test:unit`) +- [ ] Code is formatted and linted (`npm run format && npm run lint`) + +## Helpful Links + +- [Contributing Guide](../../CONTRIBUTING.md) +- [README](../../README.md) +- [User Guide](../../USER_GUIDE.md) + +## Notes for New Contributors + +Feel free to ask questions in the comments. We are happy to help you get started! diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..34615db --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,35 @@ +# Contributing to Reputation-Gated-Airdrop + +Thank you for your interest in contributing! This project implements ZKML-powered, Sybil-resistant airdrops using EBSL (Evidence-Based Subjective Logic) trust scores to gate and scale token distributions. + +## Areas Where Contributions Are Welcome + +- **Smart Contracts** — Solidity contracts for ECDSA and ZK claim paths (`contracts/`) +- **EZKL Circuits** — Zero-knowledge ML proof circuits and WASM integration +- **Trust Score Models** — EBSL-based reputation scoring logic and Jupyter notebooks (`Notebooks/`) +- **Documentation** — Guides, architecture docs, and inline comments (`documentation/`) +- **Frontend** — SvelteKit UI components, stores, and Web3 integrations (`src/`) + +## How to Contribute + +1. **Fork** the repository on GitHub. +2. **Create a branch** from `main` with a descriptive name: + ```bash + git checkout -b feat/your-feature-name + ``` +3. **Make your changes**, ensuring you follow the existing code style: + ```bash + npm run format && npm run lint + ``` +4. **Run the tests** to confirm nothing is broken: + ```bash + npm run test:unit + ``` +5. **Open a Pull Request** against the `main` branch with a clear description of the change. + +## Pull Request Guidelines + +- Keep PRs focused — **one logical change per PR**. +- Reference any related issue in the PR description (e.g. `Closes #42`). +- Include a brief summary of *what* changed and *why*. +- Ensure all CI checks pass before requesting a review. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..e886412 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025-2026 Oliver C. Hirst + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index bda303a..8633c1f 100755 --- a/README.md +++ b/README.md @@ -132,6 +132,9 @@ If both are configured, the UI will prioritize the ZK path by default. - `yarn lint`: Check for linting and formatting issues. - `yarn format`: Automatically format the code. -``` +## Related Projects -``` +- **EQBSL** — The trust-as-ledgered-state framework powering the reputation scoring. TypeScript/Angular. +- **BitCell** — Consensus through cellular automaton warfare using EBSL trust scores. Rust. +- **shannon-uncontained** — Agentic pen-testing fork with EQBSL epistemic bookkeeping. JavaScript. +- **Clario** — Crypto-native tutoring marketplace powered by EQBSL reputation. TypeScript/React.