Erstelle deine erste Rust-CLI ist ein projektorientierter Aufbaukurs zu Rust für Anfänger. In sechs praktischen Aktivitäten entwickelst du dich von kleinen Rust-Programmen zu einer vollständigen Kommandozeilenanwendung mit externer Abhängigkeit, wiederholbaren Qualitätsprüfungen, dateibasiertem Zustand, Tests und einem Release-Programm.
Der Kurs kombiniert drei angeleitete Labs mit drei gezielten Challenges. Längere Quelldateien, Modulbäume, Testgerüste und Manifeste werden als Startprojekte bereitgestellt. Mit nano nimmst du kleine, sinnvolle Änderungen genau an den behandelten Grenzen vor, statt lange Programme in das Terminal zu kopieren.
Was du lernen wirst
- Ein Crate mit Cargo hinzufügen und die unterschiedlichen Aufgaben von
Cargo.tomlundCargo.lockerklären - Ein Crate-Feature aktivieren und mit den derive-Makros von
claptypisierte Argumente, Optionen und Unterbefehle erstellen - Generierte Hilfe lesen und typisierte Kommandozeilenvalidierung nutzen
- rustfmt, striktes Clippy, Tests und rustdoc als wiederholbare Qualitätsschleife für die Übergabe anwenden
- Ein kleines Rust-Projekt mit mehreren Modulen lesen, ohne alle Verantwortlichkeiten in
main.rszu vereinen - Anwendungsdaten über eine klare Dateigrenze speichern und Fehler mit Kontext weitergeben
- Ein optimiertes Release-Programm mit gesperrtem Abhängigkeitsgraphen bauen, testen und ausführen
- Eine vorhandene CLI über Parser-, Bibliotheks-, Speicher- und Ausgabegrenzen erweitern und bisheriges Verhalten bewahren
Für wen dieser Kurs geeignet ist
Der Kurs richtet sich an Lernende, die Rust für Anfänger abgeschlossen haben oder vergleichbare Kenntnisse in Ownership, Borrowing, Structs, Enums, Collections, Iteratoren, Result, Dateien, Modulen, Tests, Generics, Traits und grundlegendem Kommandozeilenprozess-Verhalten besitzen.
Voraussetzungen: Du solltest ein Cargo-Projekt lesen und darin kleine Änderungen vornehmen können. Erfahrung mit der Auswahl externer Crates, clap, Clippy, rustdoc oder der Organisation einer vollständigen CLI ist nicht nötig; diese Themen werden vor ihrer Verwendung eingeführt.
Lernumgebung: Jede Aktivität läuft in einem frischen LabEx-Linux-Terminal, in dem Rust und das benötigte Startprojekt vorbereitet sind. nano ist der Standardeditor. Die Aktivitäten teilen keinen Dateisystemzustand, daher enthält jede Challenge ein eigenständiges Projekt.
Häufig gestellte Fragen
Muss ich eine vollständige Anwendung aus einer leeren Datei schreiben?
Nein. Projektstruktur, längere Implementierungen, Parser-Standardcode, Tests und Testdaten werden im Setup vorbereitet. In den angeleiteten Schritten ergänzt du jeweils nur eine kleine Speicher-, Befehls- oder Domänengrenze.
Warum verwendet der Kurs clap?
Für die einfache Argumenterfassung aus dem Vorkurs genügt die Standardbibliothek. clap ergänzt typisierte Optionen, Unterbefehle, generierte Hilfe und einheitliche Fehler und ist damit eine praktische erste Abhängigkeit für eine echte CLI.
Was bedeutet hier „übergabebereit“?
Ein anderer Entwickler kann den Abhängigkeitsgraphen reproduzieren, die öffentliche Schnittstelle lesen, Tests ausführen sowie konsistente Formatierung und sauberes Linting bestätigen. Der Kurs macht daraus konkrete Cargo-Befehle.
Was werde ich bauen?
Du vervollständigst einen dateibasierten Aufgabenplaner mit den Unterbefehlen add, list und done, testest ihn und erstellst ein Release-Programm. Anschließend erweiterst du eine frische Version um die Filterung offener Aufgaben und eine Zusammenfassung.


