Zum Inhalt springen

Workflow

Die folgenden Abschnitte beschreiben den typischen Arbeitsablauf und den täglichen Umgang mit den relevanten Containern in der lokalen Entwicklungsumgebung.


Dependencies werden weder im dev-Container, noch im app-Container installiert. Stattdessen übernehmen der deps-Container bzw. der deps-update-Container diese Aufgabe.

Terminal-Fenster
docker compose -f .devcontainer/compose.yml run --rm deps

Wenn noch kein Lockfile vorhanden ist oder das Lockfile nicht zur package.json passt, muss der deps-update-Container genutzt werden:

Terminal-Fenster
docker compose -f .devcontainer/compose.yml run --rm deps-update

Neue Dependencies (z.B. socket) werden über den deps-update-Container installiert:

Terminal-Fenster
docker compose -f .devcontainer/compose.yml run --rm deps-update socket

Auch Versionsänderungen erfolgen über den deps-update-Container:

Terminal-Fenster
docker compose -f .devcontainer/compose.yml run --rm deps-update socket@^1.1.78

Alternativ können neue Dependencies oder Versionsänderungen manuell in der package.json auf dem Host-System oder im dev-Container vorgenommen werden.

Anschließend muss die Installation über den deps-update-Container erfolgen:

Terminal-Fenster
docker compose -f .devcontainer/compose.yml run --rm deps-update

Im regulären Arbeitsablauf wird hauptsächlich innerhalb des dev-Containers in VS Code gearbeitet.

Dazu wird das Development Container Projekt in VS Code geöffnet und im Container gestartet:

Dev Containers: Reopen in Container

Die Anwendung wird im separaten app-Container gestartet:

Terminal-Fenster
docker compose -f .devcontainer/compose.yml --profile app up app

Der Container läuft anschließend und die Anwendung ist lokal erreichbar, z.B. unter:

http://localhost:3000

Der Container kann auch im Hintergrund gestartet werden:

Terminal-Fenster
docker compose -f .devcontainer/compose.yml --profile app up -d app

Weder der dev- noch der app-Container müssen laufen, um den ai-Container nutzen zu können.

Terminal-Fenster
docker compose -f .devcontainer/compose.yml --profile ai up ai

oder wenn das Image neu gebaut werden muss (z.B. wenn sich die Version des Claude Code NPM-Packages in Dockerfile.claude geändert hat):

Terminal-Fenster
docker compose -f .devcontainer/compose.yml --profile ai up --build ai

Für den ai-agent-Container entsprechend mit --profile ai-agent:

Terminal-Fenster
docker compose -f .devcontainer/compose.yml --profile ai-agent up ai-agent

oder wenn das Image neu gebaut werden muss (gleiches Prinzip wie zuvor bei ai):

Terminal-Fenster
docker compose -f .devcontainer/compose.yml --profile ai-agent up --build ai-agent
Terminal-Fenster
docker compose -f .devcontainer/compose.yml ps -a
Terminal-Fenster
docker compose -f .devcontainer/compose.yml exec ai bash

Claude starten:

Terminal-Fenster
claude