# Deinen ersten Anki-Stapel mit Rust erstellen

Canonical page: https://ankiforge.dev/de/blog/your-first-anki-deck/
Language: de
Description: Von einem kurzen Rust-Programm zu einer spanischen Vokabelkarte, die du in Anki öffnen kannst.
Published: 2026-09-22T00:00:00.000Z

Wenn deine Notizen bereits in einem Skript, einem Datensatz oder einer Dateisammlung liegen, kann die automatische Erzeugung eines Anki-Stapels den Erstellungsprozess leichter wiederholbar machen. Deine Quelle bleibt in Git überprüfbar, und jeder Export wird zu einem erneut ausführbaren Schritt.

Beginne mit einem Wort: **hola**. Wir möchten eine Karte, die vorne die spanische Begrüßung und hinten ihre englische Bedeutung zeigt.

## Ein vollständiges Programm

Dies ist das minimale Rust-Beispiel des Repositorys:

```rust
use ankiforge::{BuildOptions, Note, Project};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let mut project = Project::new("spanish")?.default_deck("Spanish");
    project.add("es:hola", Note::basic("hola", "hello"))?;
    let output = project.build(BuildOptions::to("spanish.apkg"))?;
    println!("{}", output.artifact().path().display());
    Ok(())
}
```

`Project::new("spanish")` erzeugt den Namensraum. `Note::basic("hola", "hello")` erzeugt eine Basic-Notiz, `project.add("es:hola", note)` weist ihren stabilen Schlüssel zu, und `build(BuildOptions::to(...))` schreibt das Paket.

`build` liefert `BuildOutput` erst nach erfolgreichem Abschluss. Der Operator `?` reicht einen typisierten Fehler weiter, sodass Skripte mit einem Fehler enden können.

## Installieren und ausführen

Im [aktuellen Schnellstart](https://ankiforge.dev/de/docs/quickstart/) findest du die Installation des veröffentlichten Pakets und den Ausführungsbefehl. Um dasselbe Programm in deinem eigenen Projekt zu verwenden, folge [In deine Anwendung integrieren](https://ankiforge.dev/de/docs/installation/).

Importiere nach dem Export `spanish.apkg` in Anki und decke die Antwort deiner ersten Karte auf.

Das [Basic-Beispiel auf dieser Website](https://ankiforge.dev/de/examples/#basic) bietet ebenfalls ein Paket zum Herunterladen, wenn du zuerst das Ergebnis ansehen möchtest.

## Der Notiz eine Identität geben

Die Zeichenfolge `es:hola` ist ein ausdrücklicher stabiler Notizschlüssel innerhalb des Namensraums `spanish`. Sie beschreibt, um welche Notiz es sich handelt, unabhängig von der Formulierung der Antwort. Du könntest später „hello“ zu „hello; hi“ erweitern und dieselbe ID behalten.

Verwende für jede logische Notiz eine eigene ID. Wenn deine Quelle bereits einen dauerhaften Schlüssel besitzt, etwa die ID eines Vokabeleintrags, ist das ein guter Ausgangspunkt. Vermeide es, die Identität allein aus Text abzuleiten, den du voraussichtlich bearbeiten wirst.

Für die Aktualisierung eines verteilten Stapels benötigst du auch die Veröffentlichungshistorie. Bewahre das ursprüngliche Paket der Vorgängerversion auf und folge dem [dokumentierten Aktualisierungsablauf](https://ankiforge.dev/de/docs/updates/).

## Über die erste Notiz hinausgehen

Erzeuge für eine weitere Begrüßung eine weitere Basic-Notiz und füge sie mit einem neuen Schlüssel hinzu. Verwende für ein fehlendes Wort in einem Satz eine [Cloze-Notiz](https://ankiforge.dev/de/examples/#cloze). Für umfangreichere Karten definierst du Felder und Vorlagen mit der Projekt-API und bündelst Bilder oder Audio mit den Notizen.

Die [Rust-Anleitung zur Inhaltserstellung](https://ankiforge.dev/de/docs/rust-guide/) führt weiter zu Diagnostik, Medien und wiederholbaren Builds. Die [Repository-Beispiele](https://github.com/morehardy/anki-forge/tree/main/anki_forge/examples) bieten ausführbare Programme, auf denen du aufbauen kannst.
