diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..1ade234 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,33 @@ +name: CI + +on: + pull_request: + push: + branches: + - main + +jobs: + build-and-test: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v7 + + - name: Setup Node.js + uses: actions/setup-node@v7 + with: + node-version: 24 + cache: npm + + - name: Install dependencies + run: npm ci + + - name: Run tests + run: npm run test + + - name: Build + run: npm run build + + - name: Validate metadata files + run: npm run validate:metadata diff --git a/.zenodo.json b/.zenodo.json new file mode 100644 index 0000000..00e5f5b --- /dev/null +++ b/.zenodo.json @@ -0,0 +1,40 @@ +{ + "title": "OpenCite", + "upload_type": "software", + "description": "OpenCite is a web app to generate provenance files (CITATION.cff and .zenodo.json) for GitHub repositories from a single form to keep release metadata aligned across outputs.", + "version": "1.0.0", + "publication_date": "2026-09-04", + "license": "MIT", + "keywords": [ + "imageomics", + "citation", + "metadata", + "zenodo", + "FAIR", + "provenance", + "attribution", + "cff-format" + ], + "creators": [ + { + "name": "Lo, Isabella", + "affiliation": "Imageomics Institute" + }, + { + "name": "Campolongo, Elizabeth", + "orcid": "0000-0003-0846-2413", + "affiliation": "Imageomics Institute" + } + ], + "grants": [ + { + "id": "021nxhr62::2118240" + }, + { + "id": "021nxhr62::2330423" + } + ], + "references": [ + "Campolongo, E. G., Thompson, M. J., Zhang, N., Duan, Y., Bradley, J., Zarubiieva, I., Taylor, G., & Lapp, H. (2026). Collaborative Distributed Science Guide (Version 2.0.0) [Computer software]. https://doi.org/10.5281/zenodo.17210328" + ] +} diff --git a/CITATION.cff b/CITATION.cff new file mode 100644 index 0000000..42f2c02 --- /dev/null +++ b/CITATION.cff @@ -0,0 +1,31 @@ +cff-version: 1.2.0 +message: "If you find this software helpful in your research, please cite both the software and our paper." +title: "OpenCite" +abstract: "OpenCite is a web app to generate provenance files (CITATION.cff and .zenodo.json) for GitHub repositories from a single form to keep release metadata aligned across outputs." +type: software +version: "1.0.0" +date-released: "2026-09-04" +repository-code: "https://github.com/Imageomics/OpenCite" +license: "MIT" +keywords: + - "imageomics" + - "citation" + - "metadata" + - "zenodo" + - "FAIR" + - "provenance" + - "attribution" + - "cff-format" +authors: + - family-names: "Lo" + given-names: "Isabella" + - family-names: "Campolongo" + given-names: "Elizabeth" + orcid: "https://orcid.org/0000-0003-0846-2413" +identifiers: + - type: url + description: "The GitHub release URL of tag v1.0.0." + value: "https://github.com/Imageomics/OpenCite/releases/tag/v1.0.0" + - type: url + description: "The GitHub URL of the commit tagged with v1.0.0." + value: "https://github.com/Imageomics/OpenCite/tree/" # Update on release diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..c738916 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Imageomics Institute + +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/package-lock.json b/package-lock.json index ca36fba..4e7edcb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,20 +1,20 @@ { "name": "opencite", - "version": "0.0.0", + "version": "1.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "opencite", - "version": "0.0.0", + "version": "1.0.0", "dependencies": { "jszip": "^3.10.1", "react": "^18.3.1", "react-dom": "^18.3.1" }, "devDependencies": { - "@vitejs/plugin-react": "^6.0.2", - "vite": "^8.0.16", + "@vitejs/plugin-react": "^6.0.3", + "vite": "^8.1.1", "zenodraft": "0.14.1" } }, diff --git a/package.json b/package.json index cb0286b..d4289fd 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "opencite", "private": true, - "version": "0.0.0", + "version": "1.0.0", "type": "module", "scripts": { "dev": "vite",