From 9a007497a7dfaf6762c774ddeab8fc234b75929d Mon Sep 17 00:00:00 2001 From: Nilhan-DeMel Date: Thu, 16 Jul 2026 14:52:42 +0530 Subject: [PATCH] chore: polish employer portfolio --- .github/workflows/portfolio-integrity.yml | 39 ++++++++++++++++++++++ CONTRIBUTING.md | 11 ++++++ LICENSE | 21 ++++++++++++ RIGHTS.md | 5 +++ SECURITY.md | 5 +++ docs/social-preview.png | Bin 0 -> 49098 bytes docs/social-preview.svg | 8 +++++ 7 files changed, 89 insertions(+) create mode 100644 .github/workflows/portfolio-integrity.yml create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE create mode 100644 RIGHTS.md create mode 100644 SECURITY.md create mode 100644 docs/social-preview.png create mode 100644 docs/social-preview.svg diff --git a/.github/workflows/portfolio-integrity.yml b/.github/workflows/portfolio-integrity.yml new file mode 100644 index 0000000..6ec5d85 --- /dev/null +++ b/.github/workflows/portfolio-integrity.yml @@ -0,0 +1,39 @@ +name: Portfolio Integrity + +on: + pull_request: + push: + branches: [main, master] + +permissions: + contents: read + pull-requests: read + +jobs: + documentation-and-secrets: + runs-on: ubuntu-latest + steps: + - name: Checkout full history + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Verify portfolio documentation + shell: bash + run: | + test -s README.md + test -s SECURITY.md + test -s CONTRIBUTING.md + test -s RIGHTS.md + test -s docs/social-preview.png + python - <<'PY' + import struct + from pathlib import Path + image = Path('docs/social-preview.png').read_bytes() + assert image[:8] == b'\x89PNG\r\n\x1a\n' + width, height = struct.unpack('>II', image[16:24]) + assert (width, height) == (1280, 640), (width, height) + PY + - name: Scan changed history for secrets + uses: gitleaks/gitleaks-action@v2 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..8175440 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,11 @@ +# Contributing + +Contributions that improve correctness, tests, documentation, accessibility, or operational clarity are welcome. + +1. Open an issue describing the problem and intended outcome. +2. Keep changes focused and preserve the repository's documented architecture and safety boundaries. +3. Add or update tests for behavior changes. +4. Run the verification commands documented in the README. +5. Submit a pull request describing scope, evidence, risk, and rollback. + +Never commit credentials, personal data, generated customer data, or provider tokens. AI-assisted contributions are welcome when the author reviews the result and remains accountable for its correctness and licensing. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..0f738e7 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Nilhan de Mel + +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/RIGHTS.md b/RIGHTS.md new file mode 100644 index 0000000..f02d34c --- /dev/null +++ b/RIGHTS.md @@ -0,0 +1,5 @@ +# Rights and Reuse + +Original source code authored for this repository is available under the terms in [LICENSE](LICENSE). + +Third-party packages remain under their own licenses. Public-source datasets, captured source material, fonts, logos, screenshots, generated evidence, and other assets are not relicensed unless their containing directory or accompanying notice explicitly says so. Product and company names remain the property of their respective owners. diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..553ce68 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,5 @@ +# Security Policy + +Please report suspected vulnerabilities privately to [nilhan.dev@gmail.com](mailto:nilhan.dev@gmail.com). Include the affected component, reproduction steps, likely impact, and sanitized supporting evidence. + +Do not post credentials, personal data, private business data, or a working exploit in a public issue. Please allow reasonable time for validation and remediation before public disclosure. diff --git a/docs/social-preview.png b/docs/social-preview.png new file mode 100644 index 0000000000000000000000000000000000000000..7e44a98c09e5a2eabee1802527e77a9a71053fbd GIT binary patch literal 49098 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 >4&6+HLjgMfw9U#hYviE<-OJW*=@6}Q~% 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 W+7D7FiP%m9{?t`;lo5&#|M6dURsg;L literal 0 HcmV?d00001 diff --git a/docs/social-preview.svg b/docs/social-preview.svg new file mode 100644 index 0000000..bc9f0f3 --- /dev/null +++ b/docs/social-preview.svg @@ -0,0 +1,8 @@ + + + + + + NILHANHUB · AI ENGINEERINGQuietCut +
Resilient desktop silence cutting with typed IPC and output verification
+ ELECTRONTYPESCRIPTMEDIAVERIFIED PORTFOLIO PROJECT · github.com/NilhanHub/quietcut
\ No newline at end of file