Initialize a New Paper

This tutorial starts from an empty or existing Git repository.

Create the Repository

mkdir my-paper
cd my-paper
git init
article-cli init --title "My Paper" --authors "A. Author,B. Author"

For Typst:

article-cli init --title "My Paper" --authors "A. Author" --type typst-article

For a specific LaTeX style:

article-cli init --title "My Paper" --authors "A. Author" --style ieee
article-cli init --title "My Paper" --authors "A. Author" --style lncs

Inspect and Repair Setup

article-cli doctor
article-cli doctor --fix

doctor --fix can create the configured output directory, create the repository-owned hook source, install managed git hooks, and refresh gitHeadLocal.gin. It does not commit, tag, push, or overwrite unrelated user hook logic.

Configure Zotero

Use environment variables for credentials:

export ZOTERO_API_KEY="your-api-key"
export ZOTERO_GROUP_ID="{zotero-group-example}"

Project defaults live in pyproject.toml.

Build

article-cli bib update --dry-run
article-cli bib update
article-cli compile

First Commit

git add .
git commit -m "Initialize paper repository"

After the first commit, rerun:

article-cli version
article-cli compile