This repository contains a (client-side) web application to generate
CodeMeta documents (aka. codemeta.json
).
The CodeMeta initiative is a Free and Open Source academic collaboration creating a minimal metadata schema for research software and code.
The academic community recommands on adding a codemeta.json file in the root directory of your repository.
With this linked data metadata file, you can easily declare the authorship, include contextual information and link to other research outputs (publications, data, etc.).
Also, the codemeta.json
file in your source code is indexed in the
Software Heritage (SWH) archive, which will improve findability in searches.
SWH guidelines for research software.
SWH blog post about metadata indexation.
Dan S. Katz's blog post about including metadata in your repository.
FORCE11's Software Citation Implementation WG repository
RDA & FORCE11's joint Software Source Code Identification WG repository
This tool was initially prepared for the FORCE19 Hackathon.
NB: codemeta v2.0 is generated by default, but v3.0 (v2.0 compatible) can be generated via a dedicated button.
This section only applies to developers who want to contribute to the Codemeta Generator. If you only want to use it, you can use the hosted version instead.
This application is designed to work on popular modern browsers (Firefox, Chromium/Google Chrome, Edge, Safari). Check Caniuse for availability of features for these browsers.
To keep the architecture simple, we serve javascript files directly to browsers, without a compiler or transpiler.
To run Codemeta Generator, you just need an HTTP server serving the files (nginx, apache2, etc.).
The simplest way is probably to use Python's HTTP server:
git clone https://github.com/codemeta/codemeta-generator
cd codemeta-generator
python3 -m http.server
then open http://localhost:8000/ in your web browser.
In addition to manual testing, we have automated tests to check for bugs quickly, using Cypress.
To run them, first install Cypress:
sudo apt install npm # or the equivalent on your system
npx cypress@9.7.0 install
Then, run the tests:
npx cypress@9.7.0 run