Erste Schritte
Voraussetzungen: Devin muss Zugriff auf Ihre Repositories haben, bevor Sie die Umgebung konfigurieren können. Wenn Sie Ihre Git-Integration noch nicht eingerichtet haben, finden Sie unter Bevor Sie beginnen die Einrichtungsschritte. Enterprise-Nutzer müssen außerdem jeder Organisation in Enterprise Settings > Repository Permissions Zugriff auf ihre Repositories gewähren.
- Devin erledigt das (empfohlen)
- Manuelle Einrichtung
Am besten für die meisten Nutzer geeignet. Devin untersucht Ihr Repository, ermittelt die benötigten Tools, Laufzeitumgebungen und Abhängigkeiten und erstellt den Blueprint für Sie. Sie prüfen und genehmigen das vorgeschlagene Setup, bevor der Build startet.Sehen Sie sich im Environment-Hub das Video und die Übersicht zur Einrichtung mit einem Prompt an.
1
Eine Devin-Sitzung starten
Öffnen Sie eine neue Sitzung und bitten Sie Devin, das Repository zu konfigurieren. Zum Beispiel: “Richte deine Umgebung für dieses Repository ein.”
2
Prüfen und freigeben
Devin schlägt anhand der gefundenen Informationen einen Blueprint vor. In Ihrer Timeline sehen Sie suggestion cards. Prüfen Sie die vorgeschlagenen Tools, Abhängigkeiten und Befehle und klicken Sie dann auf Approve.
3
Build starten und überprüfen
Sobald Sie die Vorschläge genehmigen, wird ein Build ausgeführt und erstellt einen Snapshot. Starten Sie eine neue Sitzung, um daraus zu starten, und bitten Sie Devin dann, Ihre Lint- oder Testbefehle auszuführen, um zu bestätigen, dass alles funktioniert.
Sehen Sie die vollständige Umsetzung
Szenarien: Wachstum mit ACME Corp — ein Repository, dann mehrere Repositories mit gemeinsamen Abhängigkeiten, dann mehrere Organisationen. Ausgearbeitete Blueprints für jede Phase und Hinweise dazu, wie Sie entscheiden, zu welcher Ebene etwas gehört.
Wie es funktioniert
Die deklarative Konfiguration basiert auf drei Konzepten:
Blueprints beschreiben, was Sie möchten. Sie erstellen und bearbeiten sie in der Settings-UI.
Builds führen Ihre Blueprints aus und erzeugen daraus Snapshots. Builds werden automatisch ausgeführt, wenn Sie ein Blueprint speichern, und in regelmäßigen Abständen (~alle 24 Stunden), damit Abhängigkeiten aktuell bleiben.
Snapshots sind die Grundlage, von der Sitzungen starten. Jede Organisation hat genau einen aktiven Snapshot. Jede Sitzung startet mit einer frischen Kopie. Änderungen aus Sitzungen werden nicht in den Snapshot zurückgeschrieben.
Blueprint-Abschnitte
Ein Blueprint hat drei Kernabschnitte sowie einenpost-build-Block für Blueprints auf Organisations-/Enterprise-Ebene und einen optionalen clone-Block für Blueprints auf Repository-Ebene:
initialize ist für Dinge gedacht, die nur einmal passieren müssen: Laufzeitumgebungen, Systempakete und globale CLI-Tools.
maintenance ist für die Installation von Abhängigkeiten gedacht, die aktuell bleiben sollen. Es wird während Builds ausgeführt und dem Agent zu Sitzungsbeginn angezeigt, sodass er die Befehle erneut ausführen kann, wenn sich Abhängigkeiten geändert haben (z. B. nach dem Abrufen des neuesten Codes). Befehle werden zu Sitzungsbeginn nicht automatisch ausgeführt, sollten aber dennoch schnell und inkrementell sein (verwende npm install, nicht npm ci).
knowledge enthält Referenzinformationen und wird nicht ausgeführt. So teilst du Devin die richtigen Befehle für Linting, Tests und Builds mit. Halte die Einträge knapp und auf ausführbare Befehle fokussiert.
post-build (nur auf Organisations- und Enterprise-Ebene) wird ausgeführt, nachdem jedes Repository geklont und eingerichtet wurde, direkt bevor der Snapshot gespeichert wird. Verwende es, um die zusammengesetzte Umgebung zu überprüfen — z. B. ob erforderliche Tools installiert sind oder ein Repository-übergreifender Smoke-Test erfolgreich ist. Ein Exit-Code ungleich null lässt den Build fehlschlagen, sodass kein Snapshot bereitgestellt wird, ohne deine Prüfungen zu bestehen. Siehe Blueprint-Referenz → post-build.
clone (nur auf Repository-Ebene) überschreibt Standardvorgaben, die Devin beim Klonen des Repositorys in den Snapshot verwendet — zum Beispiel das Auschecken eines nicht standardmäßigen Branches (ref), das Ändern des Clone-Ziels (path) oder das Überspringen von Submodulen oder LFS-Objekten. Jedes Feld ist optional. Die vollständige Feldliste findest du unter Blueprint-Referenz → clone.
Knowledge hier vs. die Produktfunktion Knowledge: Der Abschnitt
knowledge in deinem Blueprint ist für kurze Befehlsreferenzen gedacht, die an die Umgebung gebunden sind. Für Architekturdokumente, Konventionen und Team-Workflows verwende stattdessen die eigenständige Funktion Skills.YAML mit mehreren Dokumenten: Der Blueprint-Editor unterstützt YAML mit mehreren Dokumenten mit dem Trennzeichen
---. So kannst du komplexe Blueprints innerhalb eines einzelnen Editors in logische Abschnitte gliedern.Geltungsbereich von Blueprints
Sie können Blueprints auf zwei Ebenen definieren:
Blueprints sind additiv: Repository-Blueprints bauen auf dem Organisations-Blueprint auf. Das
maintenance eines Repositorys kann Tools verwenden, die im initialize der Organisation installiert wurden. Wenn nur ein Repository ein Tool benötigt, fügen Sie es dem Blueprint dieses Repositorys hinzu. Wenn es in jedem Repository benötigt wird, fügen Sie es dem Organisations-Blueprint hinzu.
Bei Monorepos kann ein Repository einen Root-Blueprint sowie Workspace-Blueprints pro Unterverzeichnis haben, jeweils mit eigenen Abschnitten für initialize, maintenance und knowledge sowie einem eigenen Arbeitsverzeichnis. Anleitungen zur Einrichtung und Beispiele finden Sie unter Workspaces und Monorepos.
Konkrete Beispiele dafür, wie Sie mit wachsender Codebasis die passende Ebene wählen, finden Sie unter Szenarien: Wachstum mit ACME Corp.
Enterprise-Nutzer: Es gibt eine dritte Ebene, den Enterprise-Blueprint, der für alle Organisationen gilt. Weitere
Informationen finden Sie unter Überblick über Enterprise-Umgebungen.
Builds und Sitzungen
Der Snapshot
Ihre Organisation hat einen aktiven Snapshot: ein VM-Image, in dem Ihre Tools, Repositorys und Abhängigkeiten vorinstalliert sind. Alle konfigurierten Repositorys werden in diesem einen Image geklont und eingerichtet. Jede Sitzung startet mit einer frischen Kopie.So funktionieren Builds
Ein Build erstellt einen neuen Snapshot, indem Ihre Blueprints der Reihe nach ausgeführt werden:Wie Sitzungen funktionieren
Jede Sitzung startet mit einer frischen Kopie des Snapshots. Wenn die Sitzung endet, werden alle Änderungen verworfen. Beim Sitzungsstart:- Der neueste Code wird für die relevanten Repositorys abgerufen.
maintenance-Befehle (Enterprise-, organisations- und repository-weit) werden dem Agenten als Kontext bereitgestellt — nicht automatisch ausgeführt. Der Agent kann sie erneut ausführen, wenn er erkennt, dass sich Abhängigkeiten seit dem letzten Build geändert haben.- Die Knowledge-Einträge dieses Repositorys werden in Devins Kontext geladen.
Knowledge ist repository-spezifisch. Wenn Sie 5 Repositorys konfiguriert haben, sieht Devin nur die Knowledge-Einträge des Repositorys, an dem gerade gearbeitet wird.
Was einen Build auslöst
Es kann jeweils nur ein Build gleichzeitig ausgeführt werden. Neue Auslöser brechen jeden Build in der Warteschlange ab und starten ihn neu.
Build-Status
Ein teilweiser Build erzeugt dennoch einen funktionierenden Snapshot. Jedes Repository wurde geklont, sodass der gesamte Quellcode in der Sitzung verfügbar ist — lediglich die Setup-Schritte der fehlgeschlagenen Blueprints wurden nicht ausgeführt. Wenn eines von fünf Repositorys einen fehlerhaften Blueprint hat, sind die anderen vier vollständig eingerichtet, und Devin kann das fünfte weiterhin lesen und damit arbeiten.
Ihre Umgebung verwalten
Repository-Zustände
Repositories erscheinen in den Environment-Einstellungen in drei Zuständen:
Enthalten vs. konfiguriert: Ein „enthaltenes“ Repository wird in den Snapshot geklont, damit Devin auf den Code zugreifen kann, hat aber keine benutzerdefinierten Setup-Befehle. Ein „konfiguriertes“ Repository hat explizite Initialize-/Maintenance-/Knowledge-Anweisungen.
Secrets
Verweisen Sie mit der Syntax$VARIABLE_NAME auf Secrets. Legen Sie sie im Tab Secrets im Blueprint-Editor an.
initialize einen geheimen Wert in eine Konfigurationsdatei schreibt, bleibt dieser Wert im Snapshot erhalten. Platzieren Sie Schritte zum Schreiben von Anmeldedaten in maintenance, damit sie bei regelmäßigen Builds aktualisiert werden.
Weitere Informationen zu den Geltungsbereichen und zum Verhalten von Secrets finden Sie in der Blueprint-Referenz.
Mehrere Repositories
Jedes Repository erhält eine eigene Blueprint. Während eines Builds werden alle Repositories im selben Snapshot eingerichtet, in separate Verzeichnisse geklont, und die Abhängigkeiten werden jeweils unabhängig voneinander installiert. Wenn zwei Repositories unterschiedliche Versionen eines globalen Tools installieren oder gemeinsam genutzte Dateien (wie~/.bashrc) ändern, gilt die zuletzt ausgeführte Änderung. Platzieren Sie gemeinsame Tool-Installationen in der organisationsweiten Blueprint, um Konflikte zu vermeiden.
GitHub Actions
Anstatt Shell-Skripte zum Installieren von Tools und Laufzeitumgebungen zu schreiben, können Sie GitHub Actions direkt in Ihrem Blueprint referenzieren. Devin lädt die Action während des Builds herunter und führt sie aus – genauso wie GitHubs CI-Runner Action-Schritte ausführen.setup-python, setup-node und setup-go, die Versionsverwaltung und PATH-Konfiguration automatisch übernehmen.
Details zur Syntax, Beispiele und Einschränkungen finden Sie unter GitHub Actions in Blueprints.
Monorepos
Sie können Befehle mithilfe von Subshells in Unterverzeichnissen ausführen oder dedizierte, auf den jeweiligen Workspace zugeschnittene Blueprints für einzelne Pakete erstellen. Devin unterstützt auch Knowledge-Einträge pro Paket, sodass jeder Workspace eigene Lint-, Test- und Build-Befehle hat. Siehe Workspaces und Monorepos für Setup-Anleitungen und Beispiele.Anpinnen und automatische Updates
Standardmäßig verwendet Devin den Snapshot des zuletzt erfolgreichen Builds. Mit dem Anpinnen können Sie den Snapshot eines bestimmten Builds festlegen. Das ist nützlich, wenn ein neuer Build eine Regression verursacht oder wenn Sie die Umgebung für eine Reihe von Sitzungen einfrieren möchten. So pinnen Sie an: Gehen Sie zu Settings > Environment > Snapshots, suchen Sie den Build im Verlauf (musssuccess oder partial sein und darf nicht älter als 7 Tage sein), öffnen Sie dessen Menü und klicken Sie auf Use this build. Solange ein Snapshot angepinnt ist, werden regelmäßige Aktualisierungen übersprungen, der Build erhält das Badge Locked und in der Benutzeroberfläche wird Automatische Updates pausiert angezeigt.
So heben Sie das Anpinnen auf: Klicken Sie auf Automatische Updates fortsetzen. Devin wechselt zum zuletzt erfolgreichen Build.
Git-basierte Blueprints
Sie können Blueprints als.devin/blueprint.yaml-Dateien direkt in Ihrem Repository speichern. Nachdem Sie Änderungen zusammengeführt haben, rufen Sie die Sync-API auf (oder klicken Sie in der UI auf Sync), um das Blueprint zu aktualisieren, und starten Sie dann einen Build. So nutzen Sie denselben Code-Review-Workflow wie für Ihren Anwendungscode, wobei die Synchronisierung über einen CI-Schritt automatisiert wird.
Unter Git-backed blueprints finden Sie Anleitungen zur Einrichtung und weitere Details.
Build-Probleme beheben
Schritt „Initialize“ fehlgeschlagen
Häufige Ursachen: Tippfehler in einem Shell-Befehl, Paket nicht verfügbar, Netzwerk-Timeout, falsche GitHub-Action-Referenz. Behebung: Prüfen Sie die Build-Logs auf die genaue Fehlermeldung. Aktualisieren Sieinitialize in Ihrem Blueprint und speichern Sie. Ein neuer Build wird automatisch ausgelöst.
Repository konnte nicht geklont werden
Häufige Ursachen: Devin hat keinen Zugriff auf das Repository, das Repository wurde umbenannt/verschoben/gelöscht, oder es liegt ein vorübergehendes Netzwerkproblem vor. Lösung: Überprüfen Sie den Zugriff auf das Repository in den Settings Ihres Git-Anbieters. Entfernen Sie das Repository und fügen Sie es erneut hinzu, wenn es umbenannt wurde.Maintenance-Schritt fehlgeschlagen
Häufige Ursachen: Abhängigkeitskonflikt, fehlende Systembibliothek, zu wenig Speicherplatz, Lock-Datei nicht auf dem neuesten Stand. Behebung: Prüfen Sie die Logs des fehlgeschlagenen Pakets bzw. Befehls. Aktualisieren SieMaintenance oder initialize, damit fehlende Abhängigkeiten installiert werden, oder korrigieren Sie die Lock-Datei in Ihrem Repository.
Build-Timeout
Für jeden Blueprint-Schritt gilt ein Timeout von 3 Stunden. Für Repository-Klone und -Pulls gilt derselbe Timeout von 3 Stunden. Häufige Ursachen: das Kompilieren großer nativer Abhängigkeiten aus dem Quellcode (verwenden Sie vorkompilierte Binärdateien), das Herunterladen großer Artefakte sowie Befehle, die auf Eingaben warten und dadurch hängen bleiben (alle Befehle müssen nicht interaktiv sein).Fixes iterativ verbessern
- Prüfen Sie die Build-Logs, um den Fehler zu identifizieren
- Aktualisieren Sie den relevanten Blueprint
- Speichern Sie (ein neuer Build wird automatisch ausgelöst)
- Überwachen Sie die Logs des neuen Builds
- Wiederholen Sie den Vorgang, bis der Build erfolgreich ist
Sie müssen nicht warten, bis ein fehlgeschlagener Build beendet ist. Wenn Sie eine neue Konfiguration speichern, wird jeder in der Warteschlange befindliche Build abgebrochen und ein neuer gestartet.
Nächste Schritte
Szenarien: Wachstum mit ACME Corp
Durchgearbeitete Beispiele: ein Repository, dann mehrere Repositories mit gemeinsam genutzten Abhängigkeiten, dann mehrere Organisationen.
Differentielle Builds
Beschleunigen Sie Builds, indem Sie nur die Workspaces neu erstellen, deren Blueprints geändert wurden.
GitHub Actions in Blueprints
Verwenden Sie GitHub Actions, um Sprachen, Tools und SDKs zu installieren, ohne Shell-Skripte schreiben zu müssen.
Workspaces und Monorepos
Subshells, Workspace-Geltungsbereiche und Knowledge-Einträge für Repositories mit mehreren Paketen.
Blueprint-Referenz
Vollständige Feldreferenz: Schritttypen, Umgebungsvariablen, Secrets und Dateianhänge.
Vorlagenbibliothek
Blueprints zum Kopieren und Einfügen für Python, Node.js, Go, Java, Ruby, Rust und erweiterte Muster.
Git-basierte Blueprints
Speichern Sie Blueprints in Ihrem Repository als
.devin/blueprint.yaml und synchronisieren Sie sie über API oder UI.Enterprise-Umgebungsverwaltung
Unternehmensweite Umgebungsverwaltung: 3-stufige Hierarchie, Secrets und organisationsübergreifende Konfiguration.

