Überblick
.devin/blueprint.yaml zu speichern. Sie synchronisieren die Datei per API oder über die UI mit Devin und lösen dann einen Snapshot-Build aus, um die Änderungen zu übernehmen.
So erhalten Sie denselben Workflow wie für Anwendungscode: in Ihrer IDE bearbeiten, einen Pull Request (PR) öffnen, ein Review einholen, zusammenführen und anschließend per CI-Schritt oder über die UI synchronisieren und bauen.
| Ansatz | Wo das Blueprint liegt | Wie Sie es bearbeiten | Wie Änderungen übernommen werden |
|---|---|---|---|
| Datenbank (Standard) | Devins Settings-UI | Im Browser bearbeiten | Wird beim Klick sofort gespeichert |
| Git-basiert | .devin/blueprint.yaml in Ihrem Repo | In Ihrer IDE bearbeiten, eine PR zusammenführen | Die Sync-API aufrufen (oder in der UI auf Sync klicken) und dann einen Build auslösen |
Git-basierte Blueprints verwenden dasselbe YAML-Format wie der UI-Editor. Die vollständige Feldspezifikation finden Sie in der Blueprint reference.
Erste Schritte
1. Blueprint-Datei erstellen
.devin/blueprint.yaml-Datei hinzu:
2. In den Standard-Branch pushen
.devin/blueprint.yaml in den Standard-Branch Ihres Repositorys (in der Regel main oder master).
Wenn das Repository bereits mit Devins Environment verbunden ist, müssen Sie eine Synchronisierung anstoßen (über die API oder die UI-Schaltfläche „Sync“), damit Devin die Datei übernimmt. Wenn Sie das Repo zum ersten Mal hinzufügen, wird das Blueprint bei der ersten Erkennung aus Git gelesen.
3. In der UI prüfen
Wie Sync funktioniert
.devin/blueprint.yaml vom HEAD des Standard-Branches des Repos abgerufen und die in Devin gespeicherten Blueprint-Versionen werden aktualisiert. Sync erfolgt nicht automatisch bei einem Push — Sie lösen ihn explizit aus:
- API-Sync — Rufen Sie den v3-Sync-Endpunkt auf (siehe unten Sync über die API). Dies ist der empfohlene Ansatz für CI/CD-Pipelines.
- UI-Sync — Klicken Sie im Blueprint-Editor auf die Schaltfläche Sync. Dadurch wird auch ein Snapshot-Build ausgelöst, wenn sich der Inhalt geändert hat.
- Beim Hinzufügen eines Repos zur Umgebung — Wenn
.devin/blueprint.yamlim Standard-Branch vorhanden ist, wird das Blueprint bei der ersten Erkennung automatisch aus Git übernommen.
Sync vs. Build
- Sync holt die neueste
.devin/blueprint.yamlaus Git und speichert eine neue Blueprint-Version. - Build erstellt aus den aktuellen Blueprint-Versionen ein neues Snapshot-Image.
Über die API synchronisieren
.devin/blueprint.yaml die v3 API aufruft. Das geschieht in der Regel in einer CI/CD-Pipeline (z. B. in einem GitHub Actions-Schritt nach dem Merge).
Durchgängiger Ablauf
Schritt 1: Blueprint synchronisieren
.devin/blueprint.yaml aus dem Standard-Branch herunter:
repo_name akzeptiert für GitHub owner/repo und für andere Hosts eine vollständige URL (z. B. https://gitlab.com/org/repo).
Schritt 2: Einen Build auslösen
Schritt 3: Build-Status pollen (optional)
status durchläuft folgende Zustände: running → succeeded oder failed.
Unternehmensweite Synchronisierung
Beispiel: GitHub Actions workflow
Sie benötigen einen Service-Benutzer oder einen Personal Access Token mit Schreibberechtigungen für die Umgebung. Speichern Sie das Token als
DEVIN_API_TOKEN und Ihre Org-ID als DEVIN_ORG_ID in den Secrets Ihres Repositorys.Git-basierte Blueprints bearbeiten
Eine PR im Editor erstellen
- Öffnen Sie den Blueprint-Editor unter Settings > Environment > Blueprints
- Bearbeiten Sie das YAML im Editor
- Klicken Sie auf Create PR
- Devin eröffnet in Ihrem Repository einen Pull Request, der
.devin/blueprint.yamlaktualisiert - Prüfen Sie die PR, genehmigen Sie sie und führen Sie sie zusammen
- Die nächste Synchronisierung übernimmt die Änderung und löst einen Build aus
Direkt in Ihrem Repository bearbeiten
- Bearbeiten Sie
.devin/blueprint.yamlin Ihrer IDE oder auf Ihrem Git-Anbieter - Committen und pushen Sie in den Standard-Branch (oder öffnen Sie eine Pull Request (PR) und mergen Sie sie)
- Lösen Sie eine Synchronisierung über die API aus oder klicken Sie in der UI auf Sync
Devin-Vorschläge
.devin/blueprint.yaml umgesetzt, statt direkt in der Datenbank gespeichert zu werden. Sie prüfen die PR und mergen sie wie jede andere Codeänderung.
Monorepos und Workspaces
includes verwenden, um für jeden Workspace ein separates Blueprint zu definieren. Jeder Workspace erhält in seinem Unterverzeichnis eine eigene Datei .devin/blueprint.yaml.
Root-Blueprint mit Includes
.devin/blueprint.yaml legt fest, welche Workspaces eigene Blueprints haben:
Workspace-Blueprints
.devin/blueprint.yaml:
Regeln für includes
- Jeder
includes-Eintrag ist ein Pfad zu einem Unterverzeichnis (z. B.packages/frontend). Devin sucht in diesem Verzeichnis nach.devin/blueprint.yaml. - Sie können auch den vollständigen Pfad verwenden:
packages/frontend/.devin/blueprint.yaml. - Nur das Root-Blueprint darf
includesenthalten. Verschachtelteincludes(ein eingebundenes Blueprint, das selbstincludesdeklariert) sind nicht zulässig. - Jeder Workspace-Pfad darf in
includesnur einmal vorkommen. - Fehlt eine eingebundene Datei im Repository, wird der entsprechende Workspace als entfernt behandelt und sein Blueprint bereinigt.
Zwischen Git- und Datenbankmodus umschalten
Zu Git wechseln
- Erstellen Sie
.devin/blueprint.yamlmit den gewünschten Inhalten in Ihrem Repository. - Pushen Sie die Änderungen in den Standard-Branch.
- Klicken Sie im Blueprint-Editor auf das Dropdown-Menü „Quelle“ und wählen Sie Ihren Git-Anbieter aus (z. B. „GitHub“).
- Devin synchronisiert die Datei aus Git und wechselt in den Git-basierten Modus.
Zum Datenbankmodus wechseln
- Klicke im Blueprint-Editor auf das Dropdown-Menü „Quelle“ und wähle Database aus.
- Der aktuelle Inhalt bleibt erhalten, aber zukünftige Pushes an
.devin/blueprint.yamlaktualisieren das Blueprint nicht mehr. - Du kannst das Blueprint jetzt direkt in der UI bearbeiten und speichern.
Entkoppelte Workspaces
Versionsverlauf
- Quelle:
git_syncfür Versionen, die durch die Synchronisierung erstellt wurden,manualfür Versionen, die in der UI erstellt wurden - Commit-SHA: der Commit des Standard-Branches, für den die Synchronisierung ausgeführt wurde (mit Link zum Commit bei Ihrem Git-Anbieter)
YAML mit mehreren Dokumenten
.devin/blueprint.yaml YAML mit mehreren Dokumenten mithilfe des Trennzeichens ---. So können Sie plattformspezifische Konfigurationen in einer einzigen Datei definieren:
Fehlerbehebung
Blueprint wird nicht synchronisiert
- Befindet sich die Datei unter dem richtigen Pfad? Sie muss sich unter
.devin/blueprint.yamlim Root-Verzeichnis des Repositorys befinden (oder unter<workspace>/.devin/blueprint.yamlfür eingebundene Workspaces). - Haben Sie eine Synchronisierung ausgelöst? Die Synchronisierung erfolgt nicht automatisch bei einem Push. Rufen Sie den Sync-API-Endpunkt auf oder klicken Sie in der UI auf die Schaltfläche Sync.
- Ist das Repository in Devins Umgebung? Das Repo muss unter Settings > Environment > Blueprints hinzugefügt werden, damit die Synchronisierung ausgeführt werden kann.
- Ist der git-basierte-Modus aktiviert? Der Blueprint muss sich im git-basierten-Modus befinden (nicht im Datenbankmodus), damit die Synchronisierung ihn aktualisiert.
Fehler durch ungültiges YAML
.devin/blueprint.yaml ungültiges YAML enthält oder nicht dem Blueprint-Schema entspricht, schlägt die Synchronisierung mit einer Fehlermeldung fehl. Korrigieren Sie die Datei im Standard-Branch und synchronisieren Sie sie dann erneut. Der Blueprint-Editor in der UI validiert das Schema und zeigt Fehler an, bevor Sie eine PR erstellen. So lassen sich Probleme erkennen, bevor sie in den Standard-Branch gelangen.
Blueprint zeigt nach dem Pushen „Database“ an
.devin/blueprint.yaml gepusht haben, im Editor aber weiterhin „Database“ als Quelle angezeigt wird, wurde das Blueprint möglicherweise noch nicht in den git-basierten Modus umgeschaltet. Verwenden Sie das Dropdown-Menü „Quelle“, um zu Ihrem Git-Anbieter zu wechseln. Dadurch wird die erste Synchronisierung ausgelöst.
