git-native citation management

Every reference,
versioned and
verifiable.

cite treats your bibliography like source code — version-controlled, cryptographically signed, and searchable across every format you need.

Quick install: go install citations/tool@latest
cite — terminal
# welcome to cite
# citation management for the command line
 
paper.cf · APA
Attention Is All You Need
Vaswani et al. (2017) · arXiv
Ed25519 verified · a3f9c2d1…

Built for researchers
who think in commits.

Every design decision favours precision, reproducibility, and long-term trust over convenience shortcuts that erode later.

Git Native
Citations live in plain .cf files tracked by git. Branch experimental reading lists, diff changes, bisect regressions, merge collaborator edits.
cite diff · cite branch · cite bisect
Cryptographic Identity
Every citation file is Ed25519-signed by the server on push. Verify the complete chain offline — no network call, no third-party trust required.
cite sign · cite verify-id
20+ Citation Formats
APA, MLA, Chicago, IEEE, Vancouver, Harvard, ABNT, GOST, and 14 more. One source file; any style on demand. No reformatting by hand.
cite preview --all-styles
Full-Text Search
PostgreSQL tsvector full-text, trigram fuzzy, phrase, DOI, ISBN, and author search. Find anything in milliseconds — even with typos.
cite search · /graphql
Import Anywhere
Paste a DOI, ISBN, or URL and cite fetches the full metadata automatically via CrossRef and OpenLibrary. Also imports BibTeX, RIS, MARC, MODS, and CSL-JSON.
cite add doi: · cite import
Self-Hosted
Run your own cite server. Full REST and GraphQL APIs, per-repo access control, pull-trace audit log, and a PostgreSQL-backed identity pool — your data, your infrastructure.
cite server · GET /graphql

Four commands.
Permanent record.

01
cite init
Initialise
Create a .cf file for your project. Connects to your remote server and sets up the git remote in one step.
02
cite add
Import
Drop a DOI, ISBN, URL, or paste raw BibTeX. cite resolves the full metadata and writes it into the .cf file.
03
cite push
Sign & Push
cite hashes each file, signs with the server's Ed25519 key, commits, and pushes — all in one command. The .cite-sig file travels with the commit.
04
cite verify-id
Verify
Any collaborator can verify the provenance of any citation file using only the server's public key — no network, no trust assumptions.

One .cf source file. Any format on demand.

APA MLA Chicago IEEE Vancouver Harvard BibTeX RIS ABNT ACS AIP AMA Bluebook CSE DIN 1505 GOST ISO 690 JIS X 0208 SIST 02 Turabian MARC MODS CSL-JSON

Readable source.
Any output.

The .cf format is designed to be edited by humans and parsed by machines. Declare once; render in any style.

paper.cf source
article "Attention Is All You Need" { authors = [ "Ashish Vaswani", "Noam Shazeer", "Niki Parmar" ] year = 2017 journal = "Advances in Neural Information Processing Systems" volume = "30" doi = "10.48550/arXiv.1706.03762" url = "https://arxiv.org/abs/1706.03762" } book "The Go Programming Language" { authors = [ "Alan A. A. Donovan", "Brian W. Kernighan" ] year = 2015 publisher = "Addison-Wesley" isbn = "978-0134190440" }
cite preview --style apa APA 7
References
Vaswani, A., Shazeer, N., & Parmar, N. (2017). Attention is all you need. Advances in Neural Information Processing Systems, 30. https://doi.org/10.48550/arXiv.1706.03762
Donovan, A. A. A., & Kernighan, B. W. (2015). The Go programming language. Addison-Wesley.
OTHER AVAILABLE FORMATS
MLA Chicago IEEE Harvard Vancouver + 15 more

Ready to version your
bibliography?

Install the CLI, point it at a server, and commit your first citation in minutes.

INSTALL
# install the CLI
$ go install citations/tool@latest
# start a citation repo
$ cite init my-bibliography
# import your first citation
$ cite add doi:10.48550/arXiv.1706.03762
Read the docs FAQ

Common questions.
Straight answers.

How is cite different from Zotero or Mendeley?
Zotero and Mendeley manage citations inside a GUI app with cloud sync. cite treats citations as plain text files — versioned in git, diff-able, branchable, and signable. Your bibliography lives alongside your code or writing, survives tool changes, and never requires a proprietary app to read.
What is the .cf format?
A minimal, human-readable structured text format: type "Title" { key = value }. It is unambiguous to parse and unambiguous to diff. cite compiles it to any citation style on demand — APA, BibTeX, RIS, and 17 more.
Do I need a server to use cite?
No. cite init, cite add, and cite preview all work locally. A server adds collaboration, full-text search, cryptographic signing, and a REST/GraphQL API. Run one with cite server or deploy via Docker in under a minute.
What does "cryptographically signed" mean in practice?
When you push a citation file, the server hashes its content and signs the hash with an Ed25519 private key. The signature travels with the commit in a .cite-sig file. Anyone holding the server's public key — available at /public-key — can verify the file was not altered after signing, with no network access required.
Is my data private if I self-host?
Completely. Self-hosting means your citations, identity records, and access logs stay on your own infrastructure. cite does not phone home, require a licence key, or send telemetry. The database is a plain PostgreSQL instance you control.
Can multiple people collaborate on the same bibliography?
Yes — it is just git. Create a shared repo, push from multiple machines, resolve conflicts with standard git merge. Each contributor's citations are individually attributable through commit history and, optionally, Ed25519 identity records.
Is cite free and open source?
Yes. cite is released under the MIT licence. Use it, fork it, embed it, ship it. There is no commercial tier, no seat limit, and no feature gating.