1. Ziel dieses Labs
In diesem praxisorientierten Lab erfahren Sie, wie Sie mit Google Antigravity Anwendungen erstellen und in der Google Cloud bereitstellen. In diesem Lab lernen Sie auch das Konzept der spezifikationsgetriebenen Entwicklung kennen.
Lerninhalte
- Machen Sie sich mit den Grundlagen von Google Antigravity vertraut.
- Grundlagen von Spec Driven Development
- Informationen zum Bereitstellen von Apps in Cloud Run

Abbildung 1: Antigravity ist das von Google entwickelte Tool für die Entwicklung von Agenten.
2. Umgebung einrichten
- Antigravity installieren:
👉Download the [Google Antigravity](https://antigravity.google/docs/get-started) for your environment from [here](https://antigravity.google/).
👉 Installieren Sie Antigravity in Ihrer Umgebung.
👉 Rufen Sie den Ordner auf, in dem Antigravity installiert ist, und doppelklicken Sie auf das Installationsprogramm, um es zu öffnen.
👉 Folgen Sie der Installationsanleitung, um Antigravity in Ihrer Umgebung zu installieren.
- Python installieren
👉 Rufen Sie https://www.python.org/downloads/ auf und installieren Sie Python für Ihr System.
- gcloud installieren
👉 gcloud ist ein Befehlszeilentool, mit dem Sie verschiedene Vorgänge in Google Cloud ausführen können. Folgen Sie dieser Anleitung, um gcloud in Ihrer Umgebung zu installieren.
👉 Testen Sie die Installation nach der Installation, indem Sie das Systemterminal öffnen und gcloud eingeben. 
Abbildung 2: Nachdem Sie gcloud installiert haben, können Sie die Installation testen, indem Sie „gcloud“ in Ihr Terminal eingeben.
3. Projekt einrichten
- Wenn Sie noch kein Projekt haben, das Sie verwenden können, müssen Sie ein neues Projekt in der GCP Console erstellen. Wählen Sie das Projekt in der Projektauswahl (oben links in der Google Cloud Console) aus.

Abbildung 2: Wenn Sie auf das Feld direkt neben dem Google Cloud-Logo klicken, können Sie Ihr Projekt auswählen. Achten Sie darauf, dass Ihr Projekt ausgewählt ist.
- In diesem Lab verwenden wir den Cloud Shell-Editor, um unsere Aufgaben auszuführen. Öffnen Sie Cloud Shell und legen Sie das Projekt mit Cloud Shell fest.
- Klicken Sie auf diesen Link, um direkt zum Cloud Shell-Editor zu gelangen.
- Öffnen Sie das Terminal, falls es noch nicht geöffnet ist. Klicken Sie dazu im Menü auf Terminal > Neues Terminal. Sie können alle Befehle in dieser Anleitung in diesem Terminal ausführen.
- Mit dem folgenden Befehl im Cloud Shell-Terminal können Sie prüfen, ob das Projekt bereits authentifiziert ist.
gcloud auth list
- Führen Sie in Cloud Shell den folgenden Befehl aus, um Ihr Projekt zu bestätigen:
gcloud config list project
- Kopieren Sie die Projekt-ID und legen Sie sie mit dem folgenden Befehl fest.
gcloud config set project <YOUR_PROJECT_ID>
- Wenn Sie sich nicht mehr an Ihre Projekt-ID erinnern, können Sie alle Ihre Projekt-IDs mit dem folgenden Befehl auflisten:
gcloud projects list
4. APIs aktivieren
Für dieses Lab müssen wir einige API-Dienste aktivieren. Führen Sie in Cloud Shell den folgenden Befehl aus.
gcloud services enable aiplatform.googleapis.com
gcloud services enable cloudresourcemanager.googleapis.com
Einführung in die APIs
- Die Vertex AI API (
aiplatform.googleapis.com) ermöglicht den Zugriff auf die Vertex AI -Plattform. So kann Ihre Anwendung mit Gemini-Modellen für die Textgenerierung, Chats und Funktionsaufrufe interagieren. - Mit der Cloud Resource Manager API (
cloudresourcemanager.googleapis.com) können Sie Metadaten für Ihre Google Cloud-Projekte programmatisch verwalten, z. B. Projekt-ID und -Name. Diese sind häufig für andere Tools und SDKs erforderlich, um die Projektidentität und -berechtigungen zu bestätigen.
5. Prüfen, ob Ihre Gutschriften angewendet wurden
In der Phase „Projekteinrichtung“ haben Sie das kostenlose Guthaben beantragt, mit dem Sie die Dienste in Google Cloud nutzen können. Wenn Sie das Guthaben einlösen, wird ein neues kostenloses Rechnungskonto mit dem Namen „Google Cloud Platform Trial Billing Account“ erstellt. So prüfen Sie, ob die Gutschriften angewendet wurden:
curl -s https://raw.githubusercontent.com/haren-bh/gcpbillingactivate/main/activate.py | python3
Wenn der Vorgang erfolgreich war, sollte das Ergebnis so aussehen: Wenn Sie „Projekt erfolgreich verknüpft“ sehen, ist Ihr Rechnungskonto richtig eingerichtet. Wenn Sie den Schritt oben ausführen, können Sie prüfen, ob Ihr Konto verknüpft ist. Falls nicht, wird es verknüpft. Wenn Sie das Projekt noch nicht ausgewählt haben, werden Sie aufgefordert, ein Projekt auszuwählen. Sie können dies auch vorab tun, indem Sie die Schritte unter „Projekteinrichtung“ ausführen. 
Abbildung 3: Bestätigung der Verknüpfung des Rechnungskontos
6. Einführung in Google Antigravity
Google Antigravity ist ein Softwareentwicklungstool mit Fokus auf KI, das von Google DeepMind entwickelt wurde. Google Antigravity nutzt das über einen langen Zeitraum gesammelte Know-how in der Softwareentwicklung in Kombination mit modernster KI, um Entwicklern eine reibungslose und nahtlose KI-basierte Entwicklung zu ermöglichen.
Hier sind einige der wichtigsten Funktionen von Google Antigravity.
Die Abbildung unten zeigt die grundlegenden Elemente von Google Antigravity.
- 👉 Öffnen Sie den Browser und sehen Sie sich die verschiedenen Bereiche an.

Abbildung 4: Die grundlegenden Elemente von Google Antigravity, die Details in Tabelle 1
Tabelle 1: Details zu den grundlegenden Komponenten in Google Antigravity
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Integrierte Gemini 3- und Nanobanana-Modelle: Mit Google Antigravity können Sie die neuesten Flaggschiffmodelle von Google wie Gemini 3 und Nanobanana verwenden. Neben diesen Modellen können Sie auch Drittanbietermodelle wie Claude verwenden.

Abbildung 5: In Google Antigravity 2 können Sie viele Modelle verwenden. Agent-gesteuerte Programmierung: Antigravity bietet eine native Agent-gesteuerte Programmierumgebung, die es Entwicklern ermöglicht, produktiv zu bleiben, ohne dass sie dabei behindert werden.
- Planung und vollständige Nutzerkontrolle: Der Agent nimmt Ihre Eingabe entgegen und wandelt die Aufgabe in einen Plan um, für den er vor der Ausführung Ihre Genehmigung einholt. So kann der Nutzer die Richtung des Agents jederzeit vor der Ausführung der Aufgabe ändern.
- Nutzerfeedback:Während der Ausführung des KI-Agents kann der Nutzer Feedback geben, wenn er dem KI-Agenten zusätzliche Anweisungen geben muss.
- Mehrere Agenten: Sie können mehrere Agenten gleichzeitig für verschiedene Aufgaben einsetzen. So kann Agent A beispielsweise Ihre Authentifizierungslogik umgestalten, während Agent B Unittests für eine neue API schreibt und Agent C im Hintergrund eine Bibliothek recherchiert.
- Agent für Editor, Terminal und Browser: Die Google Antigravity-Agents funktionieren auf mehreren Oberflächen.
- Editor: Google Antigravity-Agents schreiben den Code und präsentieren ihn Ihnen im Editor.
- Terminal: Je nach den Aufgaben, die die Google Antigravity-Agents ausführen müssen, benötigen sie möglicherweise Zugriff auf Ihr Terminal, um einige Befehle auszuführen. Die Agenten können die Befehle bei Bedarf für Sie ausführen.
- Browser: Agents können auch mit Ihrem Browser zusammenarbeiten. Das ist besonders hilfreich, wenn Sie Ihre Webanwendungen testen müssen. Der Agent kann Ihre Anwendung im Webbrowser ausführen, testen und debuggen.
7. Einführung in die KI-basierte Spezifikationsentwicklung
Spec-Driven Development ist ein neues Software-Engineering-Paradigma, bei dem strukturierte Spezifikationen und KI-Agents im Mittelpunkt des Entwicklungslebenszyklus stehen. Im Gegensatz zum „Prompt-and-Patch“-Ansatz (Versuch und Irrtum), der beim grundlegenden KI-Programmieren üblich ist, werden bei SDD sorgfältige Anforderungserfassung, System-/Architekturdesign und Testplanung priorisiert. Es übernimmt die Strenge der Designphase des Wasserfallmodells, integriert sie aber durch Automatisierung in einen modernen, agilen iterativen Zyklus. Auch wenn der Prozess eine sorgfältige Planung und Dokumentation im Voraus erfordert, ist er tatsächlich iterativ, da die KI-Agents eine schnelle Implementierung und Tests ermöglichen. So erhalten Sie schneller Feedback, das Sie zur Verbesserung der Dokumentation nutzen können.
Das Kernprinzip
In diesem Modell werden menschliche Entwickler von „Code-Autoren“ zu „Systemarchitekten“. Die primäre menschliche Verantwortung liegt in der detaillierten Beschreibung von Problemen und Lösungen. Diese detaillierte Ausgabe dient als Single Source of Truth (SSOT), die KI-Agents verwenden, um die Codebasis zu generieren, zu überprüfen und zu optimieren.
Der SDD-Lebenszyklus
Der Prozess besteht aus den folgenden Komponenten. Die Schritte 1 bis 3 sind sehr stark auf den Menschen ausgerichtet, während die Schritte 4 und 5 sich auf den KI-Agenten konzentrieren. Dies ist ein iterativer Prozess, bei dem das Feedback nach dem Ende eines Zyklus verwendet werden kann, um die Spezifikation zu verbessern.
- Anforderungserhebung:Definitive Identifizierung von Geschäftslogik, Nutzeranforderungen und Systembeschränkungen.
- Architekturdesign:Definition der Systemstruktur, der Datenmodelle und der Integrationspunkte.
- System- und Testspezifikation:Erstellung maschinenlesbarer (oder hochstrukturierter) Dokumente, die definieren, was das System tut und wie es validiert wird.
- Automatisierte Codegenerierung:KI-Agents verwenden die Spezifikationen, um produktionsreifen Code zu generieren.
- Tests und Validierung:Automatisierte Suiten prüfen den generierten Code anhand der Testspezifikation.
Wichtige operative Grundsätze
- Der Design-Implementierungszyklus
Die Schritte 1 bis 5 sind kein linearer Pfad, sondern eine kontinuierliche Feedbackschleife. Da die Code-Generierung (Schritt 4) und das Testen (Schritt 5) weitgehend automatisiert sind, kann das Entwicklerteam den Großteil seiner Ressourcen auf die ersten drei Phasen verlagern. Wenn ein Fehler gefunden wird oder sich eine Funktion ändert, aktualisiert der Entwickler die Spezifikation, nicht den Code, und löst den Loop noch einmal aus.
- Modulare Granularität
Um die Systemintegrität aufrechtzuerhalten, muss SDD auf feingliedrige Module und nicht auf monolithische Blöcke angewendet werden.
- Isolation:Wenn ein bestimmtes Modul die Validierung nicht besteht, muss nur dieses Modul neu angegeben und neu generiert werden.
- Skalierbarkeit:Kleine, klar definierte Module verhindern KI-Halluzinationen und sorgen dafür, dass das Kontextfenster des KI-Agents fokussiert und genau bleibt.
- Qualitätskontrolle
In diesem Paradigma ist die System Specification der Bauplan und die Test Specification der Richter. Die Testspezifikation sorgt dafür, dass der generierte Code immer den vorgegebenen Qualitätsanforderungen entspricht. Der gesamte Prozess kann nahtlos in die bestehende CICD-Pipeline integriert werden, sodass die Systemintegrität auch die Qualitätsanforderungen erfüllt.
In diesem Lab werden wir die Grundlagen der spezifikationsgesteuerten Entwicklung mit Google Antigravity kennenlernen.
8. Entwicklung einer Webanwendung mit Google Antigravity
In diesem Lab erstellen wir eine einfache Fotogalerie-Anwendung. Nanobanana, das Modell zur Bildgenerierung, ist in Google Antigravity integriert. Wir verwenden Nanobanana, um die erforderlichen Bilder zu erstellen.
Webbrowser einrichten
Der Webbrowser wird für automatische Tests der App verwendet. In den folgenden Schritten richten wir den Browser so ein, dass Antigravity die Anwendung automatisch testen kann.
- 👉 Klicken Sie rechts oben auf die Schaltfläche „Einstellungen“ (Zahnradsymbol) und wählen Sie „Antigravity-Nutzereinstellungen öffnen“ aus.
- 👉 Klicken Sie im linken Bereich auf „KI-Agent“ und wählen Sie im Abschnitt „ARTIFAKT“ unter „Richtlinie überprüfen“ die Option „Immer fortfahren“ aus.

- 👉 Klicken Sie im linken Bereich auf „Browser“ und prüfen Sie, ob „Browser-Tools aktivieren“ aktiviert ist.

Anwendung mit Google Antigravity erstellen
- 👉 Öffnen Sie Google Antigravity, indem Sie auf das Google Antigravity-Symbol klicken.
- 👉 Erstellen Sie in Ihrem persönlichen Ordner einen Ordner mit dem Namen Galerie, z. B. Computer
- 👉 Tippe in Antigravity auf „Ordner öffnen“ und wähle den Galerieordner aus. Dadurch wird ein neuer Arbeitsbereich im Ordner „Galerie“ geöffnet.
- 👉 Falls der Bereich „Agent“ noch nicht geöffnet ist, klicken Sie auf die Schaltfläche Agent-Bereich ein-/ausblenden, um ihn zu öffnen. Siehe Abbildung 4, Schaltfläche 2.
- 👉 Sie können mit dem Programmieren beginnen, indem Sie Ihre Anweisungen in den Agent-Bereich eingeben. Es ist sehr wichtig, die Anweisungen so klar wie möglich zu formulieren. Geben Sie Folgendes in den Agent-Bereich ein:
**English Version:**
Create a photo granary with following specs.
1. Visual Design & Layout
Title: The gallery must prominently display the title "My photo gallery" at the top.
Modern Grid: Images will be arranged in a responsive grid that spans the full width of the browser.
Clean Aesthetic: Use a minimalist design with consistent spacing (margins/padding) between photos and no heavy borders or shadows.
Image Scaling: Photos will automatically adjust their size to fit any screen (mobile to desktop) while maintaining their focus using modern CSS cropping techniques.
2. Photo Content
Quantity: The page will feature a total of 20 photos.
Nature Themes: The collection will include a diverse range of nature photography:
Landscape: Mountains, deserts, and forests.
Water: Waterfalls, oceans, and lakes.
Atmosphere: Northern lights, sunsets, and starry skies.
Macro: Close-ups of flowers, leaves, and moss.
Generate all the needed photos
3. Core Functionality (The "Lightroom" Effect)
Full-Screen View: Clicking any photo triggers a "Lightbox" mode where the background dims and the selected image appears in high resolution at the center of the screen.
Manual Navigation:
Right Arrow: Swaps the current view to the next image.
Left Arrow: Swaps the current view to the previous image.
Infinite Loop: Navigation is continuous; moving "next" from the 20th photo returns the user to the 1st photo.
Exit Strategy: Users can exit the full-screen view by clicking a "Close" button or tapping the dimmed area outside the image.
4. Technical Constraints (Strict)
Vanilla JavaScript Only: Absolutely no external libraries or frameworks (like jQuery, React, or Bootstrap). All logic must be written in raw, standard JavaScript.
Native HTML & CSS: Use only the built-in capabilities of modern web browsers to handle the layout and animations.
Zero Dependencies: The app should function perfectly as a standalone project with no need to download or link to outside scripts.
5. Perform the following tests
Open the App in a web browser
Click on the images and see the image opens in the lightbox
Check the navigation
Japanische Version:
以下の仕様でフォトギャラリーを作成してください。
1. ビジュアルデザインとレイアウト
タイトル: ページ上部に「My photo gallery」というタイトルを大きく表示すること。
モダンなグリッド: ブラウザの全幅に広がる、レスポンシブなグリッドレイアウトで画像を配置すること。
クリーンな審美性: ミニマリストなデザインを採用し、写真間の余白(マージン/パディング)を一定に保つこと。重い枠線やドロップシャドウは使用しない。
画像のスケーリング: モダンなCSSのトリミング技術(object-fitなど)を使用し、モバイルからデスクトップまで、フォーカスを維持したまま画面サイズに合わせて自動調整されるようにすること。
2. 写真の内容
枚数: 合計20枚の写真を掲載。
自然のテーマ: 多様な自然写真のコレクションにすること。
風景: 山、砂漠、森林。
水: 滝、海、湖。
空気・雰囲気: オーロラ、夕焼け、星空。
マクロ: 花、葉、苔の接写。
画像生成: 2枚の画像を生成し、それらを繰り返して20箇所に配置すること。
3. コア機能(ライトボックス・エフェクト)
全画面表示: 写真をクリックすると「ライトボックス」モードが起動し、背景が暗転して選択された画像が画面中央に高解像度で表示されること。
手動ナビゲーション:
右矢印: 次の画像に切り替え。
左矢印: 前の画像に切り替え。
無限ループ: ナビゲーションは連続的であること。20枚目の写真で「次へ」を押すと1枚目に戻る仕様。
終了方法: 「閉じる」ボタンをクリックするか、画像外の暗転したエリアをタップすることで全画面表示を終了できること。
4. 技術的制約(厳守)
純正JavaScript限定: 外部ライブラリやフレームワーク(jQuery、React、Bootstrapなど)は一切使用禁止。すべてのロジックは標準のJavaScript(生コード)で記述すること。
ネイティブのHTML & CSS: レイアウトやアニメーションには、モダンブラウザの標準機能のみを使用すること。
依存関係ゼロ: 外部スクリプトのダウンロードやリンクを必要とせず、単体で完全に動作するプロジェクトにすること。
5. 以下のテストを実行します
ウェブブラウザでアプリを開きます
画像をクリックすると、ライトボックスで画像が開きます
ナビゲーションを確認します
- 👉 Klicken Sie auf die Schaltfläche „Ausführen“. Nachdem Sie den Agent ausgeführt haben, sollte der Ausführungsplan wie unten angezeigt werden.

Abbildung 5: Der Antigravity-Agent zeigt Ihnen den Implementierungsplan.
- 👉 Sie werden aufgefordert, die Aktion zu bestätigen. Bitte bestätigen Sie die Aktion wie unten beschrieben. Antigravity verwendet automatisch Nanobanana und das ausgewählte LLM-Modell, um die Aufgabe auszuführen.
Abbildung 6: Antigravity möchte einen Befehl ausführen. Drücken Sie auf Ausführen , um die Ausführung zuzulassen.
Abbildung 7: Drücken Sie bei Aufforderung auf „Alle annehmen“.
- 👉 Nachdem der Code generiert wurde, öffnet Antigravity den Browser und beginnt mit dem Testen. Nach dem Test sollten Sie die Testergebnisse erhalten.
Abbildung 8: Antigravity zeigt die Testergebnisse an - 👉 Wenn Sie dazu aufgefordert werden, drücken Sie „Alle akzeptieren“, um den gesamten im Agent-Bereich generierten Code zu speichern.
- 👉 Im Explorer-Bereich von Antigravity sollte der neu generierte Code angezeigt werden.
Abbildung 9: Finaler Code - 👉 Wenn Sie die Anwendung testen möchten, klicken Sie mit der rechten Maustaste auf „index.html“, rufen Sie den Pfad der Datei ab und fügen Sie ihn in die URL-Leiste des Webbrowsers ein.

Abbildung 10: Zum Testen der App kopieren Sie einfach den Pfad der Datei „index.html“ in Ihren Webbrowser.
9. Umgebung für die Bereitstellung einrichten
- 👉 Google Cloud-Projekt-ID abrufen: Rufen Sie https://console.cloud.google.com auf.
- 👉 Klicken Sie oben links und kopieren Sie Ihre Projekt-ID. Wir werden sie in den nächsten Schritten verwenden.
Abbildung 11: Projekt-ID kopieren und für die spätere Verwendung aufbewahren - 👉 Öffnen Sie in Antigravity das Terminal, indem Sie im Menü auf Terminal > Neues Terminal klicken.
- 👉 Wir müssen die Umgebungsvariablen festlegen, die sich für Windows und Mac/Linux unterscheiden. Ersetzen Sie „YOUR CLOUD PROJECT“ durch das Projekt, das Sie in Schritt 2 notiert haben. Hinweis für Windows PowerShell-Nutzer: Öffnen Sie PowerShell im Administratormodus.
#This is only for Powershell users.
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
#For Windows (Powershell) follow the following steps.
$env:GOOGLE_CLOUD_PROJECT="YOUR CLOUD PROJECT"
$env:GOOGLE_CLOUD_LOCATION="us-central1"
#For Windows Command Prompt follow the following steps.
set GOOGLE_CLOUD_PROJECT="YOUR CLOUD PROJECT"
set GOOGLE_CLOUD_LOCATION="us-central1"
#for Mac/Linux follow the following steps.
export GOOGLE_CLOUD_PROJECT="YOUR CLOUD PROJECT"
export GOOGLE_CLOUD_LOCATION="us-central1"
- 👉 Melden Sie sich in der Konsole an. Melden Sie sich bei Aufforderung in Ihrem Browser in Google Cloud an.
gcloud auth login
gcloud auth application-default login
gcloud config set project YOUR CLOUD PROJECT
Abbildung 12: Authentifizierung durchführen
- 👉 Cloud Run-MCP-Server installieren Klicken Sie rechts oben im Antigravity-Fenster auf das Dreipunkt-Menü „…“. Klicken Sie auf die Option „MCP Servers“. MCP-Server sind wie die Erweiterungen für den Agenten, die es Agenten ermöglichen, auf externe Daten und Tools zuzugreifen.
- 👉 Geben Sie „Cloud Run“ in das Suchfeld ein und klicken Sie auf „Cloud Run“
Abbildung 13: Cloud Run-MCP-Server - 👉 Kehren Sie zum Agent-Bereich zurück, indem Sie neben dem Titel „MCP-Server“ die Rückwärtspfeiltaste drücken. Jetzt können wir mit Google Cloud Run interagieren. Geben Sie Folgendes in den Agent-Bereich ein. Dadurch sollte automatisch der Cloud Run-MCP-Server verwendet und die Liste der in Cloud Run ausgeführten Dienste angezeigt werden.
Find me the list of services running in Cloud Run.
- 👉 Stellen Sie die App mit dem folgenden Befehl bereit. Sie können einfach in natürlicher Sprache bereitstellen. Antigravity verwendet automatisch den MCP-Server für die Bereitstellung.
Deploy this gallery static web application to cloud run with service name "photogallery". Use nginx and assume nginx will use port 80
- 👉 Der KI-Agent sollte Ihnen zeigen, wo die App bereitgestellt wurde. z. B. https://photogallery-85469421903.us-central1.run.app Mit dem Cloud-MCP-Server ist es ganz einfach, Ihre Webanwendung in Cloud Run bereitzustellen.
10. Bereinigen
Jetzt räumen wir auf.
- 👉 Löschen Sie die gerade erstellte Cloud Run-App. Rufen Sie Cloud Run über Cloud Run auf . Sie sollten die App sehen, die Sie im vorherigen Schritt erstellt haben. Klicken Sie das Kästchen neben der App an und dann auf die Schaltfläche „Löschen“.
Abbildung 38: Cloud Run-App löschen
11. Fazit
Glückwunsch! Sie haben mit Google Antigravity erfolgreich eine App nach den Prinzipien der Spec-Driven Development erstellt und gelernt, wie Sie die Anwendung in Cloud Run bereitstellen. Das ist ein wichtiger Schritt, der den Kernlebenszyklus einer modernen cloudnativen Anwendung abdeckt und Ihnen eine solide Grundlage für die Bereitstellung Ihrer eigenen komplexen Systeme bietet.
Zusammenfassung
In diesem Lab haben Sie Folgendes gelernt:
- Multi-Agent-Anwendung mit Google Antigravity erstellen
- Anwendung in Cloud Run bereitstellen
Nützliche Ressourcen