A machine-readable and human-readable and -writable format for CITATION files. CITATION files provide reference and citation information for (research/scientific) software.
The Citation File Format lets you provide citation metadata for software or datasets
in plaintext files that are easy to read by both humans and machines.
You can specify citation metadata for your software (or dataset) in a file named CITATION.cff
.
This is what a typical CITATION.cff
file may look like for research software:
cff-version: 1.2.0
message: If you use this software, please cite it using these metadata.
title: My Research Software
abstract: This is my awesome research software. It does many things.
authors:
- family-names: Druskat
given-names: Stephan
orcid: "https://orcid.org/1234-5678-9101-1121"
- name: "The Research Software project"
version: 0.11.2
date-released: "2021-07-18"
identifiers:
- description: This is the collection of archived snapshots of all versions of My Research Software
type: doi
value: "10.5281/zenodo.123456"
- description: This is the archived snapshot of version 0.11.2 of My Research Software
type: doi
value: "10.5281/zenodo.123457"
license: Apache-2.0
repository-code: "https://github.com/citation-file-format/my-research-software"
In addition, the Citation File Format allows you to
You can find the complete format specifications in the Guide to the Citation File Format schema.
CITATION.cff
file to my repository? When you do this, great things may happen:
CITATION.cff
!CITATION.cff
file.To create a CITATION.cff
file, you can
CITATION.cff
using the Add file button on GitHub, and use the template they provide.You can validate your CITATION.cff
file on the command line with the cffconvert
Python package:
# Install cffconvert with pip in user space
python3 -m pip install --user cffconvert
# Validate your CFF file
cffconvert --validate
If you get a Traceback with error messages, look for the relevant validation error and fix it.
If the output is very long, it may help if you search it for lines starting with jsonschema.exceptions.ValidationError
.
If you prefer to use Docker, you can use the cffconvert
Docker image:
cd <directory-containing-your-CITATION.cff>
docker run --rm -v ${PWD}:/app citationcff/cffconvert --validate
CITATION.cff
files There is tooling available to work with CITATION.cff
files to do different things:
create new files, edit existing files, validate existing files, convert files from the Citation File Format into another format.
The following table gives an overview of the tools that we know about. If there is a tool missing from this table, please open a new issue and let us know.
Creation | Editing/Updating | Validation | Conversion | |
---|---|---|---|---|
Command line | • cffconvert | • cffconvert • bibtex-to-cff • cff-from-621 • openCARP-CI |
||
GitHub Actions | cff-validator | • cffconvert • codemeta2cff |
||
GitHub Bot | #238 | |||
Docker | cffconvert Docker image | cffconvert Docker image | ||
Go | • datatools/codemeta2cff | |||
Haskell | • cffreference | |||
Java | • CFF Maven plugin | • CFF Maven plugin | • CFF Maven plugin | |
JavaScript | • Citation.js @citation-js/plugin-software-formats">plugin | |||
Julia | • Bibliography.jl | • Bibliography.jl | ||
PHP | • bibtex-to-cff | |||
Python | • cff2toml • doi2cff • updateCitation |
• cffconvert | • cff-from-621 • cff2toml • cffconvert • doi2cff • openCARP-CI • py_bibtex_to_cff_converter |
|
R | • cffr | • citation • r2cff • handlr • cffr |
||
Ruby | • ruby-cff | • ruby-cff | • ruby-cff | • ruby-cff |
Rust | • Aeruginous | • Aeruginous | • citeworks | |
TypeScript | #28 | |||
Website | • cffinit |
The Citation File Format schema is maintained by
The Citation File Format is a collaborative project and we welcome suggestions and contributions. We hope one of the invitations below works for you, but if not, please let us know!
I’m busy, I only have 1 minute
I’ve got 10 minutes - tell me what I should do
CITATION.cff
file for your repository.CITATION.cff
files, help someone with a validation problem and look at the issues labeled I’ve got a few hours to work on this
I want to help grow the community
Please read the more detailed contributing guidelines and open a GitHub issue to suggest a new idea or let us know about bugs. Please put up pull requests for changes to the format and schema against the develop
branch!
Copyright © 2016 - 2023. The Citation File Format Contributors
This work is licensed under a Creative Commons Attribution 4.0 International (CC-BY-4.0) license.
We’d like to thank everyone who has contributed to the Citation File Format!
They are listed in the CITATION.cff
file for this repository. Please open an issue if you find that you are missing from the file.
We gratefully acknowledge support from: