Zotero uses Citation Style Language (CSL) styles and the citeproc-js CSL processor for creating citations and bibliographies.
For information on how to use existing CSL styles with Zotero, see Citation Styles.
Editing CSL Styles
For basic instructions on how to edit CSL styles for Zotero, see the Step-by-step guide. More documentation can be found at http://citationstyles.org/citation-style-language/documentation/.
Mapping of Zotero Variables and Item Types to CSL
A mapping of Zotero item types and variables to CSL is available here. A Zotero extension to create and export the current mapping from a local Zotero installation can be found here.
Submitting Styles to the Citation Style Repository
Citation styles can be hosted on the Citation Style Language Repository. Follow these instructions to have your style added to the repository.
Self-hosting CSL Styles
If you decide to host CSL styles online yourself, serving them with the “vnd.citationstyles.style+xml” MIME type allows programs such as Zotero to automatically recognize and install your styles.
citeproc-node is a wrapper for citeproc-js for server-side rendering of citations and bibliographies.