PrOMPTR ist ein CLI -Tool, mit dem Sie mit einfachem Englisch OpenAI -LLM -Modelle anweisen können, um Änderungen an Ihrer Codebasis vorzunehmen. Änderungen werden direkt auf die Dateien angewendet, auf die Sie aus Ihrer Eingabeaufforderung verweisen.
promptr [options] -p "your instructions" <file1> <file2> <file3> ...
Ich habe festgestellt, dass dies ein guter Workflow ist:
-p an: promptr -p my_prompt.txtPrOMPTR wendet den Code des Modells direkt auf Ihre Dateien an. Verwenden Sie Ihre bevorzugte GIT -Benutzeroberfläche, um die Ergebnisse zu inspizieren.
Die folgenden PRs sind gute Beispiele für das, was mit PrOMPTR erreicht werden kann. Sie können Links zu den einzelnen Commits und den Eingabeaufforderungen finden, die sie in den PR -Beschreibungen erstellt haben.
PrOMPTR unterstützt Templating mit FlipJS, mit der Benutzer Templating -Befehle in ihre Eingabedateien einbeziehen können. Diese Funktion verbessert die Flexibilität und Wiederverwendbarkeit von Eingabeaufforderungen, insbesondere wenn sie an größeren Projekten mit sich wiederholenden Mustern oder Standards arbeiten.
Projekte können einen oder mehrere "umfassen" - respektierbare Ausschnitte aus Code oder Anweisungen -, die aus einer Eingabeaufforderung Datei enthalten sein können. Dazu gehören projektspezifische Standards, Anweisungen oder Codemuster, mit denen Benutzer die Konsistenz über ihre Codebasis hinweg aufrechterhalten können.
Beispielsweise haben Sie möglicherweise eine inklusive Datei mit dem Namen _poject.liquid mit dem folgenden Inhalt:
This project uses Node version 18.
Use yarn for dependency management.
Use import not require in Javascript.
Don't include `module.exports` at the bottom of Javascript classes.
Alphabetize method names and variable declarations. In Ihrer Eingabeaufforderung können Sie die render von LiquidJS verwenden, um diese Datei in eine Eingabeaufforderungsdatei einzubeziehen, mit der Sie arbeiten:
{% render '_project.liquid' %}
// your prompt hereDieser Ansatz ermöglicht die Entwicklung wiederverwendbarer Einschlüssedateien, die über mehrere Projekte oder in verschiedenen Teilen desselben Projekts teilgenommen werden können.
Projektweite Codierungsstandards : Erstellen Sie eine inklusive Datei mit Kommentaren, die Codierungsstandards beschreiben, und in jede neue Codedatei für das Projekt einbeziehen.
Boilerplate -Code : Entwickeln Sie einen Satz von Boilerplate -Code -Snippets für verschiedene Teile der Anwendung (z. B. Modelldefinitionen, API -Endpunkte) und schließen Sie sie nach Bedarf ein.
Freigegebene Anweisungen : Verwalten Sie eine Reihe von Anweisungen oder Richtlinien für bestimmte Aufgaben (z. B. wie dokumentieren Sie Funktionen) und fügen Sie sie in relevante Eingabedateien ein.
Durch die Nutzung der Templating -Funktion können schnelle Ingenieure die Redundanz erheblich reduzieren und eine Konsistenz bei der Erstellung von sofortiger Erstellung gewährleisten, was zu effizienteren und standardisierten Änderungen an der Codebasis führt.
| Option | Beschreibung |
|---|---|
-p, --prompt <prompt> | Gibt die Eingabeaufforderung an, im nicht interaktiven Modus zu verwenden. Ein Pfad oder eine URL kann auch angegeben werden - in diesem Fall wird der Inhalt am angegebenen Pfad oder der URL als Aufforderung verwendet. Die Eingabeaufforderung kann das LiquidJS -Templating -System nutzen. |
-m, --model <model> | Optionales Flag Um das Modell einzustellen, standardmäßig auf gpt-4o . Mit dem Wert "GPT3" wird das gpt-3.5-turbo Modell verwendet. |
-d, --dry-run | Optionales boolescher Flag, mit dem das Werkzeug im Trockenrunmodus ausgeführt werden kann, in dem nur die Eingabeaufforderung an das Modell angezeigt wird. Es werden keine Änderungen an Ihrem Dateisystem vorgenommen, wenn diese Option verwendet wird. |
-i, --interactive | Optionales boolescher Flag, der den interaktiven Modus ermöglicht, in dem der Benutzer interaktiv Eingaben bereitstellen kann. Wenn dieses Flag nicht festgelegt ist, wird das Tool im nicht-interaktiven Modus ausgeführt. |
| `-t, -Template <templateName | TemplatePath |
-x | Optionale Boolesche Flagge. ProMPTR analysiert die Antwort des Modells und wendet die resultierenden Vorgänge in Ihrem Dateisystem an, wenn die Standardvorlage verwendet wird. Sie müssen das -x -Flag nur übergeben, wenn Sie Ihre eigene Vorlage erstellt haben, und Sie möchten, dass ProMPTR die Ausgabe auf die gleiche Weise analysiert und anwendet, wie die in der integrierte in "Refactor" -Schabeltausgabe ausgegeben wird und auf Ihr Dateisystem angewendet wird. |
-o, --output-path <outputPath> | Optionales Zeichenfolgenflag, das den Pfad zur Ausgabedatei angibt. Wenn dieses Flag nicht festgelegt ist, wird die Ausgabe auf STDOut gedruckt. |
-v, --verbose | Optionales Boolesche Flag, das die ausführliche Ausgabe ermöglicht und detailliertere Informationen während der Ausführung liefert. |
-dac, --disable-auto-context | Verhindert Dateien, auf die in der Eingabeaufforderung verwiesen wird, wird automatisch in den an das Modell gesendeten Kontext enthalten. |
--version | Zeigen Sie die Version an und beenden Sie |
Zusätzliche Parameter können die Pfade zu Dateien angeben, die in der Eingabeaufforderung als Kontext enthalten sind. Die Parameter sollten durch einen Raum getrennt werden.
yarn global add @ifnotnowwhen/promptr
npm install -g @ifnotnowwhen/promptr
Sie können ProMPTR installieren, indem Sie die Binärdatei für die aktuelle Version auf Ihren Pfad kopieren. Im Moment wird nur MacOS unterstützt.
Es wird erwartet, dass eine Umgebungsvariable namens OPENAI_API_KEY Ihren OpenAI -API -Geheimschlüssel enthält.
npm run bundle
npm run build:<platform win|macos|linux>
npm run test-binary
PrOMPTR wird unter der MIT -Lizenz veröffentlicht.