Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Arbeitsabläufe
Transformationen ausführen
In diesem Abschnitt werden die verschiedenen Methoden zur Ausführung von Transformationen und Optionen zur Steuerung des Ausführungsverhaltens beschrieben.
Ausführungsmodi
AWS Transform custom unterstützt drei Ausführungsmodi für unterschiedliche Workflows.
Interaktiver Konversationsmodus
Starten Sie die CLI mit atx und bitten Sie den Agenten, eine Transformation in natürlicher Sprache auszuführen. In diesem Modus können Sie eine vollständige Konversation mit dem Agenten führen, die Ausführung jederzeit unterbrechen und während des Transformationsprozesses Feedback geben.
Verwenden Sie diesen Modus, wenn Sie maximale Kontrolle und die Möglichkeit haben möchten, den Agenten durch komplexe Szenarien zu führen.
Direkte interaktive Ausführung
Wird verwendetatx custom def exec -n <transformation-name> -p <path>, um eine bestimmte Transformation interaktiv zu starten. In diesem Modus können Sie den Agenten zu Beginn, während oder am Ende der Ausführung überprüfen und mit ihm interagieren. Der Agent wird an wichtigen Entscheidungspunkten eine Pause einlegen und Sie um Ihr Feedback bitten.
Dies ist ideal, um Transformationen zu testen und zu verfeinern, bevor sie autonom ausgeführt werden.
Sie können Transformationen im nicht interaktiven Modus oder im Headless-Modus ausführen. Non-interactive Der Modus unterdrückt Eingabeaufforderungen während einer benannten Transformation. Im Headless-Modus können Sie den Agenten mit einer Klartext-Aufforderung ausführen, wodurch die interaktive Oberfläche vollständig umgangen wird.
Non-interactive Modus
atx custom def exec -n <transformation-name> -p <path> -x -tFür die vollständige Automatisierung verwenden. Fügen Sie -x diese Option hinzu, um sie im nicht interaktiven Modus auszuführen und -t alle Tools automatisch und ohne Aufforderung als vertrauenswürdig einzustufen.
Dieser Modus ist für die CI/CD Pipeline-Integration und die Massenausführung konzipiert, wenn kein menschliches Eingreifen möglich oder gewünscht ist.
Kopfloser Modus
Um Aufgaben zu erledigen, ohne mit dem Agenten zu interagieren, führen Sie die Anweisungen aus atx -x "<prompt>" -t und geben Sie sie im Klartext ein.
Ausführung der Transformation ohne Kopf
Verwenden Sie diesen Modus, um eine bestehende Transformationsdefinition auf Ihre Codebasis anzuwenden. Die Transformation führt jeden Schritt automatisch aus, ohne dass Ihre Zustimmung erforderlich ist.
atx -x "apply transformation definition <transformation_definition_name> to <codebase_path>" -t
Transformationsentwicklung ohne Kopf
Transformationsdefinitionen erstellen oder ändern.
Führen Sie den folgenden Befehl aus, um eine ältere Transformationsdefinition in das neue Skillformat (SKILL.md + References/) zu konvertieren:
atx -x "convert <legacy_transformation_definition_name> transformation definition to skill and save as draft" -t
Führen Sie den folgenden Befehl aus, um eine neue Transformationsdefinition zu erstellen:
atx -x "create a transformation definition to <description> with references docs <reference_docs_path>" -t
Allgemeine Befehls-Flags
Bei der Ausführung von Transformationen mit atx custom def exec werden häufig die folgenden Flags verwendet:
-noder--transformation-name— Gibt den Namen der auszuführenden Transformation an-poder--code-repository-path— Gibt den Pfad zu Ihrer Codebasis an (verwenden Sie „.“ für das aktuelle Verzeichnis)-coder--build-command— Gibt den auszuführenden Build- oder Validierungsbefehl an-xoder--non-interactive— Aktiviert den nicht interaktiven Modus (keine Benutzeraufforderungen)-toder--trust-all-tools— vertraut automatisch allen Tools, ohne dass Sie dazu aufgefordert werden-doder--do-not-learn— Verhindert das Extrahieren von Lektionen aus dieser Ausführung--tvoder--transformation-version— Gibt eine bestimmte Version der Transformation an-goder--configuration— Stellt eine Konfigurationsdatei oder eine Inline-Konfiguration bereit
Wichtig
Das --trust-all-tools Kennzeichen -t oder genehmigt automatisch alle Toolausführungen ohne Aufforderung und umgeht die meisten Sicherheitsvorkehrungen (Befehle, die Ihrer alwaysPromptCommands Liste entsprechen, erfordern weiterhin eine ausdrückliche Genehmigung, sofern sie nicht von überschrieben werden). trustedShellCommands Die Weitergabe --trust-all-tools ist für eine vollständig autonome Nutzung erforderlich, für die Ausführung der Transformation jedoch nicht erforderlich. --non-interactive In Produktionsumgebungen mit Vorsicht verwenden.
Verwendung von Konfigurationsdateien
AWS Transform custom unterstützt optionale Konfigurationsdateien im YAML- oder JSON-Format. Mit Konfigurationsdateien können Sie Ausführungsparameter angeben und dem Agenten zusätzlichen Kontext zur Verfügung stellen.
Um eine Konfigurationsdatei zu verwenden:
atx custom def exec --configuration file://config.yaml
Sie können die Konfiguration auch als Inline-Schlüssel-Wert-Paare bereitstellen:
atx custom def exec --configuration "key=value,key2=value2"
Beispiel für eine Konfigurationsdatei (config.yaml):
codeRepositoryPath: ./my-project transformationName: my-transformation buildCommand: mvn clean install additionalPlanContext: | The target Java version to upgrade to is Java 17. Ensure compatibility with our internal logging framework version 2.3. validationCommands: | mvn test mvn verify
Der additionalPlanContext Parameter bietet zusätzlichen Kontext für den Ausführungsplan des Agenten. Dies ist besonders nützlich bei AWS-verwalteten Transformationen, um ihr Verhalten an Ihre spezifischen Bedürfnisse anzupassen.
Befehle zum Erstellen und Überprüfen
Der Build- oder Validierungsbefehl ist ein optionaler Parameter, der angibt, wie Ihr Code während des Transformationsprozesses validiert werden soll. AWS Transform custom versucht, auf der Grundlage der Transformation den besten Build-Befehl abzuleiten, falls dieser nicht angegeben wurde. Es wird jedoch empfohlen, aus Qualitätsgründen spezifisch zu sein.
Beispiele für Build- und Validierungsbefehle:
Java:
mvn clean installodergradle buildPython:
pytestoderpython -m py_compileNode.js:
npm run buildodernpm testLinters: oder
eslint .pylint .
Selbst für Sprachen oder Transformationen, die nicht erstellt werden müssen, ist es sehr wichtig, einen Befehl bereitzustellen, der die Ergebnisse validiert und Probleme zurückgibt, wenn die Überprüfung fehlschlägt, um die Transformationsqualität zu verbessern.
Wenn kein Build oder keine Validierung erforderlich ist, lassen Sie ihn in Ihrer Eingabe weg.
Steuerung des Lernverhaltens
Standardmäßig extrahiert AWS Transform custom Lektionen aus jeder Transformationsausführung. Sie können das Lernen für bestimmte Ausführungen verhindern.
Um zu verhindern, dass aus einer Ausführung gelernt wird:
atx custom def exec -n my-transformation -p ./my-project -d
Das --do-not-learn Kennzeichen -d oder verhindert das Extrahieren von Lektionen aus der aktuellen Ausführung.
Konversationen werden wieder aufgenommen
AWS Mit „Benutzerdefiniert transformieren“ können Sie frühere Konversationen innerhalb von 30 Tagen nach der Erstellung wieder aufnehmen.
So setzen Sie die letzte Konversation fort:
atx --resume
Um eine bestimmte Konversation wieder aufzunehmen:
atx --conversation-id <conversation-id>
Wichtig
Konversationen können nur innerhalb von 30 Tagen nach der Erstellung wieder aufgenommen werden. Nach 30 Tagen kann die Konversation nicht mehr fortgesetzt werden.
Verfolgen von Agentenminuten
AWS Mit Transform Custom werden die während einer Transformationssitzung verbrauchten Agentenminuten
Agent minutes used: 12.50
Die Minuten der Agenten bleiben auch nach Unterbrechungen bestehen. Wenn Sie eine Sitzung mit Strg+C unterbrechen und später wieder aufnehmen, werden die zuvor gesammelten Minuten übernommen und sammeln sich weiterhin in der wiederaufgenommenen Sitzung an.
Gehen Sie wie folgt vor, um die Agentenminuten während einer interaktiven Sitzung zu überprüfen:
Geben Sie /usage an der Eingabeaufforderung ein, um die aktuell gesammelten Agentenminuten anzuzeigen, ohne die Konversation zu beenden.
So legen Sie ein Budgetlimit für Agentenminuten fest:
atx custom def exec -n my-transformation -p ./my-project --limit 30
Die --limit Option legt ein maximales Budget für Agentenminuten
⚠️ Budget limit reached: 30.00 / 30.00 Agent Minutes. Exiting.
Sie können die Konversation später mit einem erhöhten Limit fortsetzen:
atx --conversation-id <conversation_id> -t --limit <increased_limit>
Kontinuierliches Lernen
In diesem Abschnitt wird beschrieben, wie Sie die durch kontinuierliches Lernen entstandenen Lektionen überprüfen und verwalten können.
Lektionen verstehen
Das System für kontinuierliches Lernen extrahiert automatisch Lektionen aus früheren Durchläufen einer Transformation. Das System erstellt sie asynchron auf der Grundlage von:
Feedback der Entwickler wird im interaktiven Modus bereitgestellt
Bei Transformationen sind Codeprobleme aufgetreten
Die Lektionen häufen sich im Laufe der Zeit an, wenn Sie die Transformation über verschiedene Codebasen hinweg ausführen. Das System wendet sie automatisch an, um future Läufe zu verbessern. Jede Lektion gehört zu einer Kategorie, die alle Lektionen eines ähnlichen Bereichs enthält, sodass Sie verwandte Lektionen gemeinsam überprüfen können. Lektionen, die Sie nicht verwenden möchten, können Sie archivieren oder vollständig löschen.
Lektionen anzeigen und verwalten
Verwenden Sie den learnings Befehl, um eine interaktive Sitzung zum Durchsuchen und Verwalten der Lektionen einer Transformationsdefinition zu öffnen.
Um den Lektionen-Viewer zu öffnen:
atx custom def learnings -n my-transformation
Der Viewer öffnet sich mit einer Liste von Lektionskategorien, von denen jede zeigt, wie viele aktive Lektionen sie enthält. Wählen Sie eine Kategorie aus, um die zugehörigen Lektionen zu sehen, und wählen Sie dann eine Lektion aus, um alle Einzelheiten zu sehen, einschließlich des Hauptteils der Lektion, ihrer Auswirkungen und der Anzahl früherer Lektionen, in denen sie konsultiert wurde.
Lektionen archivieren und wiederherstellen
Das System wendet die Lektionen automatisch an. Wenn Sie nicht möchten, dass das System eine Lektion anwendet, können Sie sie archivieren. Das System behält archivierte Lektionen bei, wendet sie jedoch nicht auf future Läufe an. Alle archivierten Lektionen sind gruppiert, sodass Sie sie überprüfen und alle wieder aktiv verwenden können.
Lektionen löschen
Eine Lektion, die nicht nützlich ist, dauerhaft entfernen. Das Löschen kann nicht rückgängig gemacht werden, und das System kann eine gelöschte Lektion aus zukünftigen Läufen erneut lernen.
Eine Lektion muss archiviert werden, bevor sie gelöscht werden kann.
Erweiterte Konfiguration
In diesem Abschnitt werden erweiterte Funktionen und Konfigurationsoptionen für AWS Transform custom beschrieben.
Umgebungsvariablen
Sie können das CLI-Verhalten mithilfe von Umgebungsvariablen anpassen.
Anmerkung
Die folgenden Beispiele zeigen die Linux- und macOS-Syntax (export). Legen Sie unter Windows Umgebungsvariablen in PowerShell using fest$env:. Die entsprechenden Befehle finden Sie auf den Windows (PowerShell) -Tabs.NAME="value"
ATX_SHELL_TIMEOUT
Überschreibt das Standard-Timeout für Shell-Befehle (900 Minuten). seconds/15
Dies ist nützlich für große Codebasen oder lang andauernde Build-Prozesse.
ATX_DISABLE_UPDATE_CHECK
Deaktivieren Sie automatische Versionsprüfungen und Aktualisierungsbenachrichtigungen während der Befehlsausführung.
ATX_GIT_COMMITTER_NAME und ATX_GIT_COMMITTER_EMAIL
Konfigurieren Sie die Autorenidentität, die für die Checkpoint-Commits verwendet wird, die Transform custom in Ihrem Repository erstellt, wenn Änderungen während einer Transformation angewendet werden. AWS Wenn diese Variablen nicht gesetzt sind, werden Checkpoint-Commits einer Standardidentität () zugeordnet. ATX Bot <checkpoint@atx.bot> Legen Sie beide Variablen fest, um Checkpoints einem bestimmten Autor zuzuordnen.
Vertraue den Einstellungen
Mit den Vertrauenseinstellungen können Sie bestimmte Tools und Befehle vorab genehmigen, sodass sie ohne Aufforderung ausgeführt werden können. Sie können unabhängig von der Vertrauensstufe auch explizite Berechtigungen für bestimmte Shell-Befehle verlangen. Diese Einstellungen sind in der ~/.aws/atx/trust-settings.yaml Datei konfiguriert.
Die Datei enthält drei Listen:
trustedTools- Tools, die ohne Aufforderung ausgeführt werden könnentrustedShellCommands- Shell-Befehle, die ohne Aufforderung ausgeführt werden könnenalwaysPromptCommands- Shell-Befehlsmuster, für die eine ausdrückliche Genehmigung erforderlich ist, sofern sie nicht von ihnen überschrieben wirdtrustedShellCommands, unabhängig von der-tFlagge oder der Sitzungsvertrauensstellung. Diese Muster werden im nicht interaktiven Modus () nicht erzwungen.-x
Vertrauenswürdige Standardtools:
file_readget_transformation_from_registrylist_available_transformations_from_registry
Vertrauenseinstellungen bearbeiten:
Sie können die Datei trust-settings.yaml manuell bearbeiten, um vertrauenswürdige Tools und Befehle hinzuzufügen oder zu entfernen. Beide trustedShellCommands und unterstützen Glob-Platzhaltermuster unter Verwendung von. alwaysPromptCommands *
Anmerkung
Wenn ein Befehl beiden Listen entspricht, trustedShellCommands hat er Priorität.
Im Folgenden werden die einzelnen Befehlslisten beschrieben und es werden Beispiele bereitgestellt:
-
trustedShellCommands- Befehle, die diesen Mustern entsprechen, werden ohne Aufforderung ausgeführt und umgehen alle anderen Leitplanken. Muster werden mit der vollständigen Befehlszeichenfolge abgeglichen.Beispiele:
cd *- Entspricht zusammengesetzten Befehlen, die mit cd beginnen*&&*- Vertraut allen Befehlen mit dem Operator &&
-
alwaysPromptCommands- Befehle, die diesen Mustern entsprechen, erfordern eine ausdrückliche Genehmigung, sofern sie nicht von ihnen überschrieben werdentrustedShellCommands, unabhängig von der-tMarkierung oder der Sitzungsvertrauensstellung. Diese Muster werden im nicht interaktiven Modus () nicht erzwungen.-xIn zusammengesetzten Ausdrücken (&&,, Befehlsersetzungen) werden die Muster den einzelnen Unterbefehlen zugeordnet.||Beispiele:
rm -rf *- Fordert immer zu rekursiven Force-Delete-Befehlen aufsudo *- Fordert immer nach Befehlen auf, die mit Sudo ausgeführt werdenfind * -exec *- Fordert immer nach Suchbefehlen mit -exec
Session-level vertraue:
Bei interaktiven Eingabeaufforderungen können Sie wählen:
(y)es- Einmal ausführen(n)o- Ablehnen(t)rust- Nur für die aktuelle Sitzung vertrauen
Session-level Die Vertrauenseinstellungen sind temporär und werden beim Neustart der CLI zurückgesetzt. Sie bieten eine temporäre Genehmigung, ohne trust-settings.yaml dauerhaft zu ändern.
Anmerkung
Session Trust ist für Befehle, die Ihrer Liste entsprechen, nicht verfügbar. alwaysPromptCommands
Modellieren Sie Context Protocol (MCP) -Server
Die AWS Transform CLI unterstützt Model Context Protocol (MCP) -Server, die ihre Funktionalität um zusätzliche Tools erweitern.
Konfiguration:
Konfigurieren Sie MCP-Server in der ~/.aws/atx/mcp.json Datei. Die AWS Transform CLI unterstützt zwei Arten von MCP-Servern: lokale befehlsbasierte Server und Remote-HTTP-Server.
Lokale befehlsbasierte Server:
Lokale Server werden als untergeordnete Prozesse auf Ihrem Computer ausgeführt. Konfigurieren Sie sie mit der folgenden command Eigenschaft:
{ "mcpServers": { "my-local-server": { "command": "npx", "args": ["-y", "@example/mcp-server"] } } }
Remote-HTTP-Server:
Remoteserver stellen eine Verbindung zu MCP-Servern her, die unter einer HTTP- oder HTTPS-URL gehostet werden. Konfigurieren Sie sie mit der folgenden url Eigenschaft:
{ "mcpServers": { "my-remote-server": { "url": "https://api.example.com/mcp", "headers": { "Authorization": "Bearer ${MCP_API_TOKEN}" } } } }
Die headers Eigenschaft ist optional und unterstützt die Erweiterung von Umgebungsvariablen mithilfe von ${VAR_NAME} Syntax. Auf diese Weise können Sie sensible Werte wie API-Token in Umgebungsvariablen und nicht in der Konfigurationsdatei speichern.
Eigenschaften der Konfiguration:
Lokale befehlsbasierte Server unterstützen die folgenden Eigenschaften:
command(erforderlich) — Der Befehl zum Ausführen des Serversargs(optional) — Array von Befehlszeilenargumentenenv(optional) — Umgebungsvariablen, die an den Serverprozess übergeben werden
Remote-HTTP-Server unterstützen die folgenden Eigenschaften:
url(erforderlich) — Die HTTP- oder HTTPS-URL des Remote-MCP-Serversheaders(optional) — HTTP-Header, die in Anfragen aufgenommen werden sollen, mit Unterstützung für die Erweiterung von${VAR_NAME}Umgebungsvariablen
Verwaltung von MCP-Servern:
Liste der konfigurierten MCP-Server anzeigen:
atx mcp tools
Liste der verfügbaren Tools, die von einem bestimmten MCP-Server angeboten werden:
atx mcp tools --server <server-name>
Nachverfolgung der Nutzung:
Die CLI verfolgt automatisch die Nutzung des MCP-Tools während der Transformationsausführungen. Die Nutzungsstatistiken werden wie mcp_usage.json im Konversationsverzeichnis nebenstehend gespeichert. metadata.json In der Datei werden Metriken pro Tool für jede Ausführung aufgezeichnet, darunter:
Anzahl der Aufrufe pro Tool
Anzahl der Fehler pro Tool
Gesamtausführungszeit pro Tool
Details zum letzten Fehler (falls vorhanden)
Client-Side Fähigkeiten
Client-side Fähigkeiten sind zusätzliche Fähigkeiten, die den Agenten bei Transformationsausführungen erweitern. Sie ermöglichen es Ihnen, benutzerdefinierte Tools, Skripts und Anweisungen bereitzustellen, die der Agent zusätzlich zu seinen integrierten Funktionen verwenden kann.
Verzeichnisse zur Erkennung von Fähigkeiten:
Fähigkeiten werden in vier Verzeichnissen in der Reihenfolge ihrer Priorität erkannt. Wenn ein Skill mit demselben Namen in mehreren Verzeichnissen existiert, hat das erste Verzeichnis in der Liste Priorität:
<project>/.aws/atx/skills/- Project-level, AWS Transformieren CLI-specific<project>/.agents/skills/- Project-level, mandantenübergreifend (für alle kompatiblen Agent-Tools verfügbar)~/.aws/atx/skills/- User-level, Transformieren AWS CLI-specific~/.agents/skills/- User-level, mandantenübergreifend (für alle kompatiblen Agent-Tools verfügbar)
Die .aws/atx/skills/ Verzeichnisse sind spezifisch für die AWS Transform-CLI. Die .agents/skills/ Verzeichnisse sind mandantenübergreifend, was bedeutet, dass die dort platzierten Fähigkeiten für alle kompatiblen Agent-Tools außerhalb der AWS Transform-CLI verfügbar sind.
Struktur des Skill-Verzeichnisses:
Jeder Skill ist ein Verzeichnis, das eine SKILL.md Datei mit YAML-Frontmatter enthält:
~/.aws/atx/skills/ └── my-skill/ ├── SKILL.md # Required: frontmatter + instructions ├── references/ # Optional: reference docs the agent can read │ └── guide.md └── scripts/ # Optional: scripts the agent can execute └── validate.py
SKILL.md Format:
--- name: my-skill description: When to use this skill --- # Skill Title Instructions for the agent...
Das name Feld muss mit dem Namen des übergeordneten Verzeichnisses übereinstimmen.
Einen Skill deaktivieren:
Um zu verhindern, dass ein Skill geladen wird, ohne die zugehörigen Dateien disable-model-invocation: true zu entfernen, fügen Sie der Titelseite Folgendes hinzu:
--- name: my-skill description: When to use this skill disable-model-invocation: true ---
Wenn diese Eigenschaft festgelegt ist, überspringt die CLI den Skill bei der Erkennung. Der Agent kann den Skill nur sehen oder verwenden, wenn er in einer Transformationsdefinition ausdrücklich angewiesen wird, die Skill-Datei zu lesen. Verwenden Sie diese Option, um einen Skill vorübergehend zu deaktivieren, ihn als in Bearbeitung zu markieren oder Referenzmaterial aufzubewahren, das nur für menschliche Leser bestimmt ist.
Anmerkung
Die Dateien eines deaktivierten Skills verbleiben auf der Festplatte. Wenn eine Transformationsdefinition den Agenten anweist, einen bestimmten Dateipfad zu lesen, kann der Agent trotzdem auf den Inhalt zugreifen. Die disable-model-invocation Eigenschaft verhindert die automatische Erkennung und Kontext-Injection, nicht aber den Dateisystemzugriff.
Verfügbarkeit von Fähigkeiten nach Ausführungsmodus:
Exec-Modus (
atx custom def execmit--code-repository-path) — Findet Fähigkeiten sowohl aus Verzeichnissen auf Benutzer- als auch auf Projektebene.Interaktiver Modus (
atx) — Anfänglich werden nur Fähigkeiten auf Benutzerebene erkannt. Wenn Sie während der Sitzung einen Code-Repository-Pfad angeben, werden auch Skills auf Projektebene geladen.
Überprüfung der Erkennung von Fähigkeiten:
Überprüfe nach einem Lauf das Debug-Protokoll der CLI, um zu überprüfen, welche Skills entdeckt wurden:
Fähigkeiten, bei denen die Validierung fehlschlägt, werden mit einer Warnung in den Debug-Protokollen übersprungen.
Anmerkung
Client-side Fähigkeiten erfordern CLI Version 2.0 oder höher.
Wahl zwischen Project-Level und User-Level Fähigkeiten
Wo du eine Fähigkeit platzierst, bestimmt, wem sie zugute kommt und wann sie aktiviert wird.
Project-level Fähigkeiten (<project>/.aws/atx/skills/):
Übergeben Sie diese der Versionskontrolle, sodass jedes Teammitglied, das Transformationen gegen das Repository durchführt, sie automatisch erkennt. Nutzen Sie Fähigkeiten auf Projektebene für:
Repository-specific Konformitätsprüfungen (Dockerfile-Regeln, Terraform-Richtlinien, Validatoren für die Migrationssicherheit)
Kodierungsstandards der Organisation, die für diese Codebasis gelten (Beobachtbarkeitsmuster, Fehlerbehandlung, Namenskonventionen)
Erstellen oder testen Sie Skripte, die für das Projekt spezifisch sind (benutzerdefinierte Linter, Architektur-Fitnessfunktionen)
API-Migrationsleitfäden für interne Bibliotheken, die in diesem Repository verwendet werden
User-level Fähigkeiten (~/.aws/atx/skills/):
Diese verbleiben auf Ihrem Computer und werden bei allen Transformationen aktiviert, unabhängig davon, auf welches Repository Sie abzielen. Nutzen Sie Fähigkeiten auf Benutzerebene für:
Tools für persönliche Workflows (Changelog-Generatoren, Commit-Nachrichtenformatierer)
Cross-project Präferenzen (bevorzugte Testmuster, Erinnerungen im Stil der Dokumentation)
Prüfungen zur Einhaltung der Lizenzbestimmungen, die Ihr Unternehmen für alle Repositorys benötigt
Deckungsschwellen oder Quality Gates, die Sie für jede Codebasis, mit der Sie arbeiten, durchsetzen
Tipps für effektive Fähigkeiten:
Schreiben Sie klare
descriptionFelder in IhreSKILL.mdTitelseite. Der Agent verwendet dieses Feld, um zu entscheiden, wann eine Fähigkeit relevant ist.Beendet die Validierungsskripten bei Erfolg mit dem Code 0 und bei einem Fehler ungleich Null. Der Agent interpretiert Exit-Codes, um festzustellen, ob die Vorschriften eingehalten werden.
Druckt klare, umsetzbare Fehlermeldungen in Skripten. Der Agent liest die Ausgabe, um zu verstehen, was behoben werden muss.
Platzieren Sie Fähigkeiten auf beiden Ebenen im mandantenübergreifenden Verzeichnis (
.agents/skills/), um sie mit anderen KI-Entwicklungstools außerhalb der AWS Transform-CLI zu teilen.
Client-Side Beispiele für Fähigkeiten
Diese Beispiele zeigen zwei gängige Muster: eine skriptbasierte Validierungsfähigkeit und eine Fähigkeit, die nur als Referenz dient.
Beispiel: Dockerfile Compliance Checker () Script-Based
Dieser Skill validiert Dockerfiles anhand von bewährten Sicherheits- und Betriebspraktiken. Es verwendet ein Überprüfungsskript, das der Agent vor und nach Änderungen ausführt.
Verzeichnisstruktur:
.aws/atx/skills/ └── dockerfile-compliance/ ├── SKILL.md ├── scripts/ │ └── lint_dockerfile.sh └── references/ └── dockerfile-best-practices.md
SKILL.md:
--- name: dockerfile-compliance description: Validates Dockerfiles against security and operational best practices --- # Dockerfile Compliance Checker When a transformation creates or modifies Dockerfiles, run the compliance checker. ## When to use - After creating a new Dockerfile - After modifying FROM, RUN, USER, or EXPOSE directives - When containerizing an application as part of a transformation ## How to use Run: `bash scripts/lint_dockerfile.sh <path-to-Dockerfile>` If violations are found, consult `references/dockerfile-best-practices.md` for compliant patterns.
Das Validierungsskript sucht nach unverankerten Basis-Image-Tags, die als Root-Benutzer ausgeführt werden, nach fest codierten Geheimnissen in ENV Direktiven und nach fehlenden Definitionen. HEALTHCHECK Der Agent führt das Skript aus, behebt Verstöße anhand von Mustern aus der Referenzdatei und führt das Skript erneut aus, um die Einhaltung der Vorschriften zu bestätigen.
Beispiel: API Deprecation Helper () Reference-Only
Dieser Skill führt den Agenten durch das Ersetzen veralteter API-Aufrufe bei Upgrade-Transformationen. Es werden nur Referenzdateien ohne Skripte verwendet.
Verzeichnisstruktur:
.aws/atx/skills/ └── api-deprecation-helper/ ├── SKILL.md └── references/ ├── aws-sdk-v2-to-v3.md └── react-class-to-hooks.md
SKILL.md:
--- name: api-deprecation-helper description: Guides the agent through replacing deprecated API calls with modern equivalents --- # API Deprecation Helper When performing upgrade transformations, use this skill to identify and replace deprecated API calls with their modern equivalents. ## When to use - During any version upgrade transformation - When build warnings mention deprecated APIs - When transforming code that uses legacy patterns ## Process 1. Identify deprecated API calls in the codebase 2. For each deprecated call, find the replacement in `references/` 3. Apply the replacement, preserving the original behavior 4. Verify the replacement compiles and tests pass
Die Referenzdateien enthalten Vorher-Nachher-Codebeispiele. Ordnet beispielsweise aws-sdk-v2-to-v3.md Muster wie das modulare V3-Äquivalent mit und s3.putObject(params).promise() zu. S3Client PutObjectCommand
Schlagworte und Organisation
Sie können Transformationen mit Tags für die Zugriffskontrolle und Kategorisierung organisieren.
Anmerkung
Einige dieser Befehle erfordern die Angabe des Amazon-Ressourcennamens (ARN) für eine Transformationsdefinition. Die ARN-Struktur ist: arn:aws:transform-custom:<region>:<account-id>:package/<td-name>
Um Tags für eine Transformation aufzulisten:
atx custom def list-tags --arn <transformation-arn>
Um Tags zu einer Transformation hinzuzufügen:
atx custom def tag --arn <transformation-arn> --tags '{"env":"prod","team":"backend"}'
Um Tags aus einer Transformation zu entfernen:
atx custom def untag --arn <transformation-arn> --tag-keys "env,team"
Tags können für die gruppierte Zugriffskontrolle in IAM-Richtlinien verwendet werden. Sie können Richtlinien erstellen, die allen Transformationen mit bestimmten Tags (z. B. allen Transformationen, die mit team:frontend oder gekennzeichnet sind) Berechtigungen gewähren. environment:production
Protokolle
AWS Transform CLI verwaltet drei Arten von Protokollen zur Fehlerbehebung und zum Debuggen.
Konversationsprotokolle:
Diese Protokolle enthalten den vollständigen Konversationsverlauf für eine bestimmte Sitzung.
Subagent-Protokolle:
Diese Protokolle enthalten Ausgaben von Subagenten, die der Haupt-Agent bei Transformationen erzeugt. Sie müssen Subagenten nicht direkt verwalten.
Debug-Protokolle für Entwickler:
Diese Protokolle enthalten erweiterte Informationen zur Fehlerbehebung für die CLI selbst.
Anmerkung
Im Protokollverzeichnis befinden sich möglicherweise mehrere Debug-Protokolldateien (d. h. debug1.log, debug2.log). Überprüfen Sie alle relevanten Protokolle und stellen Sie sie bereit, z. B. ~/. aws/atx/custom/ /* und <conversation-id>~/. aws/atx/logs/ *, wenn Support-Tickets geöffnet werden, um die Problemlösung zu beschleunigen.
CLI-Aktualisierungen
Halten Sie Ihre CLI auf dem neuesten Stand, um auf neue Funktionen und Verbesserungen zugreifen zu können.
Um nach Updates zu suchen:
atx update --check
Um auf die neueste Version zu aktualisieren:
atx update
Um auf eine bestimmte Version zu aktualisieren:
atx update --target-version <version>
Erstellen Sie benutzerdefinierte Transformationen
In diesem Abschnitt wird beschrieben, wie Sie benutzerdefinierte Transformationsdefinitionen erstellen, ändern und verwalten.
Eine neue Transformation erstellen
Verwenden Sie die interaktive CLI, um eine neue Transformationsdefinition zu erstellen.
Um eine Transformationsdefinition zu erstellen
Starten Sie die AWS Transform-CLI:
atxTeilen Sie dem Agenten mit, dass Sie eine neue Transformation erstellen möchten.
Geben Sie eine klare, detaillierte Beschreibung des Transformationsziels an. Beinhaltet:
Der Quell- und Zielstatus (z. B. „Upgrade von Version X auf Version Y“)
Spezifische Änderungen erforderlich (z. B. „Importanweisungen aktualisieren, veraltete Methoden ersetzen“)
Irgendwelche besonderen Überlegungen oder Einschränkungen
Wenn der Mitarbeiter um Erläuterungen oder zusätzliche Informationen bittet, geben Sie konkrete Beispiele und Referenzmaterialien an.
Überprüfen Sie die ursprüngliche Transformationsdefinition, die vom Agenten erstellt wurde.
Testen Sie die Transformation an einer Beispielcodebasis.
Iterieren Sie, indem Sie Feedback, Codekorrekturen oder zusätzliche Beispiele bereitstellen.
Speichern Sie die Transformation lokal oder veröffentlichen Sie sie in der Registrierung.
Bewährte Methoden für die Erstellung von Transformationen:
Beginnen Sie mit einfachen, klar definierten Transformationen, bevor Sie komplexe versuchen
Stellen Sie umfassende Referenzmaterialien bereit, einschließlich Migrationsleitfäden und Codebeispielen
Testen Sie vor der Veröffentlichung an mehreren Beispielcodebasen
Verwenden Sie deterministische Build- oder Validierungsbefehle, um kontinuierliches Lernen zu ermöglichen
Erwägen Sie, komplexe Transformationen in mehrere kleinere Schritte zu unterteilen
Markieren Sie wichtige Informationen in Ihren Transformationsdefinitionen mit „KRITISCH:“ oder „WICHTIG:“, um sicherzustellen, dass der Agent diese Anforderungen priorisiert
Wenn Sie genaue Anforderungen erfüllen müssen (z. B. die Verwendung eines bestimmten Befehls oder Zeichenfolgenwerts), geben Sie die vollständige Zeichenfolge explizit in Ihren Transformationsdefinitionen an. Sie können diese in Bash-Anführungszeichen setzen, um deutlich darauf hinzuweisen, dass es sich um Terminalbefehle oder buchstäbliche Zeichenketten handelt, wodurch die Variabilität reduziert und eine konsistente Ausführung gewährleistet wird
Bereitstellung von Referenzmaterial
Sie können Referenzdateien für AWS Transform custom bereitstellen, indem Sie während der Konversation Dateipfade angeben. Diese Dateien werden im references/ Ordner der Transformationsdefinition gespeichert.
Empfohlene Typen von Referenzdateien:
Before/after Beispielcode
Dokumentation für die beteiligten APIs, Bibliotheken oder Funktionen
Human-readable Anleitungen zur Migration
Um eine Referenzdatei bereitzustellen:
Take a look at the documentation here: /path/to/migration-guide.md
Sie können auch ein Verzeichnis angeben, das mehrere Referenzdateien enthält:
Take a look at the docs we have here: /path/to/docs/
Anmerkung
Nur textbasierte Dateien (.md, .html, .txt, Codedateien) werden unterstützt. Binärdateien, Bilder und Rich-Text-Dateien (z. B. .pdf, .png, .docx) werden derzeit nicht unterstützt. Es ist oft möglich, den Textinhalt zu extrahieren und ihn als Referenz zu verwenden. Wenn Sie viele kleine Textdateien haben, sollten Sie erwägen, sie zu wenigen Dateien mit beschreibendem Namen zu verketten. Es gibt ein Limit von insgesamt 10 MB für alle Dateien.
Ändern einer vorhandenen Transformation
Sie können benutzerdefinierte Transformationen sowohl vor als auch nach dem Speichern als Entwürfe oder nach dem Veröffentlichen ändern. Sie können AWS-verwaltete Transformationen nicht ändern. Wenn Sie sie anpassen müssen, können Sie mithilfe der Konfigurationsdatei zusätzlichen Kontext bereitstellen.
Um eine bestehende Transformation zu ändern
Starten Sie die AWS Transform-CLI:
atxTeilen Sie dem Agenten mit, dass Sie eine bestehende Transformation ändern möchten.
Wählen Sie, ob Sie:
Geben Sie einen Dateipfad zu einer lokal gespeicherten Transformation an (d. h. nicht zu einem gespeicherten oder veröffentlichten Entwurf)
Fordern Sie die Liste der Transformationen von der Registrierung an
Wenn Sie aus der Registrierung wählen, wählen Sie die Transformation aus, die Sie ändern möchten.
Beschreiben Sie gemeinsam mit dem Agenten die Änderungen, die Sie vornehmen möchten.
Testen Sie die aktualisierte Transformation an einer Beispielcodebasis.
Veröffentlichen Sie Ihre Aktualisierungen bei Bedarf in der Registrierung.
Transformationen veröffentlichen und verwalten
Sie können Ihre Transformationen mithilfe der interaktiven Benutzeroberfläche oder mit den folgenden Befehlen veröffentlichen und verwalten.
Um eine Transformation als Entwurf zu speichern:
atx custom def save-draft -n my-transformation --description "Description of the transformation" --sd ./transformation-directory
Um eine Transformation zu veröffentlichen:
atx custom def publish -n my-transformation --description "Description of the transformation" --sd ./transformation-directory
Um verfügbare Transformationen aufzulisten:
atx custom def list
Um eine Transformationsdefinition herunterzuladen:
atx custom def get -n my-transformation
Dadurch wird die Transformationsdefinition in Ihr aktuelles Arbeitsverzeichnis heruntergeladen. Sie können ein Zielverzeichnis mit dem --td Flag und eine Version mit dem --tv Flag angeben.
Um eine Transformationsdefinition zu löschen:
atx custom def delete -n my-transformation
Wichtig
Dadurch wird die angegebene Transformationsdefinition dauerhaft aus Ihrem Konto gelöscht.
Transformationsversionen verwalten
AWS Transform Custom verwaltet Versionen Ihrer Transformationsdefinitionen. Sie können eine Version angeben, wenn Sie eine Transformation ausführen oder herunterladen.
Um eine bestimmte Version auszuführen:
atx custom def exec -n my-transformation --tv v1 -p ./my-project
Um eine bestimmte Version herunterzuladen:
atx custom def get -n my-transformation --tv v1
Wenn keine Version angegeben ist, wird die neueste Version verwendet.